Bonjour,
Suite aux réponses que j'ai reçu dans un de mes dernier posts.
J'ai compris que je devais tester si la fonction execute vaut true (lors de l'envoi d'un formulaire).
J'ai donc essayer.
Mais j'ai le droit à une erreur, en gros elle dit que la fonction execute n'est pas défini à la ligne 20 (Correspondant à l'endroit ou je teste si elle vaut true ou false).
Je vous montre l'intégralité de mon code car je pense que le problème ne vient pas spécialement de la ligne 20
<?php
require 'cnx.php';
if(!empty($_POST)){ //Si les variables POST ne sont pas vide on continue
//Récupération des données depuis le formulaire
$lastname = $_POST['lastname'];
$firstname = $_POST['firstname'];
$nickname = $_POST['nickname'];
$email = $_POST['email'];
$password = sha1($_POST['password']);
//Insertion des données dans la bdd
$q = array('lastname' => $lastname, 'firstname' => $firstname, 'nickname' => $nickname, 'email' => $email, 'password' => $password);
$sql = 'INSERT INTO users (lastname, firstname, nickname, email, password) VALUES (:lastname, :firstname, :nickname, :email, :password)';
$req = $cnx->prepare($sql);
$req->execute($q);
}else{//Sinon on ne fait rien.
}
//L'insertion s'est-elle bien dérouler ?
if($req -> execute($q)){
header('Location:index.php'); //Oui, on redirige vers la page de connnexion.
}else{
header('Location:404.php'); //Non, on redirige vers la page d'erreur.
}
?>