renvoi après vérification

biracp
Invité n'ayant pas de compte PHPfrance

21 févr. 2010, 16:38

Bonjour
étant débutant en php, j'essaie de faire un formulaire de contact. Jusque là tout va bien. J'intègre ensuite un code de vérification anti spam, jusque là tout va bien. Dans mon action, je pointe bien vers mon fichier verification.php et .. c'est là que je bloque un peu. Mon fichier verification.php est concu ainsi :
<?php
$cryptinstall="./cryptographp.fct.php";
include $cryptinstall;
?>


<html>
<?php
if (chk_crypt($_POST['code']))
echo "<a href=""\"formmail.php""</a>" ;
else echo "<a><font color='#FF0000'>=> Erreur, le code est incorrect</font></a>" ;
?>
</html>

Or, lorsque le code est bon, il ne veut pas me renvoyer vers le fichier formmail.php qui a la vertu certaine de m'envoyer le message attendu.
Si quelqu'un avait la gentillesse de m'aider et de m'expliquer pourquoi je ne peux renvoyer vers un fichier, quelle bêtise je fais, enfin m'expliquer afin que je comprenne le principe
Merci d'avance
Philippe

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

21 févr. 2010, 16:51

Bonjour,

Tu as un problème de code HTML:
<a href=""\"formmail.php""</a>
##edit : et aussi un pb de code PHP vu que tu as mis des guillemets n'importe comment
echo "<a href=""\"formmail.php""</a>" ;
Quand tout le reste a échoué, lisez le mode d'emploi...

Mammouth du PHP | 985 Messages

21 févr. 2010, 17:08

<?php 
$cryptinstall="./cryptographp.fct.php";
include $cryptinstall; 
?
>
Une variable à pour but de changer de valeur et/ou d'être utilisée plusieurs fois.
Ici elle ne possédera qu'une valeur, et ne sera utilisée qu'une seule fois.
Donc ici tu peux simplifier ton code.
echo "<a href=""\"formmail.php""</a>" ;
Comme le dit, Arthur, tu te mélanges avec les guillemets, Ryle avait fait un excellent Topic sur la différence des guillemets et des apostrophes, et comment les utiliser.
if (chk_crypt($_POST['code'])) 
     echo "<a href=""\"formmail.php""</a>" ;
Si $_POST['code'] est valide -> alors écrire le lien formail.php sur la page.
Alors que tu aimerais, je croies:
Si $_POST['code'] est valide -> alors rediriger vers la page formail.php.

(Pour rediriger: regarde du coté de la fonction header() et du paramètre: location)
Face à la roche, le ruisseau l'emporte toujours, non pas par la force mais par la persévérance.

Petit nouveau ! | 3 Messages

21 févr. 2010, 17:32

oula !! je crois que je ne suis pas du tout encore à la hauteur .. je vais revenir à du code html simple pour le moment et continuer à potasser les cours php. je crois que j'ai voulu aller trop vite (mais je voulais eviter les spams robots dans ma bal lol).
Je conserve les conseils pour plus tard

Merci à tous les deux pour m'avoir répondu et m'avoir fait prendre conscience de du fait que je n'étais pas encore prêt au php avancé.

Cordialement

Philippe

Mammouth du PHP | 985 Messages

24 févr. 2010, 16:56

Face à la roche, le ruisseau l'emporte toujours, non pas par la force mais par la persévérance.

Petit nouveau ! | 4 Messages

25 févr. 2010, 11:49

echo "<a href=\"formmail.php\"></a>" ; //syntax de " et ' met \ devant d'apostrophe