Slt j'ai un petit soucis, j'ai créé une bdd sur un serveur, mon code est nikle mais l'accès à la base m'est refusé, je cnecomprends pas pk.
Mon code c'est :
//test.php//
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3;org/TR/xhtmll/DTD/xhtmll-transitional.dtd">
<html xmlns="html://www.w3.org/1999/xhtml">
<head>
<meta http-equip="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Test BDD</title>
<link href="formulaire.css" rel="stylesheet" type="text/css" />
</head>
<body>
<form method="post" action="traitement.php">
<p class="titre">Coordonnées</p>
<fieldset id="coordonnees">
<p id="civilite"><label>Civilité : </label>
<input type="radio" name="civilite" value="M." />M.
<input type="radio" name="civilite" value="Mlle" />Mlle
<input type="radio" name="civilite" value="Mme" />Mme
</p>
<label>Nom : </label>
<input type="text" name="nom" size="30" /><br />
<label>Adresse : </label>
<input type="text" name="adresse" size="30" /><br />
<label>Code postal : </label>
<input type="text" name="codepostal" size="30" /><br />
<label>Ville : </label>
<input type="text" name="ville" size="30" /><br />
<label>Pays : </label>
<select name="pays">
<option value="france">France</option>
<option value="belgique">Belgique</option>
<option value="suisse">Suisse</option>
</select>
</fieldset>
<p class="titre">Message</p>
<fieldset id="message">
<textarea name="comments" rows="5" cols="40"></textarea>
</fieldset>
<p id="buttons">
<input type="submit" value="Envoyer" />
</p>
</form>
</body>
</html>
et //traitement.php//
<?php
// Parametres mysql à remplacer par les vôtres
define('DB_SERVER', 'localhost'); // serveur mysql
define('DB_SERVER_USERNAME', 'amandine'); // nom d'utilisateur
define('DB_SERVER_PASSWORD', 'admin'); // mot de passe
define('DB_DATABASE', 'test'); // nom de la base
// parametres email à remplacer par les vôtes
define('MAIL_DESTINATAIRE','amandine.bienvenu@gmail.com'); // remplacer par votre email
define('MAIL_SUJET','Test de l_envoi du formulaire');
$msg_erreur = "Erreur. Les champs suivants doivent être obligatoirement remplis :<br/><br/>";
$msg_ok = "Votre demande a bien été prise en compte.";
$message = $msg_erreur;
// Connexion au serveur mysql
$connect = mysql_connect(DB_SERVER, DB_SERVER_USERNAME,
DB_SERVER_PASSWORD)
or die('Impossible de se connecter : ' . mysql_error());
// sélection de la base de données
mysql_select_db(DB_DATABASE, $connect);
// vérification des champs
if (empty($_POST['civilite']))
$message .= "Votre civilité<br/>";
if (empty($_POST['nom']))
$message .= "Votre nom<br/>";
if (empty($_POST['adresse']))
$message .= "Votre adresse<br/>";
if (empty($_POST['codepostal']))
$message .= "Votre code postal<br/>";
if (empty($_POST['ville']))
$message .= "Votre ville<br/>";
if (empty($_POST['comments']))
$message .= "Votre message<br/>";
// si un champ est vide, on affiche le message d'erreur
if (strlen($message) > strlen($msg_erreur)) {
echo $message;
// sinon c'est ok
} else {
// on enleve les slashes et espace inutiles
foreach($_POST as $index => $valeur) {
$$index = stripslashes(trim($valeur));
}
//Préparation de l'entête du mail
$mail_entete = "MIME-Version: 1.0\r\n";
$mail_entete .= "From: {$_POST['nom']} "
."<{$_POST['email']}>\r\n";
$mail_entete .= 'Reply-To: '.$_POST['email']."\r\n";
$mail_entete .= 'Content-Type: text/plain; charset="iso-8859-1"';
$mail_entete .= "\r\nContent-Transfer-Encoding: 8bit\r\n";
$mail_entete .= 'X-Mailer:PHP/' . phpversion()."\r\n";
// préparation du corps du mail
$mail_corps = "Message de : $civilite $nom\n";
$mail_corps .= "Adresse : $adresse, $codepostal $ville, $pays\n";
$mail_corps .= $comments;
// envoi du mail
$res_mail = mail(MAIL_DESTINATAIRE,MAIL_SUJET,$mail_corps,$mail_entete);
foreach($_POST as $index => $valeur) {
// utilisez addslashes() au lieu de mysql_real_escape_string()
// si vous n'etes pas sur PHP5 ou si la fonction pose probleme
$$index = mysql_real_escape_string(trim($valeur));
}
// insere les donnees dans mysql
$sql = "INSERT INTO formulaire VALUES ('', '$civilite', '$nom', '$adresse', '$codepostal', '$ville', '$pays','$comments', now())";
$res_sql = mysql_query($sql);
// si le mail a ete envoye par mail et mysql
if ($res_mail && $res_sql) {
echo $msg_ok;
// si mysql a retourné une erreur
} else if (!$res_sql) {
echo mysql_error();
// si le mail n'a pas été envoyé
} else if (!$res_mail) {
echo 'Erreur. Le formulaire ne nous a pas été correctement envoyé par email.';
}
}
?>
MERCI de votre aide :)