[RESOLU] captcha

Petit nouveau ! | 3 Messages

15 juin 2016, 19:18

Bonjour,

J'ai un parse erreur sur script "traitement.php" si vous avez une idée.... merci par avance.


<?php

session_start();

?>

<!DOCTYPE html>

<html lang="fr">
<head>
<meta charset="utf-8">
<title>captcha</title>
</head>
<body>
<?php
if($_POST['captcha'])[

if ($_POST['captcha']==$_SESSION['captcha'])

echo 'Code captcha correct! <a href="/index.php">OK</a>';

else echo 'Le captcha rentré est invalide ! <a href="/index.php">Recommencez</a>';

]
?>

</body>


</html>


resultat sur mon wamp:


! ) Parse error: syntax error, unexpected 'if' (T_IF), expecting ']' in C:\wamp\www\cours formulaire et captcha\verification.php on line 18

c grave docteur?

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

15 juin 2016, 20:29

Bonjour,

Le message d'erreur te dis explicitement que tu as une erreur de syntaxe à la ligne 18 en t'indiquant même que c'est un problème de crochet...
As tu vérifié la syntaxe du if...else... en PHP ?
Quand tout le reste a échoué, lisez le mode d'emploi...

Petit nouveau ! | 3 Messages

15 juin 2016, 20:57

oui j'ai changé les [ par ( et if par elseif mais KO ça ne fonctionne pas

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

15 juin 2016, 22:21

oui j'ai changé les [ par ( et if par elseif mais KO ça ne fonctionne pas
Revérifie dans la doc la bonne syntaxe car j'ai l'impression que tu bidouilles un peu au hasard là :
https://www.google.fr/search?q=php+if+else
Quand tout le reste a échoué, lisez le mode d'emploi...

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

16 juin 2016, 08:48

salut,

la doc officielle du if http://php.net/manual/fr/control-structures.if.php
else : http://php.net/manual/fr/control-structures.else.php
else if http://php.net/manual/fr/control-structures.elseif.php

tu trouveras tout le reste de la syntaxe dans le menu sur la droite ;)


@+
Il en faut peu pour être heureux ......

Eléphant du PHP | 337 Messages

16 juin 2016, 10:23

if($_POST['captcha'])
{
	if ($_POST['captcha'] == $_SESSION['captcha'])
	{
		echo 'Code captcha correct! <a href="index.php">OK</a>';
	}
	else
	{
		echo 'Le captcha rentré est invalide ! <a href="index.php">Recommencez</a>';
	}
}
Ce ne sont pas des crochets [ ... ] qui définissent le début et la fin des blocs d'instructions, mais des accolades : { ... }
Et tu devrais indenter ton code, tu y verrais plus clair.
Et aussi lire les liens donnés par @rthur et moogli :wink:

Petit nouveau ! | 3 Messages

16 juin 2016, 21:12

Merci à tous les 3, ça ronfle !!!

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

17 juin 2016, 09:47

Modération :
Si ta question est résolue, pense à l'indiquer pour que les futures personnes qui voudront consulter ce sujet sachent qu'il contient une solution.
Tu peux réaliser cette opération toi-même en cliquant sur le bouton "Résolu" situé en haut de la page.


PS : je le fait pour toi cette fois ;)
Il en faut peu pour être heureux ......