> Tous les forums > Forum des Webmasters
 installation de php et recevoir réponse d'un formu
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
aladin1809
  Posté le 08/09/2010 @ 09:17 
Aller en bas de la page 
Nouvel astucien

Bonjour,
je me permets concernant un problème de programmation.
En fait, j'ai créé un formulaire en html. Ensuite, j'ai créé une feuille réponse.php. Pour ma page php c'est bien du langage html mais sauvegarder en .php?
J'ai ensuite télécharger wamp. J'ai fait un copier/coller de reponse.php dans www.de wamp. je clique sur "passer en ligne" et "activer les services"
Mais quand je clique envoie du formulaire ca ne marche pas.
Pouvez-vous m'aider

voila ce que j'obient si je clique sur localhost dans wamp

Notice: Undefined index: sender_name in C:\wamp\www\essai\reponse.php on line 2

Notice: Undefined index: sender_email in C:\wamp\www\essai\reponse.php on line 3

Notice: Undefined index: Message in C:\wamp\www\essai\reponse.php on line 4

Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\wamp\www\essai\reponse.php on line 11

Thank You,

Your feedback has been sent.

mon code html:

<HTML>
<HEAD>
<TITLE>E-Mail Form</TITLE>
</HEAD>
<BODY>
<FORM method="POST" action="reponse.php">
<P>Your Name:<br>
<INPUT type="text" name="sender_name" size=30>
</p>
<P>Your E-Mail Address:<br>
<INPUT type="text" name="sender_email" size=30>
</p>
<P>Message:<br>
<textarea name="message" cols=30 rows=5></textarea>
</p><INPUT type="submit" value="Send This Form">
</FORM>
</BODY>
</HTML>

et mon code reponse.php

<?php
$sender_name=$_POST['sender_name'];
$sender_email=$_POST['sender_email'];
$sender_Message=$_POST['Message'];

$recipient = stev@hotmail.com;
$subject = "Web Site Feedback";
$mailheaders = "From: My Web Site <> \n";
$mailheaders .= "Reply-To: $sender_email\n\n";

mail($recipient, $subject, $sender_Message, $mailheaders);


echo "<HTML><HEAD>";
echo "<TITLE>Form Sent!</TITLE></HEAD><BODY>";
echo "<H1 align=center>Thank You, $sender_name</H1>";
echo "<P align=center>";
echo "Your feedback has been sent.</P>";
echo "</BODY></HTML>";

?>

merci pour votre aide

Publicité
Malcolm
 Posté le 08/09/2010 à 22:47 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

"undefined index" signifie "index non défini".

pour mieux comprendre cette erreur, il faut remonter jusqu'au conteneur ($_POST) et comprendre sa structure.

$_POST est un tableau dit "associatif", càd qu'il associe une paire de valeurs, la paire étant symbolisée par 2 éléments :

- la clé (parfois appelée "index")

- et la valeur

La clé peut être numérique (en général ça commence à 0 et c'est parfois sous entendu), ou du texte.

La valeur peut être numérique, du texte, ou un sous tableau associatif lui aussi ... ou encore un booléen, enfin, bien des types peuvent exister ici.

Voici un exemple de tableau associatif simple. La clé par convention est toujours à gauche de la valeur. Le signe "=>" (égal supérieur) signifie "clé associée à la valeur".

$mon_tableau :

0 => "un texte ici",

1 => 53, // un numérique

2 => "un autre texte"

3 => 3.141592

Voilà donc un tableau de 4 éléments (clés de 0 à 3) avec, pour chaque clé une valeur. Il faut bien noter que la clé est unique.

Si je prends cet exemple :

$mon_tableau :

0 => "un texte ici",

1 => 53, // un numérique

1 => 92,

3 => 3.141592

"une clé en texte" => 2010

Alors dans le tableau final, puisque la paire 1 / 92 est déclarée après celle 1 / 53, la valeur que mon tableau gardera pour ma clé 1 sera 92 (qui écrasera le 53).

Au passage, la clé étant unique, il peut y avoir des trous comme c'est le cas ici : peu importe que les chiffres se suivent ou non, le principal étant qu'ils soient uniques.

Et pour appeler la valeur d'un élément, il suffit de mettre le nom de la variable tableau suivie de la clé voulue entre crochets, par exemple :

echo $mon_tableau[3] affichera 3.141592

echo $mon_tableau["une clé en texte"] affichera 2010

Ton erreur "undefined index" signifie que tu souhaites afficher une valeur d'une clé non définie.

ça veut dire que la clé "sender_name" n'existe pas dans $_POST

Suggestion :

exécute ce code : print_r($_POST); et regarde le code source de la page HTML générée, tu verras ton beau tableau avec les clés (indexes) et leurs valeurs. Si ta clé n'existe pas, tu le verras tout de suite ...

Option 1) ta clé existe : vérifie la syntaxe. "une Clé" n'est pas pareil à "une clé".

