[Correction PHP] Un IF un peu long...
Résolu/Fermé
geogeolharicot
-
Modifié par geogeolharicot le 13/06/2010 à 10:44
geogeolharicot - 13 juin 2010 à 16:58
geogeolharicot - 13 juin 2010 à 16:58
A voir également:
- [Correction PHP] Un IF un peu long...
- Pc long a demarrer - Guide
- Easy php - Télécharger - Divers Web & Internet
- Telecharger clavier français avec correction - Télécharger - Divers Utilitaires
- Correction orthographe - Guide
- Mode correction word - Guide
5 réponses
if (isset($_GET['nom']) AND (isset($_GET['prenom'])) AND (isset($_GET['repete'])) AND (isset($_GET['repetition'])) AND (strlen($_GET['prenom'] <= 15)) AND (strlen($_GET['nom'] <= 20)) AND (strlen($_GET['repete'] <= 30)) AND ($_GET['repetition'] < 100)){
Essaye ça
louloute300
Messages postés
335
Date d'inscription
jeudi 3 juin 2010
Statut
Membre
Dernière intervention
28 novembre 2012
29
13 juin 2010 à 12:14
13 juin 2010 à 12:14
if ((isset($_GET['nom'])) AND (isset($_GET['prenom'])) AND (isset($_GET['repete'])) AND (isset($_GET['repetition'])) AND (strlen($_GET['prenom'] <= 15)) AND (strlen($_GET['nom'] <= 20)) AND (strlen($_GET['repete'] <= 30)) AND ($_GET['repetition'] < 100) )
{
essaye ca
Parenthèses entourant toutes les conditions du IF
{
essaye ca
Parenthèses entourant toutes les conditions du IF
Merci beaucoup !
En effet, j'ai oublié un truc fondamental !
Je vous remercie beaucoup, et puis je vais résoudre aussi la boucle à répeter, en effet : celle-ci est infinie !
En effet, j'ai oublié un truc fondamental !
Je vous remercie beaucoup, et puis je vais résoudre aussi la boucle à répeter, en effet : celle-ci est infinie !
Donc voilà ! Le code va déjà mieux !
Mais il y a un problème auquel je ne peux résoudre.
Lorsque je lance la page, je veux que le div affiche "Ici s'affichera vos coordonnées", mais le PHP me signale que aucune valeur $_GET['nom'] n'existe. Logique puisqu'elle n'a pas étée crée...
A moins de faire ce script sur deux pages ( ce qui était mon contre-objectif ), je ne vois pas la solution... Ce n'est pas génant pour le reste du script, mais le visiteur a à se demmander...
Merci d'avance !
Mais il y a un problème auquel je ne peux résoudre.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> <head> <title>Page de test de fonctions ameliorée</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> </head> <body> <h2>Bienvenue sur cette page de fonctions !</h2> <p>Nous allons ici tester quelques fonctions. Par exemple :</p> <h3>> Un script qui donne nous dit votre nom et votre prénom !</h3> <div style="border: dashed 2px blue"><?php if ( (null != $_POST['nom']) AND (null != $_POST['prenom']) AND (null != $_POST['repete']) AND (null != $_POST['repetition']) AND (strlen($_POST['prenom'] <= 15)) AND (strlen($_POST['nom'] <= 20)) AND (strlen($_POST['repete'] <= 30)) AND ($_POST['repetition'] < 100) ) { echo '<p><strong>Voilà vos informations !</strong></p><table><thead><tr><th>Information</th><th>Valeur</th></tr></thead><tbody><tr><td><em>Prenom :</em></td><td>'.strip_tags($_POST['prenom']).'<td/></tr><tr><td><em>Nom :</em></td><td>'.strip_tags($_POST['nom']).'<td/></tr></tbody></table><p><strong>Voilà le texte que vous vouliez répéter !</strong><br />'; for ( $r = 1 ; $r <= $_POST['repetition'] ; $r++) { echo '(n°'.$r.') '.strip_tags($_POST['repete']).'<br />'; } } elseif ( (isset($_POST['nom'])) OR (isset($_POST['prenom'])) OR (isset($_POST['repete'])) OR (isset($_POST['repetition'])) ) { echo 'Vous avez probablement oublié un champ ou un champ est faussé. Réessayez.'; } else { echo 'Ici s\'affichera vos coordonnées'; } ?></div> <form method="post" action="index.php"><fieldset><legend>Esssayez !</legend> <label for="prenom">Entrez votre prénom : </label><br/><input type="text" id="prenom" name="prenom" maxlength="15" /><br /> <label for="nom">Entrez votre nom : </label><br/><input type="text" id="nom" name="nom" maxlength="20" /><br /> <label for="repete">Entrez une texte à répeter : </label><br/><textarea type="text" id="repete" name="repete" maxlength="300"></textarea><br /> <label for="repetition">Entrez le nombre de fois où la valeur doit etre répétée : </label><br/><input type="text" id="repetition" name="repetition" maxlength="2" /><br /><br /> <input type="submit" /><input type="reset" /> </fieldset></form> </body></html>
Lorsque je lance la page, je veux que le div affiche "Ici s'affichera vos coordonnées", mais le PHP me signale que aucune valeur $_GET['nom'] n'existe. Logique puisqu'elle n'a pas étée crée...
A moins de faire ce script sur deux pages ( ce qui était mon contre-objectif ), je ne vois pas la solution... Ce n'est pas génant pour le reste du script, mais le visiteur a à se demmander...
Merci d'avance !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Finalement j'ai trouvé tout seul !
Il ne faut pas verifier de variable qui n'existe pas sauf avec isset.
Si un if n'est pas retenu, son contenu n'est pas exploré, donc ca marche !
Voilà, si ca peut aider quelqu'un !
Au revoir !
Il ne faut pas verifier de variable qui n'existe pas sauf avec isset.
Si un if n'est pas retenu, son contenu n'est pas exploré, donc ca marche !
<h3>> Un script qui donne nous dit votre nom et votre prénom !</h3> <div style="border: dashed 2px blue; overflow: hidden;"><?php if ( (isset($_POST['nom'])) OR (isset($_POST['prenom'])) OR (isset($_POST['repete'])) OR (isset($_POST['repetition'])) ) { if ( (null != $_POST['nom']) AND (null != $_POST['prenom']) AND (null != $_POST['repete']) AND (null != $_POST['repetition']) AND (strlen($_POST['prenom'] <= 15)) AND (strlen($_POST['nom'] <= 20)) AND (strlen($_POST['repete'] <= 300)) AND ($_POST['repetition'] < 100) ) { echo '<p><strong>Voilà vos informations !</strong></p><table><thead><tr><th>Information</th><th>Valeur</th></tr></thead><tbody><tr><td><em>Prenom :</em></td><td>'.strip_tags($_POST['prenom']).'<td/></tr><tr><td><em>Nom :</em></td><td>'.strip_tags($_POST['nom']).'<td/></tr></tbody></table><p><strong>Voilà le texte que vous vouliez répéter !</strong><br />'; for ( $r = 1 ; $r <= $_POST['repetition'] ; $r++) { echo '(n°'.$r.') '.strip_tags($_POST['repete']).'<br />'; } } else { echo 'Vous avez probablement oublié un champ ou un champ est faussé. Réessayez.'; } } else { echo 'Ici s\'afficheront vos coordonnées'; } ?></div> <form method="post" action="index.php"><fieldset><legend>Esssayez !</legend> <label for="prenom">Entrez votre prénom : </label><br/><input type="text" id="prenom" name="prenom" maxlength="15" /><br /> <label for="nom">Entrez votre nom : </label><br/><input type="text" id="nom" name="nom" maxlength="20" /><br /> <label for="repete">Entrez une texte à répeter : </label><br/><textarea type="text" id="repete" name="repete" maxlength="300"></textarea><br /> <label for="repetition">Entrez le nombre de fois où la valeur doit etre répétée : </label><br/><input type="text" id="repetition" name="repetition" maxlength="2" /><br /><br /> <input type="submit" /><input type="reset" /> </fieldset></form>
Voilà, si ca peut aider quelqu'un !
Au revoir !