Probleme avec l'insertion a la base de donnees
Noor B
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
totodunet Messages postés 1377 Date d'inscription Statut Membre Dernière intervention -
totodunet Messages postés 1377 Date d'inscription Statut Membre Dernière intervention -
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
A voir également:
- Probleme avec l'insertion a la base de donnees
- Fuite données maif - Guide
- Base de registre - Guide
- Supprimer les données de navigation - Guide
- Touche insertion clavier - Guide
- Insertion sommaire word - Guide
hhhhhhhhhhhhhhhhhhhhhhhhhhhh
parce que je copie le code et je suis peut tu dis "null" en PHP et MySQL
là c'est ta phrase que je ne comprend pas aussi.
fais attention aussi pour la redirection (fonction header), elle doit être placée avant l'envoi de balises html HTML donc avant le doctype.