Récupération parametres de formulaire et les renvoyer par mail.
Soit le formulaire est en GET, alors les variables saisies sont dans $_GET['name_du_formumaire']
Dans le message du mail il faut mettre "mon texte ".$POST['mon_input']." suite de mon texte"
Didier
Voila, j'ai bien bossé aujourd'hui sur cet affaire.
j'ai donc fait en sorte lors de la validation du formulaire par l'internaute que ma base de données s'enrichisse des paramètres du formulaire ( nom, prénom, date, type de service, mail et message).
En simultané, l'envoi d'un mail m'informant de cet envoi de formulaire. Tout marche super bien en local (localhost), mais en distant, je ne peux afficher mon formulaire. Le message d'erreur obtenu est le suivant:
"Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [1045] Access denied for user 'MonMotdePasse'@'sql.franceserv.fr' (using password: NO)' in /home/httpd/e/r/i/erik68/tracece.franceserv.com/contact/connect.php:6 Stack trace: #0 /home/httpd/e/r/i/erik68/tracece.franceserv.com/contact/connect.php(6): PDO->__construct('mysql:host=sql....', 'MonMotdePasse', '', Array) #1 /home/httpd/e/r/i/erik68/tracece.franceserv.com/contact/index.php(3): require('/home/httpd/e/r...') #2 {main} thrown in /home/httpd/e/r/i/erik68/tracece.franceserv.com/contact/connect.php on line 6 ".
J'espère avoir un peu d'aide dès demain, je commence à être à la bourre.
Par avance, merci à tous.
Eric
Il est dit que l'utilisateur "MonMotdePasse" n'a pas accès, c'est normal car ce n'est pas un utilisateur mais un mot de passeerik68 a écrit : Le message d'erreur obtenu est le suivant:
[...]
Access denied for user 'MonMotdePasse'@'sql.franceserv.fr
Je pense qu'il vous faut correctement renseigner vos informations de connexion et vérifier que c'est bien votre nom d'utilisateur et votre mot de passe dans les bonnes variables de la configuration.
Voici mon fichier "connect.php"
"<?php
try
{
$options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$bdd = new PDO('mysql:host=sql.franceserv.fr;dbname=erik68','MotDePasse ','',$options); // on se connecte avec les identifiants
}
catch (Exeption $e) // si la connexion echoue
{
die('Erreur :'.$e->getMessage()); // on affiche le message d'erreur
}
?>
"<?php
require('connect.php');
if(!empty($_POST))
{
$valid = true;
if(empty($_POST['nom']))
{
$valid = false;
$erreurnom = 'Indiquez votre nom';
}
if(empty($_POST['email']))
{
$valid = false;
$erreuremail = 'Indiquez votre email';
}
if(!empty($_POST['email']) && !filter_var($_POST['email'],FILTER_VALIDATE_EMAIL))
{
$valid = false;
$erreuremail = 'Email invalide';
}
if(empty($_POST['message']))
{
$valid = false;
$erreurmessage = 'Indiquez votre message';
}
if($valid)
{
$nom = strip_tags($_POST['nom']);
\t$prenom = strip_tags($_POST['prenom']);
\t$date = strip_tags($_POST['date']);
\t$service = strip_tags($_POST['service']);
\t$ligne = strip_tags($_POST['ligne']);
$email = strip_tags($_POST['email']);
$message = strip_tags($_POST['message']);
$req = $bdd->prepare('INSERT INTO contact (nom,prenom,date,service,ligne,email,message) VALUES (:nom,:prenom,:date,:service,:ligne,:email,:message)');
$req->execute(array(':nom'=>$nom, ':prenom'=>$prenom, ':date'=>$date, ':service'=>$service, ':ligne'=>$ligne, ':email'=>$email, ':message'=>$message));
$req->closeCursor();
$to = 'sitece.trace@laposte.net';
$subject = 'Formulaire Evenement Indesirable';
$message = nl2br($message);
$headers = 'From:'.$email."\r
";
$headers .= 'MIME-version: 1.0'."\r
";
$headers .= 'Content-type: text/html; charset=utf-8'."\r
";
mail($to,$subject,$message,$headers);
$success = '<div class="success">Votre message a bien ete envoye.</div>';
}
}
?>
<!DOCTYPE html>
<html>
<meta charset="UTF-8">
<head>
<link rel="stylesheet" href="style.css" />
<title></title>
</head>
<body>
<div id="content">
<h2>RELATEZ UN EVENEMENT INDESIRABLE EN SERVICE</h2>
<?php if(isset($success)) echo $success;?>
<form action="index.php" method="post">
<p>
<label for="nom">Votre nom:</label>
<input type="text" name="nom" value="<?php if(isset($_POST['nom'])) echo $_POST['nom'];?>" />
<span class="error">
<?php if(isset($erreurnom)) echo $erreurnom;?>
</span>
<label for="nom">Votre Prenom:</label>
<input type="text" name="prenom" value="<?php if(isset($_POST['prenom'])) echo $_POST['prenom'];?>" />
<label for="nom">Date:</label>
<input type="text" name="date" value="<?php if(isset($_POST['date'])) echo $_POST['date'];?>" />
<label for="nom">Service:</label>
<input type="text" name="service" value="<?php if(isset($_POST['service'])) echo $_POST['service'];?>" />
<label for="nom">Ligne:</label>
<input type="text" name="ligne" value="<?php if(isset($_POST['ligne'])) echo $_POST['ligne'];?>" />
<label for="email">Votre email:</label>
<input type="text" name="email" value="<?php if(isset($_POST['email'])) echo $_POST['email'];?>" />
<span class="error">
<?php if(isset($erreuremail)) echo $erreuremail;?>
</span>
<label for="message">Votre message:</label>
<span class="error">
<?php if(isset($erreurmessage)) echo $erreurmessage;?>
</span>
<textarea name="message"><?php if(isset($_POST['message'])) echo $_POST['message'];?>
</textarea>
</p>
<p>
<input type="submit" value="Envoyer" />
</p>
<div id="btn_retour"><a href="../admin/accueil.php">Retour à la page d'accueil</a></div>
<p> </p>
</form>
</div>
</body>
</html>
je croise les doigts. Merci
'MotDePasse' n'est pas exact, c'est le nom d'utilisateur qu'il faut mettre soit = erik68
Le champ vide entre guillemet simple ' ' c'est l'emplacement où mettre votre mot de passe