Probleme avec l'insertion a la base de donnees
Noor B
Messages postés
3
Statut
Membre
-
totodunet Messages postés 1513 Statut Membre -
totodunet Messages postés 1513 Statut Membre -
Salut! bonsoir cava?
j'ai un petit problème avec mon code PHP
je veut créer une page PHP d'inscription
voilà le code
inscription.php
<?php
session_start();
?>
<?php
if( isset($_SESSION['ERRMSG_ARR']) && is_array($_SESSION['ERRMSG_ARR']) && count($_SESSION['ERRMSG_ARR']) >0 ) {
echo '<ul style="padding:0; color:red;">';
foreach($_SESSION['ERRMSG_ARR'] as $msg) {
echo '<li>',$msg,'</li>';
}
echo '</ul>';
unset($_SESSION['ERRMSG_ARR']);
}
?>
<form action="reg.php" method="POST">
Username:<br>
<input type="text" name="username" /><br>
Password:<br>
<input type="password" name="password" /><br>
Confirmation Password:<br>
<input type="password" name="conf_password" /><br>
Email:<br>
<input type="text" name="email" /><br>
<input type="submit" value="Save" />
</form>
et voila l'autre page
reg.php
<?php
function VerifMail($email)
{
$syntaxe='#^[w.-]+@[w.-]+.[a-zA-Z]{2,5}$#';
if(preg_match($syntaxe,$email)) return true;
else return false;
}
session_start();
$errmsg_arr = array();
$errflag = false;
// configuration
$dbhost = "localhost";
$dbname = "member";
$dbuser = "root";
$dbpass = "";
// database connection
$conn = new PDO("mysql:host=$dbhost;dbname=$dbname",$dbuser,$dbpass);
// new data
$username = $_POST['username'];
$password = $_POST['password'];
$email = $_POST['email'];
$conf_password = $_POST['conf_password'];
// Vérification de la validité des informations
if($username == '') {
$errmsg_arr[] = 'You must enter your Username';
$errflag = true;
}
//username occupee ou nn
if($password == '') {
$errmsg_arr[] = 'You must enter your Password';
$errflag = true;
}
if(!($password ==$conf_password) ) {
$errmsg_arr[] = 'Passwords are not compatible';
$errflag = true;
}
if($email == '') {
$errmsg_arr[] = 'You must enter your Email';
$errflag = true;
}
if((VerifMail($email))) {
$errmsg_arr[] = 'You must enter a valid Email';
$errflag = true;
}
if($errflag) {
$_SESSION['ERRMSG_ARR'] = $errmsg_arr;
session_write_close();
header("location: inscription.php");
exit();
}
// query
mysql_query("INSERT INTO 'users'(pseudo,password,email) VALUES ('$title','$author','$name','$copy')");
$sql = "INSERT INTO users (username,password,email) VALUES (:usename,:password,:email)";
$q = $conn->prepare($sql);
$q->execute(array(
'username'=>$username,
'password'=>$password,
'email'=>$email
));
header("location: home.php");
?>
j'ai besoin de l'aide le plus vte possible
mrc a vous
j'ai un petit problème avec mon code PHP
je veut créer une page PHP d'inscription
voilà le code
inscription.php
<?php
session_start();
?>
<?php
if( isset($_SESSION['ERRMSG_ARR']) && is_array($_SESSION['ERRMSG_ARR']) && count($_SESSION['ERRMSG_ARR']) >0 ) {
echo '<ul style="padding:0; color:red;">';
foreach($_SESSION['ERRMSG_ARR'] as $msg) {
echo '<li>',$msg,'</li>';
}
echo '</ul>';
unset($_SESSION['ERRMSG_ARR']);
}
?>
<form action="reg.php" method="POST">
Username:<br>
<input type="text" name="username" /><br>
Password:<br>
<input type="password" name="password" /><br>
Confirmation Password:<br>
<input type="password" name="conf_password" /><br>
Email:<br>
<input type="text" name="email" /><br>
<input type="submit" value="Save" />
</form>
et voila l'autre page
reg.php
<?php
function VerifMail($email)
{
$syntaxe='#^[w.-]+@[w.-]+.[a-zA-Z]{2,5}$#';
if(preg_match($syntaxe,$email)) return true;
else return false;
}
session_start();
$errmsg_arr = array();
$errflag = false;
// configuration
$dbhost = "localhost";
$dbname = "member";
$dbuser = "root";
$dbpass = "";
// database connection
$conn = new PDO("mysql:host=$dbhost;dbname=$dbname",$dbuser,$dbpass);
// new data
$username = $_POST['username'];
$password = $_POST['password'];
$email = $_POST['email'];
$conf_password = $_POST['conf_password'];
// Vérification de la validité des informations
if($username == '') {
$errmsg_arr[] = 'You must enter your Username';
$errflag = true;
}
//username occupee ou nn
if($password == '') {
$errmsg_arr[] = 'You must enter your Password';
$errflag = true;
}
if(!($password ==$conf_password) ) {
$errmsg_arr[] = 'Passwords are not compatible';
$errflag = true;
}
if($email == '') {
$errmsg_arr[] = 'You must enter your Email';
$errflag = true;
}
if((VerifMail($email))) {
$errmsg_arr[] = 'You must enter a valid Email';
$errflag = true;
}
if($errflag) {
$_SESSION['ERRMSG_ARR'] = $errmsg_arr;
session_write_close();
header("location: inscription.php");
exit();
}
// query
mysql_query("INSERT INTO 'users'(pseudo,password,email) VALUES ('$title','$author','$name','$copy')");
$sql = "INSERT INTO users (username,password,email) VALUES (:usename,:password,:email)";
$q = $conn->prepare($sql);
$q->execute(array(
'username'=>$username,
'password'=>$password,
'email'=>$email
));
header("location: home.php");
?>
j'ai besoin de l'aide le plus vte possible
mrc a vous
2 réponses
-
salut
je ne comprend pas, tu utilises mysql_query()ou PDO ?
sachant que mysql_query() est amené à disparaître et que je ne voit pas de mysql_connect() avant dans ton code
-
le problème dans ce code
dans le cas d'erreur il affiche les messages
pas d'erreur il envoyer moi à la page d'accueil
sans introduit dans la base de données