Option 2) ta clé n'existe pas. Soit tu l'effaces avant (parce que, par exemple, tu écrases ton tableau et tu constates avec le print_r qu'il est désormais vide), soit au moment de la construction du tableau, la clé que tu veux (sender_name) n'est pas générée, ça veut donc dire que ton formulaire ne l'envoie pas.

Pour rappel, un formulaire envoie les "name" des champs. ça veut dire que tu n'as pas de champ écrit comme ceci :

<input type="peu importe, texte, radio ..." name="sender_name">

encore une fois, si tu as un champ name="sender name" ou name="sender_Name" ce n'est pas pareil ... {#}



Modifié par Malcolm le 08/09/2010 22:50
Malcolm
 Posté le 08/09/2010 à 22:51 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Au passage, pour le warning sur le mail, il faut que tu ouvres le fichier php.ini, que tu cherches dedans une ligne SMTP=localhost; et que tu remplaces localhost par le SMTP de ton fournisseur d'accès

par exemple SMTP=smtp.free.fr

Et bien sûr, tu enregistres le php.ini modifié et tu relances WAMP {#}

aladin1809
 Posté le 09/09/2010 à 08:41 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Nouvel astucien

mercipour ta réponse. peux tu me mettres exactement les codes que je dois changer pour mon formulaire stp car je débute et je rame un peu.

Grand merci pour votre aide

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour participer à la discussion.
Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !
Recevoir PC Astuces par e-mail


La Lettre quotidienne +226 000 inscrits
Avec l'actu, des logiciels, des applis, des astuces, des bons plans, ...

Les bonnes affaires
Une fois par semaine, un récap des meilleurs offres.

Les fonds d'écran
De jolies photos pour personnaliser votre bureau. Une fois par semaine.

Les nouveaux Bons Plans
Des notifications pour ne pas rater les bons plans publiés sur le site.

Les bons plans du moment PC Astuces

Tous les Bons Plans
25,99 €Clavier mécanique Aukey KM-G12 (switch Aukey Red) à 25,99 €
Valable jusqu'au 22 Septembre

Cdiscount fait une promotion sur le clavier mécanique Aukey KM-G12 (switch Aukey Red) qui passe à 25,99 €. La livraison est gratuite. Ce clavier mécanique pour joueurs possède des switch Aukey Red, dispose d'un panneau en métal et d'un éclairage RGB personnalisable. Ses 105 touches sont anti ghosting : vous aurez donc la possiblité de de presser plusieurs touches en même temps : elles ne seront pas confondues.


> Voir l'offre
36,57 €Souris sans fil Logitech G305 à 36,57 €
Valable jusqu'au 21 Septembre

Amazon fait une promotion sur la nouvelle souris sans fil Logitech G G305 dans sa robe blanche qui passe à 36,57 € livrée gratuitement alors qu'on la trouve ailleurs autour de 59  €. Cette souris vous offre des performances sans fil de niveau professionnel et une fiabilité inégalée surpassant même certaines des meilleures souris gaming filaire. Dotée du capteur HERO, vous allez connaitre une précision exceptionnelle grâce à sa sensibilité pouvant aller jusqu'à 12 000 dpi.


> Voir l'offre
111,01 €SSD externe portable Samsung T7 1 To à 111,01 € livré
Valable jusqu'au 21 Septembre

Amazon Allemagne fait une promotion sur le SSD externe portable Samsung T7 1 To qui passe à 106,27 €. Comptez 4,74 € pour la livraison en France soit un total de 111,01 € livré alors qu'on trouve le SSD à partir de 189 € ailleurs. Son format compact vous permettra de le transporter facilement avec vous. De quoi stocker parfaitement vos fichiers et de les emporter dans vos déplacements en toute sérénité. Grâce à la technologie PCIe NVMe intégrée et au connecteur USB 3.1 Type C, bénéficiez de vitesses supérieures pouvant atteindre 1050 Mo /s ! Compatible PC, Mac et Android, il se montrera rapidement indispensable. Le disque Samsung T7 se pare d'un boîtier robuste en aluminium qui résistera aux chutes. Il embarque également un cryptage avancé avec mot de passe.

Vous pouvez utiliser votre compte Amazon France sur Amazon Allemagne et il n'y a pas de douane. Si vous êtes perdu en allemand, vous pouvez traduire le site en anglais.


> Voir l'offre

Sujets relatifs
Installation sugar CRM et php
Message mail lors d'une réponse à une question
probleme d installation du pilote d imprimante
Driver Genius 14 Professional . . problème d'installation
whois et réponse serveur
Installation Capcha Cryptographp sur formulaire
mettre en Français installation red5Chat
Problème pour recevoir infos formulaire
problème installation Modx 1.0.5
la réponse arrive dans dossier Elements supprimés
Plus de sujets relatifs à installation de php et recevoir réponse d''un formu
 > Tous les forums > Forum Forum des Webmasters