Formulaire d'information

Fermé
mailou Messages postés 488 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 15 décembre 2021 - 23 déc. 2013 à 20:05
mailou Messages postés 488 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 15 décembre 2021 - 30 déc. 2013 à 16:43
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 mercredi 11 décembre 2013 Statut Membre Dernière intervention 24 décembre 2013 1
24 déc. 2013 à 01:55
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 mardi 11 novembre 2003 Statut Membre Dernière intervention 15 décembre 2021 13
24 déc. 2013 à 08:32
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 samedi 28 juin 2008 Statut Membre Dernière intervention 26 mars 2020 591
24 déc. 2013 à 19:40
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 mardi 11 novembre 2003 Statut Membre Dernière intervention 15 décembre 2021 13
25 déc. 2013 à 09:21
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 samedi 28 juin 2008 Statut Membre Dernière intervention 26 mars 2020 591
25 déc. 2013 à 13:44
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 mardi 11 novembre 2003 Statut Membre Dernière intervention 15 décembre 2021 13
25 déc. 2013 à 16:41
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 samedi 28 juin 2008 Statut Membre Dernière intervention 26 mars 2020 591
26 déc. 2013 à 17:38
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 mardi 11 novembre 2003 Statut Membre Dernière intervention 15 décembre 2021 13
26 déc. 2013 à 22:02
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 samedi 28 juin 2008 Statut Membre Dernière intervention 26 mars 2020 591
Modifié par GrifOli le 29/12/2013 à 15:41
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 mardi 11 novembre 2003 Statut Membre Dernière intervention 15 décembre 2021 13
30 déc. 2013 à 16:43
Bonjour,
Merci pour l'aide, ça correspond bien à ce que je souhaite, merci encore
0