Probleme mysql

Résolu/Fermé
djchris972 Messages postés 6 Date d'inscription lundi 9 mars 2009 Statut Membre Dernière intervention 11 mars 2009 - 9 mars 2009 à 11:06
djchris972 Messages postés 6 Date d'inscription lundi 9 mars 2009 Statut Membre Dernière intervention 11 mars 2009 - 10 mars 2009 à 01:24
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 817 Date d'inscription jeudi 19 juillet 2007 Statut Membre Dernière intervention 12 avril 2022 122
9 mars 2009 à 11:41
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 Date d'inscription lundi 9 mars 2009 Statut Membre Dernière intervention 11 mars 2009
10 mars 2009 à 01:12
Bonjour
Donc je devrais mettre l'ouverture où svp.
Merci
0
djchris972 Messages postés 6 Date d'inscription lundi 9 mars 2009 Statut Membre Dernière intervention 11 mars 2009
10 mars 2009 à 01:24
Suite
Non merci j'ai suivi vos instructions et ça a marché yyyeeeeeaaaaahhhhh
Merci bcp ce site est top
0