Probleme mysql

Résolu
djchris972 Messages postés 6 Statut Membre -  
djchris972 Messages postés 6 Statut Membre -
Bonjour,
Je suis dans l'élaboration d'un formulaire de demande de renseignement dans le secteur automobile.
Je reçois ce message d'erreur Warning: mysql_close(): no MySQL-Link resource supplied in ...
Je souhaiterai savoir si mon codage était bon.
J'ai repris un exemple donné sur le net et j'ai essayer de le modifier par rapport à ma base de donnée.
Merci de m'aider.
<?

{


// Formulaire visible par défaut
$masquer_formulaire = false;

// Une fois le formulaire envoyé
if(isset($_POST["BT_Envoyer"]))
{

// Vérification de la validité des champs
if(!ereg("^[A-Za-z0-9_]{4,20}$", $_POST["TB_marque"]))
{
$message = "Votre nom d'utilisateur doit comporter entre 4 et 20 caractères<br />\n";
}
elseif(!ereg("^[A-Za-z0-9]{2,}$", $_POST["TB_modele"]))
{
$message = "Votre modele doit comporter au moins 2 caractères";
}
elseif(!ereg("^[0-9]{4,}$", $_POST["TB_annee"]))
{
$message = "Votre annee doit comporter au moins 4 caractères";
}
elseif(!ereg("^[0-9]{1,6}$", $_POST["TB_kilometres"]))
{
$message = "Votre kilometrage doit comporter au moins 1 caractère";
}
elseif(!ereg("^[A-Za-z]{,}$", $_POST["TB_couleur"]))
{
$message = "";
}
elseif(!ereg("^[A-Za-z]{,}$", $_POST["TB_option"]))
{
$message = "";
}
elseif(!ereg("^[0-9]{,8}$", $_POST["TB_budget"]))
{
$message = "";
}
elseif(!ereg("^[A-Za-z]{2,}$", $_POST["TB_nom_client"]))
{
$message = "Votre nom doit comporter au moins 2 caractères";
}
elseif(!ereg("^[A-Za-z]{2,}$", $_POST["TB_prénom"]))
{
$message = "Votre nom doit comporter au moins 2 caractères";
}
elseif(!ereg("^[0-9]{10,40}$", $_POST["TB_budget"]))
{
$message = "Votre numéro doit comporter au moins 10 caractères";
}
elseif(!ereg("^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]{2,}[.][a-zA-Z]{2,4}$",
$_POST["TB_adresse_mail"]))
{
$message = "Votre adresse e-mail n'est pas valide";
}
else
{

// Connexion à la base de données
// Valeurs à modifier selon vos paramètres configuration
mysql_connect("xxxserveur", "xxxxutilisateur", "xxxxxpassword");
mysql_select_db("xxxxnombase");



// Si une erreur survient
if(!$result)
{
$message = "Une erreur est survenue lors de la création de votre compte utilisateur";
}
else
{


// Création de la fiche renseignement
$result = mysql_query("
INSERT INTO xxxxnomtable(
marque
, modele
, annee
, kilometres
, couleur
, options
, budget
, nom_client
, prénom
, numero_tel
, adresse_mail


)
VALUES(
'" . $_POST["TB_marque"] . "'
, '" . $_POST["TB_modele"] . "'
, '" . $_POST["TB_annee"] . "'
, '" . $_POST["TB_kilometres"] . "'
, '" . $_POST["TB_couleur"] . "'
, '" . $_POST["TB_option"] . "'
, '" . $_POST["TB_budget"] . "'
, '" . $_POST["TB_nom_client"] . "'
, '" . $_POST["TB_prénom"] . "'
, '" . $_POST["TB_numero_tel"] . "'
, '" . $_POST["TB_adresse_mail"] . "'


)


");

// Si une erreur survient
if(!$result)
{
$message = "Une erreur est survenue lors de la création de votre formulaire";
}
else
{

// Envoi du mail d'activation
$sujet = "Finalisation de votre demande de renseignement";

$message = "Pour valider votre demande, merci de cliquer sur le lien suivant :\n";
$message .= "http://" . $_SERVER["SERVER_NAME"];
$message .= "/activer-demande.php?id=" . mysql_insert_id();


// Si une erreur survient
if(!@mail($_POST["TB_adresse_mail"], $sujet, $message))
{
$message = "Une erreur est survenue lors de l'envoi du mail de confirmation<br />\n";
$message .= "Veuillez contacter l'administrateur ";
}
else
{

// Message de confirmation
$message = "Votre demande de renseignement va etre pris en charge<br />\n";
$message .= "Un email vient de vous être envoyer afin de l'activer";

// On masque le formulaire
$masquer_formulaire = true;


}

}

}

}

}



// Fermeture de la connexion à la base de données
mysql_close();

}





?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="fr" xml:lang="fr" xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>[PHP] Formulaire de renseignement</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<? if(isset($message)) { ?>
<p><?= $message; ?></p>
<? } if($masquer_formulaire != true) { ?>
<form action="http://<?= $_SERVER["SERVER_NAME"] . $_SERVER["SCRIPT_NAME"]; ?>" method="post">
<p>
Marque : <input type="text" name="TB_marque" />
</p>
<p>
Modèle : <input type="text" name="TB_modele" />
</p>
<p>
Annee : <input type="text" name="TB_annee" />
</p>
<p>
Kilomètres : <input type="text" name="TB_kilometres" />
</p>
<p>
Couleur : <input type="text" name="TB_couleur" />
</p>
<p>
Option : <input type="text" name="TB_option" />
</p>
<p>
Budget : <input type="text" name="TB_budget" />
</p>
<p>
Votre nom : <input type="text" name="TB_nom_client" />
</p>
<p>
Votre prénom : <input type="text" name="TB_prénom" />
</p>

<p>
Numéro de téléphone : <input type="text" name="TB_numero_tel" />
</p>

<p>
Votre Adresse e-mail : <input type="text" name="TB_adresse_mail" />
</p>
<p>
<input type="submit" name="BT_Envoyer" value="Envoyer" />
</p>
</form>
<? } ?>
</body>
</html>

1 réponse

tarek_dotzero Messages postés 834 Statut Membre 122
 
Salut,

J'ai pas pu suivre le code, mais je vois que vous mettez l'ouverture de la base de données dans un "else", et la fermeture "close" en dehors de toutes les boucles. Dans le cas où vous ne passez pas par l'ouverture de la connection (la condition if est vérifiée donc vous n'entrez pas dans le "else"), et à la fin vous essayez de fermer une connection qui n'est pas ouverte donc vous aurez le Warning.
0
djchris972 Messages postés 6 Statut Membre
 
Bonjour
Donc je devrais mettre l'ouverture où svp.
Merci
0
djchris972 Messages postés 6 Statut Membre
 
Suite
Non merci j'ai suivi vos instructions et ça a marché yyyeeeeeaaaaahhhhh
Merci bcp ce site est top
0