Probleme avec php

Résolu/Fermé
Jidoune Messages postés 112 Date d'inscription samedi 21 juin 2008 Statut Membre Dernière intervention 16 octobre 2013 - 17 juin 2010 à 19:22
Jidoune Messages postés 112 Date d'inscription samedi 21 juin 2008 Statut Membre Dernière intervention 16 octobre 2013 - 17 juin 2010 à 19:59
Bonjour, actuellement je conçois un site web avec html/php5. Cependant, rendu a mon formulaire d'inscription, mon scipt ne veux pas enregistrer les données et en plus ne me revois rien. Je voudrais savoir ce serais quoi le problême. Merci d'avance

voici le code ( il a été inspirer d'un déja fais sur un autre site)
<?php

// Redirige l'utilisateur s'il est déjà identifié
if(isset($_COOKIE["ID_UTILISATEUR"]))
{
header("Location: index.php");
}
else
{

// 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(!preg_match("$[A-Za-z0-9_]{4,20}$", $_POST["TB_Nom_Utilisateur"]))
{
$message = "Votre nom d'utilisateur doit comporter entre 4 et 20 caractères<br />\n";
$message .= "L'utilisation de l'underscore est autorisée";
}
elseif(!preg_match("$[A-Za-z0-9]{4,}$", $_POST["TB_Mot_de_Passe"]))
{
$message = "Votre mot de passe doit comporter au moins 4 caractères";
}
elseif($_POST["TB_Mot_de_Passe"] != $_POST["TB_Confirmation_Mot_de_Passe"])
{
$message = "Votre mot de passe n'a pas été correctement confirmé";
}
elseif(!preg_match("$[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]{2,}[.][a-zA-Z]{2,4}$",$_POST["TB_Adresse_Email"]))
{
$message = "Votre adresse e-mail n'est pas valide";
}
elseif(!preg_match("$[0-9]+-[0-9]+-[0-9]{2,}$",$_POST["TB_numéro_téléphone"]))
{
$message = "Votre numéro de téléphone n'est pas valide";
}
elseif(!preg_match("$[\w\s,\.]{2,}$", $_POST["TB_Adresse"]))
{
$message = "Votre adresse n'est pas valide";
}
elseif(!preg_match("$\w+$",$_POST["TB_Prénom_Utilisateur"]))
{
$message = "Votre Prénom n'est pas valide";
}
else
{

// Connexion à la base de données
// Valeurs à modifier selon vos paramètres configuration
mysql_connect("localhost", "root", "");
mysql_select_db("site_cga_1");

// Vérification de l'unicité du nom d'utilisateur et de l'adresse e-mail
$result = mysql_query("
SELECT nom
, email
FROM comptes_utilisateurs
WHERE nom = '" . $_POST["TB_Nom_Utilisateur"] . "'
OR email = '" . $_POST["TB_Adresse_Email"] . "'
");

// Si une erreur survient
if(!$result)
{
$message = "Erreur d'accès à la base de données lors de la vérification d'unicité";
}
else
{

// Si un enregistrement est trouvé
if(mysql_num_rows($result) > 0)
{

while($row = mysql_fetch_array($result))
{

if($_POST["TB_Nom_Utilisateur"] == $row["Nom_Utilisateur"])
{
$message = "Le nom d'utilisateur " . $_POST["TB_Nom_Utilisateur"];
$message .= "est déjà utilisé";
}
elseif($_POST["TB_Adresse_Email"] == $row["Adresse_Email"])
{
$message = "L'adresse e-mail " . $_POST["TB_Adresse_Email"];
$message .= "est déjà utilisée";
}

}

}
else
{

// Génération de la clef d'activation
$caracteres = array("a", "b", "c", "d", "e", "f", 0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
$caracteres_aleatoires = array_rand($caracteres, 8);
$clef_activation = "";

foreach($caracteres_aleatoires as $i)
{
$clef_activation .= $caracteres[$i];
}

// Création du compte utilisateur
$result = mysql_query("
INSERT INTO 'site_cga_1'.'comptes_utilisateurs'(
, nom
, prenom
, mot de passe
, date inscription
, tel
, email
, adresse
, admin
, lait
, agr
, gestion
, clef_activation
)
VALUES(
'" . $_POST["TB_Nom_Utilisateur"] . "'
,'" . $_POST["TB_Prénom_Utilisateur"] . "'
,'" . md5($_POST["TB_Mot_de_Passe"]) . "'
,'" . time() . "'
,'" . $_POST["TB_numéro_téléphone"] . "'
,'" . $_POST["TB_Adresse_Email"] . "'
,'" . $_POST["TB_Adresse"] . "'
,'" . $_POST["TB_admin"] . "'
,'" . $_POST["TB_gestion"] . "'
,'" . $_POST["TB_agroenvironnement"] . "'
,'" . $_POST["TB_laitbio"] . "'
,'" . $clef_activation . "'

)
");

if(!$result)
{
$message = "Erreur d'accès à la base de données lors de la création du compte utilisateur";
}
}
} // 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>Création d'un compte</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" media="screen" type="text/css" title="Design" href="frame.css" />
</head>

<body>
<?php if(isset($message)) { ?>
<p><?php echo $message; ?></p>
<?php } if($masquer_formulaire != true) { ?>
<form action="http://<?php echo $_SERVER["SERVER_NAME"] . $_SERVER["SCRIPT_NAME"]; ?>" method="post">
<p>
Nom : <input type="text" name="TB_Nom_Utilisateur" />
</p>
<p>
Prénom : <input type="text" name="TB_Prénom_Utilisateur" />
</p>
<p>
Mot de passe : <input type="password" name="TB_Mot_de_Passe" />
</p>
<p>
Confirmation du mot de passe : <input type="password" name="TB_Confirmation_Mot_de_Passe" />
</p>
<p>
Adresse e-mail : <input type="text" name="TB_Adresse_Email" />
</p>
<p>
Numéro de téléphone : <input type="text" name="TB_numéro_téléphone" />
</p>
<p>
Adresse (numéro de porte, rue, ville): <input type="text" name="TB_Adresse" />
</p>
<p>
admin:<input type="text" name="TB_admin" value="1"/>
</p>
<p>
autorisation pour l'information sur le volet gestion:<input type="text" name="TB_gestion" value="1"/>
</p>
<p>
autorisation pour l'information sur le volet agroenvironnement:<input type="text" name="TB_agroenvironnement" value="1"/>
</p>
<p>
autorisation pour l'information sur le volet lait bio:<input type="text" name="TB_laitbio" value="1"/>
</p>
<p>
<input type="submit" name="BT_Envoyer" value="Envoyer" />
</p>
</form>
<?php } ?>
</body>
</html>



A voir également:

7 réponses

Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
17 juin 2010 à 19:39
ce n'est pas nécessaire mettre ces apostrophes penchées

par contre si tu fais

mysql_select_db("site_cga_1");


il n'est pas nécessaire de mettre dans ta requette:

INSERT INTO 'site_cga_1'.'comptes_utilisateurs' puisque ta base est déjà sélectionnée

$result = mysql_query("
INSERT INTO comptes_utilisateurs (
 nom
, prenom
, mot de passe
, date inscription
, tel
, email
, adresse
, admin
, lait
, agr
, gestion
, clef_activation
)
VALUES(
'" . $_POST["TB_Nom_Utilisateur"] . "'
,'" . $_POST["TB_Prénom_Utilisateur"] . "'
,'" . md5($_POST["TB_Mot_de_Passe"]) . "'
,'" . time() . "'
,'" . $_POST["TB_numéro_téléphone"] . "'
,'" . $_POST["TB_Adresse_Email"] . "'
,'" . $_POST["TB_Adresse"] . "'
,'" . $_POST["TB_admin"] . "'
,'" . $_POST["TB_gestion"] . "'
,'" . $_POST["TB_agroenvironnement"] . "'
,'" . $_POST["TB_laitbio"] . "'
,'" . $clef_activation . "'

)
") or die ("Pb avec la requette ".mysql_error()); 


//or die avec la trace d'erreur
//et tu avait une virgule en trop devant nom
//attention tes champs ne sont pas tous dans l'ordre !! lait, agr gestion par rapport aux valeurs POST
1
louloute300 Messages postés 335 Date d'inscription jeudi 3 juin 2010 Statut Membre Dernière intervention 28 novembre 2012 29
Modifié par louloute300 le 17/06/2010 à 19:26
INSERT INTO 'site_cga_1'.'comptes_utilisateurs'(
, nom
, prenom
, mot de passe
, date inscription
, tel
, email
, adresse
, admin
, lait
, agr
, gestion
, clef_activation
)
VALUES(
'" . $_POST["TB_Nom_Utilisateur"] . "'
,'" . $_POST["TB_Prénom_Utilisateur"] . "'
,'" . md5($_POST["TB_Mot_de_Passe"]) . "'
,'" . time() . "'
,'" . $_POST["TB_numéro_téléphone"] . "'
,'" . $_POST["TB_Adresse_Email"] . "'
,'" . $_POST["TB_Adresse"] . "'
,'" . $_POST["TB_admin"] . "'
,'" . $_POST["TB_gestion"] . "'
,'" . $_POST["TB_agroenvironnement"] . "'
,'" . $_POST["TB_laitbio"] . "'
,'" . $clef_activation . "'


les mots en gras doivent être entouré de l'apostrophe alt gr + 7
0
Jidoune Messages postés 112 Date d'inscription samedi 21 juin 2008 Statut Membre Dernière intervention 16 octobre 2013 9
17 juin 2010 à 19:29
Merci beaucoup mais dsl, c'est quoi alt gr +7.
0
louloute300 Messages postés 335 Date d'inscription jeudi 3 juin 2010 Statut Membre Dernière intervention 28 novembre 2012 29
Modifié par louloute300 le 17/06/2010 à 19:30
la touche Alt Gr (à droite de l'espace) + la touche 7
CCM n'affiche pas cet apostrophe la
0
Jidoune Messages postés 112 Date d'inscription samedi 21 juin 2008 Statut Membre Dernière intervention 16 octobre 2013 9
17 juin 2010 à 19:31
ok merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Jidoune Messages postés 112 Date d'inscription samedi 21 juin 2008 Statut Membre Dernière intervention 16 octobre 2013 9
17 juin 2010 à 19:38
pourrais tu donner un exemple de ton apostrophe parce que se ne marche pas avec mon clavier
0
Jidoune Messages postés 112 Date d'inscription samedi 21 juin 2008 Statut Membre Dernière intervention 16 octobre 2013 9
17 juin 2010 à 19:48
merci beaucoup mais là sa me dit :Pb avec la requette You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'de passe , date inscription , tel , email , adresse ' at line 4
0
louloute300 Messages postés 335 Date d'inscription jeudi 3 juin 2010 Statut Membre Dernière intervention 28 novembre 2012 29
17 juin 2010 à 19:58
Retire les espaces alors ou remplace les par "_"
0
Jidoune Messages postés 112 Date d'inscription samedi 21 juin 2008 Statut Membre Dernière intervention 16 octobre 2013 9
17 juin 2010 à 19:59
je vien de le remarquer merci quand meme
0
Jidoune Messages postés 112 Date d'inscription samedi 21 juin 2008 Statut Membre Dernière intervention 16 octobre 2013 9
17 juin 2010 à 19:58
J'ai régler mon problème, c'est mes variable qui avait des espaces, il fallait seulement les enlever. Merci beaucoup et bonne soiré
0