Besoin d'aide, création d'un espace membre

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Besoin d'aide, création d'un espace membre

Re: Besoin d'aide, création d'un espace membre

par David10 » 29 déc. 2019, 06:10

C'est normal qu'il y ait des points d'interrogations dans ton script PHP?

Where email = ?

Et dans la fonction INSERT, il te faut des nom de variables au lieu des points d'interrogation, non?

Je ne suis pas très calé en PHP, donc c'est juste un doute que j'ai

Re: Besoin d'aide, création d'un espace membre

par YpnoZ » 20 déc. 2019, 22:41

Je ne sais pas si je l'ai bien utilisé :

Code : Tout sélectionner

if (mysqli_connect_errno()) { printf("Échec de la connexion : %s\n", mysqli_connect_error()); exit(); } if(empty(trim($_POST["email"]))){ $email_err = "Veuillez inscrire votre adresse mail !"; } else{ $sql = "SELECT id FROM users WHERE email = ?"; if($stmt = mysqli_prepare($link, $sql)){ // Bind variables to the prepared statement as parameters mysqli_stmt_bind_param($stmt, "s", $param_email); // Set parameters $param_email = trim($_POST["email"]); // Attempt to execute the prepared statement if(mysqli_stmt_execute($stmt)){ /* store result */ mysqli_stmt_store_result($stmt); if(mysqli_stmt_num_rows($stmt) == 1){ $email_err = "Cet email est déjà pris !"; } else{ $email = trim($_POST["email"]); } } else{ echo "Oops! Something went wrong. Please try again later."; } } mysqli_stmt_close($stmt); }
Si oui : ça ne m'affiche rien :/
Si non : où le placer ?

Re: Besoin d'aide, création d'un espace membre

par or 1 » 20 déc. 2019, 21:54

Besoin d'aide, création d'un espace membre

par YpnoZ » 20 déc. 2019, 21:45

Bonsoir,
Je suis débutant en PHP et je voulais créer pour mon site web un système de compte utilisateur. J'ai suivi un tuto :https://www.tutorialrepublic.com/php-tu ... system.php mais je voulais rajouter dans le fichier register.php une donnée "Mail" pour stocker... les mails ! (et oui =D> ). Je me suis donc inspiré du code pour l'username et j'ai fait ça :

Code : Tout sélectionner

if(empty(trim($_POST["email"]))){ $email_err = "Veuillez inscrire votre adresse mail !"; } else{ $sql = "SELECT id FROM users WHERE email = ?"; if($stmt = mysqli_prepare($link, $sql)){ // Bind variables to the prepared statement as parameters mysqli_stmt_bind_param($stmt, "s", $param_email); // Set parameters $param_email = trim($_POST["email"]); // Attempt to execute the prepared statement if(mysqli_stmt_execute($stmt)){ /* store result */ mysqli_stmt_store_result($stmt); if(mysqli_stmt_num_rows($stmt) == 1){ $email_err = "Cet email est déjà pris !"; } else{ $email = trim($_POST["email"]); } } else{ echo "Oops! Something went wrong. Please try again later."; } } mysqli_stmt_close($stmt); }
J'ai également modifier le code qui insert les données dans la BDD :

Code : Tout sélectionner

if(empty($username_err) && empty($password_err) && empty($confirm_password_err) && empty($email_err)){ // Prepare an insert statement $sql = "INSERT INTO users (username, password, email) VALUES (?, ?, ?)"; if($stmt = mysqli_prepare($link, $sql)){ // Bind variables to the prepared statement as parameters mysqli_stmt_bind_param($stmt, "ss", $param_username, $param_password, $param_email); // Set parameters $param_username = $username; $param_password = password_hash($password, PASSWORD_DEFAULT); // Creates a password hash $param_email = $email; // Attempt to execute the prepared statement if(mysqli_stmt_execute($stmt)){ // Redirect to login page header("location: login.php"); } else{ echo "Something went wrong. Please try again later."; //<--ICI } } // Close statement mysqli_stmt_close($stmt); }
Mais quand je teste : - Aucune donnée n'est inscrite dans la BDD
- J'obtient le message : (juste au dessus, dans le code, où c'est marqué "<-- ICI")

Je fais appelle à vous pour m'aider car comme je l'ai dit je débute et là je comprends pas ^^'

Merci d'avance,
𝒴𝓅𝓃𝑜𝒵#7796