Probleme avec l'insertion a la base de donnees

Fermé
Noor B Messages postés 3 Date d'inscription dimanche 16 février 2014 Statut Membre Dernière intervention 5 mars 2014 - 5 mars 2014 à 18:51
totodunet Messages postés 1377 Date d'inscription mercredi 18 mars 2009 Statut Membre Dernière intervention 5 mars 2020 - 5 mars 2014 à 20:09
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

2 réponses

totodunet Messages postés 1377 Date d'inscription mercredi 18 mars 2009 Statut Membre Dernière intervention 5 mars 2020 199
5 mars 2014 à 19:58
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
0
Noor B Messages postés 3 Date d'inscription dimanche 16 février 2014 Statut Membre Dernière intervention 5 mars 2014
5 mars 2014 à 20:03
moi personnellement je ne comprend pas
hhhhhhhhhhhhhhhhhhhhhhhhhhhh
parce que je copie le code et je suis peut tu dis "null" en PHP et MySQL
0
totodunet Messages postés 1377 Date d'inscription mercredi 18 mars 2009 Statut Membre Dernière intervention 5 mars 2020 199
Modifié par totodunet le 5/03/2014 à 20:12
???
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.
0
Noor B Messages postés 3 Date d'inscription dimanche 16 février 2014 Statut Membre Dernière intervention 5 mars 2014
5 mars 2014 à 20:06
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
0