Problème pas si urgent a resoudre
ennaoumi
Messages postés
17
Date d'inscription
Statut
Membre
Dernière intervention
-
ennaoumi Messages postés 17 Date d'inscription Statut Membre Dernière intervention -
ennaoumi Messages postés 17 Date d'inscription Statut Membre Dernière intervention -
Bonsoir à tous, j'essaye de créer une application web mais j'ai un problème lorsque je veux ajouter qlq chose dans la base de données via le formulaire, on m'affiche la partie du code php et les données ne s'ajoute pa
voila la page affiché, elle contient juste ce code :
<?php
require(connect.php);
if($_POST['submit']){
$nom=$_POST['nom'];
$prenom=$_POST['prenom'];
$matricule=$_POST['matricule'];
$service=$_POST['service'];
$username=$_POST['username'];
$password=$_POST['password'];
$confirmationpass=$_POST['confirmationpass'];
if(isset($nom) && isset($prenom) && isset($matricule) && isset($service) && isset($username) && isset($password) && isset($confirmationpass)){
$query= mysql_query("INSERTE INTO profil VALUES('','$nom','$prenom','$matricule','$service','$username','$password','$confirmationpass','')") or die ("erreur d'inscription");
if($query){
alerte('Votre inscription est effectuée avec succès');
}
}else{
alerte('Veuillez remplir les champs');
}
?>
voila la page affiché, elle contient juste ce code :
<?php
require(connect.php);
if($_POST['submit']){
$nom=$_POST['nom'];
$prenom=$_POST['prenom'];
$matricule=$_POST['matricule'];
$service=$_POST['service'];
$username=$_POST['username'];
$password=$_POST['password'];
$confirmationpass=$_POST['confirmationpass'];
if(isset($nom) && isset($prenom) && isset($matricule) && isset($service) && isset($username) && isset($password) && isset($confirmationpass)){
$query= mysql_query("INSERTE INTO profil VALUES('','$nom','$prenom','$matricule','$service','$username','$password','$confirmationpass','')") or die ("erreur d'inscription");
if($query){
alerte('Votre inscription est effectuée avec succès');
}
}else{
alerte('Veuillez remplir les champs');
}
?>
10 réponses
Salut c'est quoi comme serveur ? c'est en local ou en ligne ? Tu as des messages d'erreurs ?
... on m'affiche la partie du code php...
tes extensions sont bien .php ????
... on m'affiche la partie du code php...
tes extensions sont bien .php ????
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
c'est local, nn je recois pa des messages d'erreur
quand je saisis les données dans le formulaire au lieu de m'onvoyer un msg(les données sont ajoutés avec succés) il me redirige vars une page qui contient le code php
quand je saisis les données dans le formulaire au lieu de m'onvoyer un msg(les données sont ajoutés avec succés) il me redirige vars une page qui contient le code php
Salut, je suis désolé je suis long...
je dois être fatigué car je n'arrive meme pas à faire un insert :/
ou alors c'est hostinger qui fait encore des ennuies
on verra demain
bonne nuit
je dois être fatigué car je n'arrive meme pas à faire un insert :/
ou alors c'est hostinger qui fait encore des ennuies
on verra demain
bonne nuit
Salut, j'ai plus l'habitude d'utiliser pdo
j'ai mis des / sur les variables pour proteger (si besoin) meme si avec les requete préparé c'est déjà plus sécurisé. J'ai hashé les mots de passes aussi...
}
}
?>
j'ai mis des / sur les variables pour proteger (si besoin) meme si avec les requete préparé c'est déjà plus sécurisé. J'ai hashé les mots de passes aussi...
if($_POST) { $nom=addslashes($_POST['nom']); $prenom=addslashes($_POST['prenom']); $matricule=addslashes($_POST['matricule']); $service=addslashes($_POST['service']); $username=addslashes($_POST['username']); $password=sha1($_POST['password']); $confirmationpass=sha1($_POST['confirmationpass']); if(isset($nom)&&isset($prenom)&&isset($matricule)&&isset($service)&&isset($username)&&isset($password)&&isset($confirmationpass)&&$password==$confirmationpass) { try { $bdd=new PDO('mysql:mysql;dbname=nombase','utilisateur','mdp'); } catch (Exception $e) { die('Erreur : '.$e->getMessage()); } $sql = "INSERT INTO profil(nom, prenom, matricule, service, username, password, confirmationpass) VALUES(:nom,:prenom, :matricule,:service , :username, :password,:confirmationpass)"; $q=array("nom"=>$nom,"prenom"=>$prenom,"matricule"=>$matricule,"service"=>$service,"username"=>$username,"password"=>$password,"confirmationpass"=>$confirmationpass); $req=$bdd->prepare($sql); $req->execute($q); echo ($req==true) ? "c'est ok" : "petit souci";
}
}
?>
Salut lobotoFix,
Il est pas utile d'utiliser la fonction addslashes sur tes données avant de les insérés en bdd. Comme tu l'a bien noté, les requêtes préparées protèges déjà tes données contre les injections sql ;)
A part modifier les données envoyés par l'utilisateur et donc être obligé d'utiliser la fonction stripcslashes() lors de la récupération de ces données, il n'y a pas d'intérêt à ajouter les slashes.
Sinon, le sha1 est un peu vieux et donc plus vraiment recommandé, mais c'est déjà un bon réflexe de ne pas stocker les mots de passe en clair.
Il est pas utile d'utiliser la fonction addslashes sur tes données avant de les insérés en bdd. Comme tu l'a bien noté, les requêtes préparées protèges déjà tes données contre les injections sql ;)
A part modifier les données envoyés par l'utilisateur et donc être obligé d'utiliser la fonction stripcslashes() lors de la récupération de ces données, il n'y a pas d'intérêt à ajouter les slashes.
Sinon, le sha1 est un peu vieux et donc plus vraiment recommandé, mais c'est déjà un bon réflexe de ne pas stocker les mots de passe en clair.
Bonjour,
autre chose, tu utilises isset, or, isset vérifie juste si la variable existe, ce qui sera vrai dans tous les cas, meme si le champ envoyé est vide.
je te conseille donc d'utiliser empty, qui lui vérifie si le champ est vide ou non
autre chose, tu utilises isset, or, isset vérifie juste si la variable existe, ce qui sera vrai dans tous les cas, meme si le champ envoyé est vide.
je te conseille donc d'utiliser empty, qui lui vérifie si le champ est vide ou non
j'ai toujours le meme probléme, aidez moi
salut,
si tu vois ton code php c'est soit que tes fichiers ont une autre esxtension ou que ton serveur ne prends pas en charge php...
je t'ai déjà posé ces questions mais tu réponds pas...
https://forums.commentcamarche.net/forum/affich-30247880-probleme-pas-si-urgent-a-resoudre#5
si tu vois ton code php c'est soit que tes fichiers ont une autre esxtension ou que ton serveur ne prends pas en charge php...
je t'ai déjà posé ces questions mais tu réponds pas...
https://forums.commentcamarche.net/forum/affich-30247880-probleme-pas-si-urgent-a-resoudre#5
je vous ai repondu a propos des questions
https://forums.commentcamarche.net/forum/affich-30247880-probleme-pas-si-urgent-a-resoudre#5
https://forums.commentcamarche.net/forum/affich-30247880-probleme-pas-si-urgent-a-resoudre#5