Aller au contenu

Sujets conseillés

Posté

Bonjour,

Il faut bien que je me lance dans l'utilisation de php... et l'occasion fait le laron :rolleyes:

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 :huh:

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 :blush:

Quel est le détail qui m'échappe ? :unsure:

Posté

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

Posté

Je ne comprends pas, j'ai très bêtement mais très classiquement utilisé le copier-coller :huh:

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        }

Posté
Je ne comprends pas, j'ai très bêtement mais très classiquement utilisé le copier-coller :huh:

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

Posté
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

Posté
il suffit de changer la variable SMTP dans le php.ini et mettre le serveur de son FAI

Oui, tout juste !
Posté (modifié)

Un progrès, la page et le formulaire s'affichent :D

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 :nono:

<edit>Je viens de trouver cet article, Notice: Undefined variable (ou index), où ce problème est expliqué... je vais essayer de comprendre ça :unsure: </edit>

Modifié par Monique
Posté

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 ?

Posté

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

Posté

Je m'accomoderai de l'erreur en local... l'affichage est tout bon en ligne B)

Par contre, il ne se passe rien quand on clique sur envoyer :(

... pas de message d'erreur mais rien d'envoyé :wacko:

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 :D

Posté

Eh bien Monique, désolé que ce petit script te fasse souffrir à ce point :blush:

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.

Posté

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 ;)

Posté
Eh bien Monique, désolé que ce petit script te fasse souffrir à ce point :blush:

<{POST_SNAPBACK}>

Ne t'en fais pas Jan, il fallait bien que je me décide un jour à me jeter à l'eau :P

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 :huh:

Merci de votre aide et de votre indulgence face à mon ignorance B)

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...