Formulaire d'information

mailou Messages postés 488 Date d'inscription   Statut Membre Dernière intervention   -  
mailou Messages postés 488 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
J'ai créé un formulaire, et quand il est envoyé: "L'URL / spip / traitement.php demandée n'a pas été trouvée sur ce serveur." j'ai bien essayé de rajouter du php:
<table> 
<tr>
<td>Nom - Prénom ou Alias :</TD><TD><INPUT TYPE="text" name="pseudo" value="<?php if (isset($_POST['pseudo'])) print $_POST['pseudo']; ?>" ></td>
</tr>
<tr>
<td><font color="red">Email :</font></TD><TD><INPUT TYPE="text" name="email" value="<?php if (isset($_POST['email'])) print $_POST['email']; ?>" ></td>
</tr>
</table>
<br>
<input value="Connexion" type="submit">
</form>
?>
Mais ça marche pas, il est vrai que depuis que je cherche à faire un formulaire je n'y arrive pas,
merci de votre aide


10 réponses

dosbi77 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   1
 
je pense que le lien pour le traitement de votre formulaire n'est pas bon. Etes vous sûr d'avoir bien renseigné le bon lien?
0
mailou Messages postés 488 Date d'inscription   Statut Membre Dernière intervention   13
 
En fait c'est même pas tout à fait ça, ce formulaire est à l'intérieur d'un article et je ne suis pas sur du bon php et de son emplacement
0
GrifOli Messages postés 2111 Date d'inscription   Statut Membre Dernière intervention   591
 
Bonjour,

Peux-tu me donner la ligne de code du début du formulaire, soit <form .......>

Ensuite, le formulaire est dans un fichier, mais le traitement du formulaire doit être dans un fichier php. Selon le message d'erreur, tu as nommé ce fichier traitement.php

Assure-toi qu'il se nomme pareil, sinon, le formulaire ne pourra pas être traité.
0
mailou Messages postés 488 Date d'inscription   Statut Membre Dernière intervention   13
 
Bonjour,
voici les trois lignes
<form method="post" action="traitement.php"> 
<p class="formulaire"><label for="pseudo">Votre nom:</label>
<input type="text" name="pseudo" id="pseudo" size="50" maxlength="50" /> <br />

Sinon tant pis, je me rabattrai sur un plugin, merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
GrifOli Messages postés 2111 Date d'inscription   Statut Membre Dernière intervention   591
 
Jusque là, ton code html qui contient le formulaire ne contient pas d'erreur.

Maintenant, as-tu fait ton code php qui traitera les données du formulaire dans le fichier traitement.php? Montre-le moi s.v.p.
0
mailou Messages postés 488 Date d'inscription   Statut Membre Dernière intervention   13
 
Voilà le code
<?


// $telephone = $_POST['telephone'];
$email = $_POST['email'];
$message= $_POST['message'];

//E-mail auquel sera envoyé le formulaire
$destinataire = 'mailou23@gmail.com';

//sujet du mail envoyé
$sujet = 'Message via site Internet';

//test pour vérifier que les champs sont bien tous remplis !! (vous pouvez ajouter des champs)
if( !empty($nom) && !empty($email) && !empty($message)){

// création du message, les \n accolés aux $données permettent de faire un saut de ligne (vous pouvez ajouter des lignes)

$mail = " Nom : $nom\n E-mail : $email\n Message : $message";
// Téléphone : $telephone\n

// On envoi le mail
if( mail($destinataire, $sujet, $mail) )

// Si tout se passe bien on affiche un message de succès d'envoi (choisir ci dessous = retirer les // de la ligne choisie)

{
// echo 'le message a bien été envoyé!';
// ou
// header("location: envoiok.htm"); // vous devez créer une page envoiok.htm)
exit();

}

// Si on rencontre un problème de réseau (connection serveur etc...)

else{

// echo 'une erreur est survenu lors de l\'envoi du message';
// ou
// header("location: envoihs.html"); // vous devez créer une page envoihs.htm)
exit();

}

}

