Problème pas si urgent a resoudre

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');
}
?>

10 réponses

  1. salut,
    alerte() enfin plutot alert() c'est du javascript.

    Bonne soirée
    0
    1. je l'ai déja essayé mais ça marche pas
      0
      1. ca marche pas, je pense que mon serveur ne lit pas les codes php
        0
        1. 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 ????
          0
          1. 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
            0
            1. attends 10 minutes je test le code que j'ai fait
              0
              1. 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
                0
                1. 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...

                  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";
                  

                  }
                  }
                  ?>
                  0
                  1. 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.
                    0
                2. 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
                  0
                  1. j'ai toujours le meme probléme, aidez moi
                    0
                    1. si mon serveur ne prends pas en charge le code php, ca sera quoi la solution ??
                      0
                    2. tu travail avec wamp ou easyphp ?

                      tes fichiers sont .html ou .php ?
                      0
                    3. je travaille avec wamp et mes fichiers sont en php
                      0