Monique Posté 2 Février 2005 Posté 2 Février 2005 Bonjour, Il faut bien que je me lance dans l'utilisation de php... et l'occasion fait le laron Je prépare un site pour mon fils à partir du CMS Itseasy. Histoire de faire patienter les internautes, une page d'attente toute simple est en ligne et mon fils souhaite cependant y proposer un formulaire de contact. Complètement débutante en php, je veux utiliser le script proposé dans les Publications du Hub. Je n'ai obtenu qu'un beau message d'erreur Pour essayer de comprendre je teste en local avec EasyPHP 1.7rc1 J'ai créé un fichier contact.php comme expliqué, recopié le code sur la page où doit figurer le formulaire (qui a bien une extension .php) et je n'obtiens que le même type de message d'erreur Parse error: parse error, unexpected '"', expecting ',' or ';' in c:\program files\easyphp 1.7rc1\www\dj4000\index2.php on line 64 Il y a loin entre quelques connaissances théoriques élémentaires et la pratique Quel est le détail qui m'échappe ?
Dan Posté 2 Février 2005 Posté 2 Février 2005 Bonjour Monique, Tu as mal dû copier/coller le script car je viens de tester chez moi et il fonctionne tel quel. Sous EasyPhp, il n'enverra pas de mail parce que tu n'as pas de serveur smtp local installé, et php.ini édité en ce sens. Mais il ne doit tout de même pas te donner d'erreur de syntaxe. Dan
Monique Posté 2 Février 2005 Auteur Posté 2 Février 2005 Je ne comprends pas, j'ai très bêtement mais très classiquement utilisé le copier-coller Pourrait-il y avoir un problème de retour à la ligne intempestif ? Sur ma page, la ligne 64 mise en cause : 62 // mail envoyé63 echo "Votre message a été envoyé.<br />n";64 echo "<a href="".$_SERVER["PHP_SELF"]."">Envoyer un autre message...</a>n";65 }
Dan Posté 2 Février 2005 Posté 2 Février 2005 Je ne comprends pas, j'ai très bêtement mais très classiquement utilisé le copier-coller Pourrait-il y avoir un problème de retour à la ligne intempestif ? Sur ma page, la ligne 64 mise en cause : 62 // mail envoyé63 echo "Votre message a été envoyé.<br />n";64 echo "<a href="".$_SERVER["PHP_SELF"]."">Envoyer un autre message...</a>n";65 } Oui... c'est cette ligne... Remplaces la ligne 64 par echo "<a href=\"".$_SERVER["PHP_SELF"]."\">Envoyer un autre message...</a>n"; Il manque 2 backslashes Dan
salemioche Posté 2 Février 2005 Posté 2 Février 2005 Sous EasyPhp, il n'enverra pas de mail parce que tu n'as pas de serveur smtp local installé, et php.ini édité en ce sens. il suffit de changer la variable SMTP dans le php.ini et mettre le serveur de son FAI
Dan Posté 2 Février 2005 Posté 2 Février 2005 il suffit de changer la variable SMTP dans le php.ini et mettre le serveur de son FAI Oui, tout juste !
Monique Posté 2 Février 2005 Auteur Posté 2 Février 2005 (modifié) Un progrès, la page et le formulaire s'affichent mais... 2 messages me signalent "Notice: Undefined variable: etat in..." pour ces 2 lignes if ($etat!="ok"){// le formulaire n'a pas été soumis, ou soumis avec une erreur if ($etat=="erreur"){ dur dur, au moins je comprends les débutants qui ne comprennent rien à ce qu'on leur raconte <edit>Je viens de trouver cet article, Notice: Undefined variable (ou index), où ce problème est expliqué... je vais essayer de comprendre ça </edit> Modifié 2 Février 2005 par Monique
Monique Posté 3 Février 2005 Auteur Posté 3 Février 2005 Bonjour, J'ai toujours mon message d'erreur Et je suis bien perplexe ! Si j'ai bien compris l'article que j'ai mentionné, ce message s'affiche quand une variable n'est pas initialisée. Or dans le code if (isset($_POST["envoyer"])){// le formulaire a été soumis $etat = "erreur"; la variable etat est bien initialisée, non ?
Dan Posté 3 Février 2005 Posté 3 Février 2005 Bonjour Monique, Si ton installation de php est récente (> 4.0.x) la variable register_globals est mise à "off" dans le php.ini. Deux manières de résoudre cela: - soit tu la mets à "on" (pas terrible question sécurité) - soit tu accèdes au contenu de tes variables en utilisant $_GET['etat'] pour les variables GET, ou $_POST['etat'] pour celles de type POST. Dan
Monique Posté 3 Février 2005 Auteur Posté 3 Février 2005 Je m'accomoderai de l'erreur en local... l'affichage est tout bon en ligne Par contre, il ne se passe rien quand on clique sur envoyer ... pas de message d'erreur mais rien d'envoyé La page est hébergée sur un mutualisé OVH (240) PS tout à fait HS : page mise en ligne le 31 janvier avec un lien sur ma page FOSDEM (bien référencée, PR4) et indexée par Google le 3 février
Jan Posté 3 Février 2005 Posté 3 Février 2005 Eh bien Monique, désolé que ce petit script te fasse souffrir à ce point Quand tu dis qu'il ne se passe rien, obtiens-tu bien quand même le message: Votre message a été envoyé Si tu ne reçois pas le mail, vérifie bien que tu as modifié la ligne: $email_webmaster = "webmaster_AT_domaine.tld"; en y mettant ta vraie adresse email.
Anonymus Posté 3 Février 2005 Posté 3 Février 2005 Si tu veux voir toutes les erreurs, même celles minimes, tu peux ajouter cette ligne tout au début de ton script : error_reporting(E_ALL); Elles s'afficheront toutes à l'écran. Lorsque tu auras résolu ton problème, il vaut mieux l'enlever
Monique Posté 4 Février 2005 Auteur Posté 4 Février 2005 Eh bien Monique, désolé que ce petit script te fasse souffrir à ce point <{POST_SNAPBACK}> Ne t'en fais pas Jan, il fallait bien que je me décide un jour à me jeter à l'eau Quand tu dis qu'il ne se passe rien, obtiens-tu bien quand même le message:Votre message a été envoyé Non, même pas... rien ne s'affiche, ni message d'erreur, ni confirmation d'envoi. J'ai fait plusieurs essais, mon fils en a fait aussi de son côté... il n'a rien reçu. Si tu ne reçois pas le mail, vérifie bien que tu as modifié la ligne: $email_webmaster = "webmaster_AT_domaine.tld"; en y mettant ta vraie adresse email. La bonne adresse est bien indiquée... Le problème, c'est que c'est un site pour mon fils, que l'hébergement est à son compte, qu'il habite à 70 km de chez moi et que pour le moment je n'ai pas l'accès ftp (faudra que je lui demande). Pour faire des essais il faut qu'il soit chez lui et disponible Merci de votre aide et de votre indulgence face à mon ignorance
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant