Problème avec ma base sql
John smith3
Messages postés
28
Statut
Membre
-
Alain_42 Messages postés 5413 Statut Membre -
Alain_42 Messages postés 5413 Statut Membre -
Bonjour,
vois-ci mon code :
tous fonctionne, il n'y a aucun message d'erreur mais mais la commande ne s'effectue pas ! rien est ajouté à la table de ma base de donnée !
Quelqu'un pourrais me dire ce qui cloche ? merci !
vois-ci mon code :
<?php
if ($_POST['pass'] == $_POST['verif'])
{
try
{
$bdd = new PDO('mysql:host=localhost;dbname=mabase', 'root', '');
}
catch (Exception $e)
{
die('Erreur : ' . $e->getMessage());
}
$bdd->exec('INSERT INTO matable(pseudo, pass) VALUES($_POST[\'pseudo\'], $_POST[\'pass\'])');
echo "Votre compte a bien été créé !!!<br /><br /> Vous allez être redirigé vers le formulaire de candidature...
";
}
else {echo "Les mots de passe ne corresponde pas !!!
<script language=\"javascript\">
function gotoUrl() {
window.location='index.php';
}
setTimeout('gotoUrl()', 3000);
</script>";
}
?>
tous fonctionne, il n'y a aucun message d'erreur mais mais la commande ne s'effectue pas ! rien est ajouté à la table de ma base de donnée !
Quelqu'un pourrais me dire ce qui cloche ? merci !
A voir également:
- Problème avec ma base sql
- Base de registre - Guide
- Formules mathématiques de base - Télécharger - Études & Formations
- Formules excel de base - Guide
- Tnt base de données vide ✓ - Forum TNT / Satellite / Réception
- Logiciel sql - Télécharger - Bases de données
4 réponses
si tu fais une redirection qd l'enr dans la BDD est ok tu ne verra pas le message echo "Votre compte a bien....
ni celui du else
et dans ton else pour rediriger pas besoin de javascript
tu fais:
plus simple non ? par contre il ne faut pas qu'il y ait du code html avant
et dans ta page index.php il suffit de capter cette erreur pour afficher le message
ni celui du else
et dans ton else pour rediriger pas besoin de javascript
tu fais:
else{
header('Location:href=index.php?erreur=diff_passwd');
}
plus simple non ? par contre il ne faut pas qu'il y ait du code html avant
et dans ta page index.php il suffit de capter cette erreur pour afficher le message
//a l'endroit ou tu veux que le mesage d'erreur s'affiche tu mets:
if(isset($_GET['erreur']) AND $_GET['erreur']=="diff_passwd"){
echo '<font color="red">Les mots de passe ne corresponde pas !!!</font>';
}
Tu vois ton echo "Votre compte a bien été créé !!!<br /><br /> Vous allez être redirigé vers le formulaire de candidature...
"; lors de l'execution?
"; lors de l'execution?
Je me suis mal exprimé, je suppose que avant le code que tu as posté tu as un formulaire.
Ce que je souhaitais savoir c'est : est ce que lors de la soumission du formulaire le echo à la fin du if($_POST['pass'] == $_POST['verif']) apparait sur ta page? Autrement dit , es tu sûr que le programme entre dans le if?
Ce que je souhaitais savoir c'est : est ce que lors de la soumission du formulaire le echo à la fin du if($_POST['pass'] == $_POST['verif']) apparait sur ta page? Autrement dit , es tu sûr que le programme entre dans le if?
essaies comme ça:
<?php
if ($_POST['pass'] == $_POST['verif'])
{
try
{
$bdd = new PDO('mysql:host=localhost;dbname=mabase', 'root', '');
$bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch (Exception $e)
{
die('Echec connexion : ' . $e->getMessage());
}
//preparation de la requette
$requete_prepare_1 = $bdd->prepare("INSERT INTO matable(pseudo, pass) VALUES($_POST['pseudo'], $_POST['pass'])");
//ci dessus je pense que les \' gênaient
//ça c'est pour voir les erreurs
if (!$requete_prepare_1) {
echo "<br />PDO::errorInfo():<br />";
print_r($dbh->errorInfo());
}
///
$requete_prepare_1->execute();
echo "Votre compte a bien été créé !!!<br /><br /> Vous allez être redirigé vers le formulaire de candidature...";
//etc....
}