[Correction PHP] Un IF un peu long...
Résolu
geogeolharicot
-
geogeolharicot -
geogeolharicot -
Bonjour !
Je débute en PHP avec un tutoriel pour les débutants. Mais, comme j'ai vraiment hâte de savoir programmer en PHP, je crois que j'ai sauté pas mal de trucs... Je me suis dit que je ferait bien de faire un petit exercice de remémoration. Mais bon, il fallait s'y attendre, ca foire... J'ai beau éplucher tout le script aussi grand qu'il est, je ne trouve pas d'où vient l'erreur.
Ça me fait "Parse Error" à la ligne 12, la ligne du grand IF.
Merci de m'aider à trouver l'erreur (les) !
Je débute en PHP avec un tutoriel pour les débutants. Mais, comme j'ai vraiment hâte de savoir programmer en PHP, je crois que j'ai sauté pas mal de trucs... Je me suis dit que je ferait bien de faire un petit exercice de remémoration. Mais bon, il fallait s'y attendre, ca foire... J'ai beau éplucher tout le script aussi grand qu'il est, je ne trouve pas d'où vient l'erreur.
<!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 (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) { 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>'.$_GET['prenom'].'<td/></tr><tr><td><em>Nom :</em></td><td>'.$_GET['nom'].'<td/></tr></tbody></table><p><strong>Voilà la phrase que vous vouliez répéter !</strong>'; for ($r = $r = 0 ; $_GET['repetition'] ; $r++) { echo $_GET['repete'].'<br />'; } } elseif (isset($_GET['nom'])) OR (isset($_GET['prenom'])) OR (isset($_GET['repete'])) OR (isset($_GET['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="get" action="index.php"><fieldset><legend>Esssayez !</legend> <label for="prenom">Entrez votre nom : </label><input type="text" id="prenom" name="prenom" maxlength="15" /><br /> <label for="nom">Entrez votre nom : </label><input type="text" id="nom" name="nom" maxlength="20" /><br /> <label for="repete">Entrez une phrase à répeter : </label><input type="text" id="repete" name="repete" maxlength="30" /><br /> <label for="repetition">Entrez le nombre de fois où la valeur doit etre répétée : </label><input type="text" id="repetition" name="repetition" maxlength="2" /><br /><br /> <input type="submit" /><input type="reset" /> </fieldset></form> </body></html>
Ça me fait "Parse Error" à la ligne 12, la ligne du grand IF.
Merci de m'aider à trouver l'erreur (les) !
A voir également:
- [Correction PHP] Un IF un peu long...
- Pc long a demarrer - Guide
- Easy php - Télécharger - Divers Web & Internet
- Activer correction automatique android - Guide
- Telecharger clavier français avec correction - Télécharger - Divers Utilitaires
- Le correcteur automatique de votre smartphone vous rend fou ? Voici comment le désactiver - Accueil - Mobile
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
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 !