// Si tous les champs ne sont pas remplis

else{ echo 'merci de remplir tous les champs obligatoires';

}

?>

0
GrifOli Messages postés 2111 Date d'inscription   Statut Membre Dernière intervention   591
 
Est-ce que le but du formulaire est bien d'envoyer un message par courriel ? Car dans ton formulaire, tu n'as pas même pas de champ disponible pour entrer un message. Dans ton code php, tu tentes de récupérer ce dit message alors qu'il n'existe pas.

Dis-moi ce que tu veux faire en détails avec le formulaire et je t'aiderai à construire le code html et php en conséquences.
0
mailou Messages postés 488 Date d'inscription   Statut Membre Dernière intervention   13
 
En fait j'ai un et même plusieurs formulaires qui va permettre à chaque visiteur de répondre à un certains nombres de questions comme on peut le voir sur le formulaire que j'ai indiqué voilà ce que je souhaite
0
GrifOli Messages postés 2111 Date d'inscription   Statut Membre Dernière intervention   591
 
J'ai corrigé ton code html et php pour ce que tu désires faire. Il fonctionne bien, je l'ai testé sur un serveur et j'ai bien reçu un courriel avec les infos.

Code HTML dans le fichier qui contient le formulaire:
<form method="post" action="traitement.php"> 
<p class="formulaire"><label for="nom">Votre nom:</label> 
<input type="text" name="nom" id="nom" size="50" maxlength="50" /> <br />
<table> 
<tr> 
<td><label for="pseudo">Nom - Prénom ou Alias :</label></td>
<td><input type="text" name="pseudo" id="pseudo" value="<?php if (isset($_POST['pseudo'])) print $_POST['pseudo']; ?>" ></td> 
</tr> 
<tr> 
<td><font color="red"><label for="email">Email :</label></font></td>
<td><input type="text" name="email" id="email" value="<?php if (isset($_POST['email'])) print $_POST['email']; ?>" ></td> 
</tr>
</table> 
<br/> 
<input value="Connexion" type="submit"> 
</p>
</form> 


Code PHP dans le fichier traitement.php:
<?
$nom= $_POST['nom'];
$pseudo= $_POST['pseudo'];
$email = $_POST['email'];

$destinataire = 'mailou23@gmail.com';

$sujet = 'Message via site Internet';

//test pour vérifier que les champs sont bien tous remplis !! (vous pouvez ajouter des champs)
if( !empty($nom) && !empty($pseudo) && !empty($email)){

// création du message, les \n accolés aux $données permettent de faire un saut de ligne (vous pouvez ajouter des lignes)

$mail = "Nom : ".$nom."\r\n Pseudo : ".$pseudo."\r\n Email : ".$email."";

$headers = "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: {$_POST['nom']} <{$_POST['email']}>\r\n";
$headers .= "Reply-to: {$_POST['email']}\r\n";
//  Téléphone : $telephone\n

// On envoi le mail
if( mail($destinataire, $sujet, $mail, $headers) )

// Si tout se passe bien on affiche un message de succès d'envoi (choisir ci dessous = retirer les // de la ligne choisie)

{
   echo 'le message a bien été envoyé!';
   // ou
   // header("location: envoiok.htm"); // vous devez créer une page envoiok.htm)
   exit();

}

// Si on rencontre un problème de réseau (connection serveur etc...)

else{ 

   echo 'une erreur est survenu lors de l\'envoi du message';
   // ou
   // header("location: envoihs.html"); // vous devez créer une page envoihs.htm)
   exit();

}

}

// Si tous les champs ne sont pas remplis

else{ echo 'merci de remplir tous les champs obligatoires';

}

?>
0
mailou Messages postés 488 Date d'inscription   Statut Membre Dernière intervention   13
 
Bonjour,
Merci pour l'aide, ça correspond bien à ce que je souhaite, merci encore
0