Probleme avec php
Résolu
Jidoune
Messages postés
112
Date d'inscription
Statut
Membre
Dernière intervention
-
Jidoune Messages postés 112 Date d'inscription Statut Membre Dernière intervention -
Jidoune Messages postés 112 Date d'inscription Statut Membre Dernière intervention -
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>
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
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
, 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:
- Probleme avec php
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php - Forum Webmastering
- Alert php - Forum PHP
- Retour a la ligne php ✓ - Forum PHP
7 réponses
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
//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
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
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
, nom
, prenom
, mot de passe
, date inscription
, tel
, 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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question