Problème d'update php/mysqli
Résolu
Tzmagnum
Messages postés
126
Date d'inscription
Statut
Membre
Dernière intervention
-
Tzmagnum Messages postés 126 Date d'inscription Statut Membre Dernière intervention -
Tzmagnum Messages postés 126 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Pourquoi via ce code, quand je modifie les cases de mon formulaire rien ne change svp ?
Le select fonctionne, mais pas l'update.
Et pourquoi cela n'affiche pas le message suivant svp ?
Merci d'avance.
Pourquoi via ce code, quand je modifie les cases de mon formulaire rien ne change svp ?
Le select fonctionne, mais pas l'update.
Et pourquoi cela n'affiche pas le message suivant svp ?
"<div class='sucess'> <h3>Votre profil a été modifié avec succés.</h3> <p>Cliquez <a href='home.php'>ici</a> pour retourner à la page d'accueil</p> </div>"
Merci d'avance.
<!DOCTYPE html> <html> <head> <link rel="stylesheet" href="../style.css" /> </head> <body> <?php require('../config.php'); session_start(); // Vérifiez si l'utilisateur est connecté, sinon redirigez-le vers la page de connexion if(!isset($_SESSION["username"])){ header("Location: ../login.php"); exit(); } $sqlpr = "SELECT * FROM `users` WHERE `username` = '".$_SESSION['username']."'"; $requetepr = mysqli_query($conn,$sqlpr); $resultpr = mysqli_fetch_array($requetepr); if (isset($_REQUEST['username'], $_REQUEST['name'], $_REQUEST['email'])){ // récupérer le nom d'utilisateur $username = stripslashes($_REQUEST['username']); $username = mysqli_real_escape_string($conn, $username); // récupérer le nom complèt de l'utilisateur $name = stripslashes($_REQUEST['name']); $name = mysqli_real_escape_string($conn, $name); // récupérer l'email $email = stripslashes($_REQUEST['email']); $email = mysqli_real_escape_string($conn, $email); $result = mysqli_query($conn,$query) or die(mysql_error()); $user = mysqli_fetch_assoc($result); $query = "UPDATE `users` SET `username`='$username', `name`='$name', `email`='$email' WHERE `username`='".$_SESSION['username']."'"; $res = mysqli_query($conn, $query); if($res){ echo "<div class='sucess'> <h3>Votre profil a été modifié avec succés.</h3> <p>Cliquez <a href='home.php'>ici</a> pour retourner à la page d'accueil</p> </div>"; } }else{ ?> <form class="box" action="" method="post"> <h1 class="box-logo box-title"> <a href="http://lc-sd.be/visa/">Visa Lc-sd.be</a> </h1> <h1 class="box-title">Modification de votre profil</h1> <input type="text" class="box-input" name="username" value="<?php echo $resultpr['username']; ?>" disabled="disabled" /> <input type="text" class="box-input" name="name" value="<?php echo $resultpr['name']; ?>" /> <input type="text" class="box-input" name="email" value="<?php echo $resultpr['email']; ?>" /> <input type="submit" name="submit" value="Modifier" class="box-button" /> <p class="box-index">Cliquez <a href='home.php'>ici</a> pour retourner à la page d'accueil</p> </form> <?php } ?> </body> </html>
Configuration: Windows / Chrome 89.0.4389.90
A voir également:
- Mysqli update php
- Windows update bloqué - Guide
- Winget update - Guide
- Asus live update - Télécharger - Utilitaires
- Easy php - Télécharger - Divers Web & Internet
- Wsus offline update - Télécharger - Systèmes d'exploitation
3 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour,
d'où sort
d'où sort
$_REQUEST?
Bonjour,
Un peu de lecture :
https://www.php.net/manual/fr/mysqli.error.php
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
Ce qui donnerait un truc du genre :
Un peu de lecture :
https://www.php.net/manual/fr/mysqli.error.php
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
Ce qui donnerait un truc du genre :
<?php // Démarrage des session ( à mettre AU TOUT DEBUT DES FICHIERS AVANT TOUT LE RESTE ) session_start(); //affichage des erreurs php error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE); require('../config.php'); // Vérifiez si l'utilisateur est connecté, sinon redirigez-le vers la page de connexion if(!isset($_SESSION["username"])){ header("Location: ../login.php"); exit(); } // Récupération propre des variables AVANT de les utiliser $username = !empty($_SESSION["username"]) ? $_SESSION["username"]: NULL; $form_username = !empty($_POST['username'] ) ? $_POST['username']: NULL; $form_name= !empty($_POST['name'] ) ? $_POST['name']: NULL; $form_email = !empty($_POST['email'] ) ? $_POST['email']: NULL; $sqlpr = "SELECT * FROM `users` WHERE `username` = '".$username."'"; if(! $requetepr = mysqli_query($conn,$sqlpr)){ printf("Erreur dans la requete : %s\n", $mysqli->error); exit; } $resultpr = mysqli_fetch_array($requetepr); if($form_name && $form_username && $form_email ){ $username = mysqli_real_escape_string($conn, $username); $name = mysqli_real_escape_string($conn, $name); $email = mysqli_real_escape_string($conn, $email); $query = "UPDATE `users` SET `username`='$form_username', `name`='$form_name', `email`='$form_email' WHERE `username`='".$username."'"; if(! $res = mysqli_query($conn, $query)){ printf("Erreur dans la requete : %s\n", $mysqli->error); exit; } } <!DOCTYPE html> <html> <head> <link rel="stylesheet" href="../style.css" /> <meta charset="utf-8"> </head> <body> <?php if($form_name && $form_username && $form_email ){ if($res){ echo "<div class='sucess'> <h3>Votre profil a été modifié avec succés.</h3> <p>Cliquez <a href='home.php'>ici</a> pour retourner à la page d'accueil</p> </div>"; } }else{ ?> <form class="box" action="" method="post"> <h1 class="box-logo box-title"> <a href="http://lc-sd.be/visa/">Visa Lc-sd.be</a> </h1> <h1 class="box-title">Modification de votre profil</h1> <input type="text" class="box-input" name="username" value="<?php echo $resultpr['username']; ?>" disabled="disabled" /> <input type="text" class="box-input" name="name" value="<?php echo $resultpr['name']; ?>" /> <input type="text" class="box-input" name="email" value="<?php echo $resultpr['email']; ?>" /> <input type="submit" name="submit" value="Modifier" class="box-button" /> <p class="box-index">Cliquez <a href='home.php'>ici</a> pour retourner à la page d'accueil</p> </form> <?php } ?> </body> </html>
Bonjour,
Merci, j'ai testé.
Mais malgré tout malheureusement l'update ne se fait pas, je ne comprends pas même en lisant les 2 pages que tu m'as donné, pourquoi cela ne fonctionne pas et il n'y a aucun code erreur.
Cela ré-affiche simplement le formulaire après avoir par exemple changer le nom et avoir cliquer sur "modifier"
Merci d'avance.
Merci, j'ai testé.
Mais malgré tout malheureusement l'update ne se fait pas, je ne comprends pas même en lisant les 2 pages que tu m'as donné, pourquoi cela ne fonctionne pas et il n'y a aucun code erreur.
Cela ré-affiche simplement le formulaire après avoir par exemple changer le nom et avoir cliquer sur "modifier"
Merci d'avance.
<?php // Démarrage des session ( à mettre AU TOUT DEBUT DES FICHIERS AVANT TOUT LE RESTE ) session_start(); //affichage des erreurs php error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE); require('../config.php'); // Vérifiez si l'utilisateur est connecté, sinon redirigez-le vers la page de connexion if(!isset($_SESSION["username"])){ header("Location: ../login.php"); exit(); } // Récupération propre des variables AVANT de les utiliser $username = !empty($_SESSION["username"]) ? $_SESSION["username"]: NULL; $form_username = !empty($_POST['username'] ) ? $_POST['username']: NULL; $form_name= !empty($_POST['name'] ) ? $_POST['name']: NULL; $form_email = !empty($_POST['email'] ) ? $_POST['email']: NULL; $sqlpr = "SELECT * FROM `users` WHERE `username` = '".$username."'"; if(! $requetepr = mysqli_query($conn,$sqlpr)){ printf("Erreur dans la requete : %s\n", $mysqli->error); exit; } $resultpr = mysqli_fetch_array($requetepr); if($form_name && $form_username && $form_email ){ $username = mysqli_real_escape_string($conn, $username); $name = mysqli_real_escape_string($conn, $name); $email = mysqli_real_escape_string($conn, $email); $query = "UPDATE `users` SET `username`='$form_username', `name`='$form_name', `email`='$form_email' WHERE `username`='".$username."'"; if(! $res = mysqli_query($conn, $query)){ printf("Erreur dans la requete : %s\n", $mysqli->error); exit; } } ?> <!DOCTYPE html> <html> <head> <link rel="stylesheet" href="../style.css" /> <meta charset="utf-8"> </head> <body> <?php if($form_name && $form_username && $form_email ){ if($res){ echo "<div class='sucess'> <h3>Votre profil a été modifié avec succés.</h3> <p>Cliquez <a href='home.php'>ici</a> pour retourner à la page d'accueil</p> </div>"; } }else{ ?> <form class="box" action="" method="post"> <h1 class="box-logo box-title"> <a href="http://lc-sd.be/visa/">Visa Lc-sd.be</a> </h1> <h1 class="box-title">Modification de votre profil</h1> <input type="text" class="box-input" name="username" value="<?php echo $resultpr['username']; ?>" disabled="disabled" /> <input type="text" class="box-input" name="name" value="<?php echo $resultpr['name']; ?>" /> <input type="text" class="box-input" name="email" value="<?php echo $resultpr['email']; ?>" /> <input type="submit" name="submit" value="Modifier" class="box-button" /> <p class="box-index">Cliquez <a href='home.php'>ici</a> pour retourner à la page d'accueil</p> </form> <?php } ?> </body> </html>
Ah.. je viens de voir...
Enleve le disabled="disabled" ... et utilise, à la place, le readonly
https://www.w3schools.com/tags/att_input_readonly.asp
Sinon, le username n'est jamais envoyé dans le form
Enleve le disabled="disabled" ... et utilise, à la place, le readonly
https://www.w3schools.com/tags/att_input_readonly.asp
Sinon, le username n'est jamais envoyé dans le form
Bonjour,
Avec readonly et « var_dump($_POST) » au début, cela fonctionne, mais cela m’affiche les erreurs suivantes :
C’est un serveur dédier Ovh.
Et l’url lorsque je fais le submit, c’est la même que celle du formulaire : http://lc-sd.be/visa/login.php
Merci d’avance.
Avec readonly et « var_dump($_POST) » au début, cela fonctionne, mais cela m’affiche les erreurs suivantes :
array(4) { ["username"]=> string(5) "Admin" ["name"]=> string(19) "Tziolopoulos Kevin1" ["email"]=> string(18) "tzmagnum@gmail.com" ["submit"]=> string(8) "Modifier" }
Notice: Undefined variable: name in /var/www/visa/admin/profil_admin.php on line 36
Notice: Undefined variable: email in /var/www/visa/admin/profil_admin.php on line 37
C’est un serveur dédier Ovh.
Et l’url lorsque je fais le submit, c’est la même que celle du formulaire : http://lc-sd.be/visa/login.php
Merci d’avance.
Et mon formulaire d’inscription fonctionne avec cela via ma requête insert. Et celui-ci fonctionne.
Bien à vous
Merci quand même
Ton else correspond au isset $_REQUEST.... Pas surle if($res)
De rien.