Problème d'ajout dans la bd mysql

Résolu/Fermé
Signaler
-
Messages postés
24
Date d'inscription
dimanche 27 avril 2008
Statut
Membre
Dernière intervention
15 octobre 2014
-
coucou tout le monde
Bon je vous explique mon problème je suis entrain de faire l'ajout dans la base de données a travers un formulaire php
je voudrai savoir comment ouvrir la page cible dans la même fenêtre
MERCI D'AVANCE

formulaire:
<form action="cibleinscription.php" method="post" enctype="multipart/form-data" target="resultat" id="f1"> 
      <fieldset id="container"> 
      <legend>Inscription</legend> 
      <label for="file">Photo :</label> 
      <input type="file" name="avatar" size="50" /> 
      <br /> <br /> 
      <label for="username">Nom d'utilisateur : </label> 
      <input type="text" name="username" size="30" id="username" /> 
      <br /> <br /> 
      <label for="password">Mot de passe : </label> 
      <input type="text" name="password" size="30" id="password" /> 
      <br /> <br /> 
      <label for="cin">CIN / Passport : </label> 
      <input type="text" name="cin" id="cin" size="30" /> 
      <br /> <br /> 
      <label for="fonction">Fonction : </label> 
      <input type="text" name="fonction" id="fonction" size="30" /> 
      <input type="submit" value="Envoyer" id="submit" class="bout" /> 
      <input type="reset" value="Annuler" class="bout" /> 
   </fieldset>   
    </form> 

6 réponses

Messages postés
445
Date d'inscription
samedi 3 avril 2010
Statut
Membre
Dernière intervention
3 novembre 2011
58
Il suffit d'enlever l'attribut target dans la balise form !
merci beaucoup c'est résolu ca
mais j'ai une erreur dans l'ajout , toute la table est parfaitement rempli sauf un champ avatar qui va contenir l'adresse du fichier dans lequel se trouve l'image
si vous pouvez m'aider svp et merci
 <?php

  require('../connect.php');
//si tous les données sont bien saisies
if( !empty($_POST['username'])&& !empty($_POST['password'])&& !empty($_POST['cin']) && !empty($_POST['fonction']))
{
//récupération des données saisies dont des variables

  $dossier = 'avatar/';
$fichier = basename($_FILES['avatar']['name']);
$taille_maxi = 100000;
$taille = filesize($_FILES['avatar']['tmp_name']);
$extensions = array('.jpeg', '.jpg', '.png');
$extension = strrchr($_FILES['avatar']['name'], '.'); 
//Début des vérifications de sécurité...
if(file_exists($dossier . $fichier)){
	 $erreur = 'Veuillez renommer votre photo en suivant cette exemple: PrenomNom';
}
if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
{
     $erreur = 'Vous devez uploader une photo de type png, jpeg ou jpg';
}
if($taille>$taille_maxi)
{
     $erreur = 'La taille de la photo est trop gros...';
}
if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
{
     //On formate le nom du fichier ici...
     $fichier = strtr($fichier, 
          'Ã?Â?Ã? Ã?Â?Ã?Â?Ã?Â?Ã?Â?Ã?Â?Ã?Â?Ã?Â?Ã?Â?Ã?Â?Ã?Â?Ã? Ã?Â?Ã? Ã?Â?Ã?Â?Ã?Â?Ã?Â?Ã?Â?Ã?Â?Ã?Â?Ã?Â?Ã?Â?Ã? Ã? Ã?¡Ã?¢Ã?£Ã?¤Ã?Â¥Ã?§Ã?¨Ã?©Ã?ªÃ?«Ã?¬Ã?­Ã?®Ã?¯Ã?°Ã?²Ã?³Ã?Â'Ã?µÃ?¶Ã?¹Ã?ºÃ?»Ã?¼Ã?½Ã?¿', 
          'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
     $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
     if(move_uploaded_file($_FILES['avatar']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
     {
          echo 'Upload effectué avec succés !';
     }
     else //Sinon (la fonction renvoie FALSE).
     {
          echo 'Echec de l\'upload !';
     }
}
else
{
     echo $erreur;
}
  $username=mysql_escape_string($_POST['username']);
  $password=mysql_escape_string($_POST['password']);
  $cin=mysql_escape_string($_POST['cin']); 
  $fonction=mysql_escape_string($_POST['fonction']);
  $avatar=$dossier . $fichier;

    
  //Requête SQL

  $query="INSERT INTO user (username,password ,cin, fonction) VALUES ('$username','$password' ,'$cin', '$fonction')";
    $results =mysql_query($query)or die (mysql_error());
  //si le résultat de la requête est:echoué 'erreur MYSQL
  if(!$results)
  {
    echo mysql_errno();
    echo mysql_error();
    echo "<script type=\"text/javascript\">
	alert('Erreur : ".mysql_error()."')</script>";
	
  }
  //sinon si résultat=succés
 else
 {
 echo "<br><br>";
 echo "Nom d'utilisateur : " .$username. "<br><br>";
 echo "Mot de passe :" .$password. "<br><br>";
 echo "CIN / Passeport:" .$cin. "<br><br>" ;
 echo "Fonction :" .$fonction ."<br><br>";
 echo "Avatar :" .$avatar. "<br><br>" ;

}
}
  //si l'administrateur ne saisie pas une des données dans le formulaire d'ajout de rapport
  
   else {
	   echo "<h5>Formulaire d'inscription incomplet, pour revenir cliquer <a class='blanc' href=\"upload.php\">içi</a>.</h5>"; 
   }
   
?>
Messages postés
445
Date d'inscription
samedi 3 avril 2010
Statut
Membre
Dernière intervention
3 novembre 2011
58
Peut-être en remplaçant

INSERT INTO user (username,password ,cin, fonction) VALUES ('$username','$password' ,'$cin', '$fonction')


par

$query="INSERT INTO user (username,password ,cin, fonction, avatar) VALUES ('$username','$password' ,'$cin', '$fonction','$avatar')";
oui effectivement j'ai oublier la variable avatar merci,
j'espère que je ne vous est pas trop déranger svp j'ai une petite demande je veux faire en sorte que si le nom d'utilisateur ajouter existe déjà on aura un message que ca existe
comment faire la condition de vérification ?
Merci encore
salut, quelqu'un peut me donner un coup de main svp , MERCI
Messages postés
445
Date d'inscription
samedi 3 avril 2010
Statut
Membre
Dernière intervention
3 novembre 2011
58
Ceci renvoie le nombre d'utilisateurs correspondant au pseudo demandé :

mysql_result(mysql_query("SELECT COUNT(*) FROM user WHERE username='$username'"),0,0)

Il ne reste plus qu'à effectuer un test avant la création de l'utilisateur pour vérifier que ce nombre vaut bien zéro !
Messages postés
24
Date d'inscription
dimanche 27 avril 2008
Statut
Membre
Dernière intervention
15 octobre 2014

j'ai pas compris si vous pouvez m'aider un peu plus et merci beaucoup
Messages postés
445
Date d'inscription
samedi 3 avril 2010
Statut
Membre
Dernière intervention
3 novembre 2011
58
Vous pourriez par exemple écrire

if(mysql_result(mysql_query("SELECT COUNT(*) FROM user WHERE username='$username'"),0,0) > 0){
    die("Cet utilisateur existe déjà !");
}


avant l'insertion de l'utilisateur dans la base de données...
Messages postés
24
Date d'inscription
dimanche 27 avril 2008
Statut
Membre
Dernière intervention
15 octobre 2014

Merci ca marche sauf que l'ajout de l'avatar se fait quand même
j'ai essayer de changer l'ordre des boucles mais l'ajout de l'avatr se fait toujours si vous pouvez me corriger le code et encore MERCI BEAUCOUP

 <?php
  require('../connect.php');
  //si tous les données sont bien saisies
if( !empty($_POST['username'])&& !empty($_POST['password'])&& !empty($_POST['cin']) && !empty($_POST['fonction']))
{
//récupération des données saisies dont des variables

  $dossier = 'avatar/';
$fichier = basename($_FILES['avatar']['name']);
$taille_maxi = 100000;
$taille = filesize($_FILES['avatar']['tmp_name']);
$extensions = array('.jpeg', '.jpg', '.png');
$extension = strrchr($_FILES['avatar']['name'], '.'); 
//Début des vérifications de sécurité...
if(file_exists($dossier . $fichier)){
	 $erreur = 'Veuillez renommer votre photo en suivant cette exemple: PrenomNom';
}
if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
{
     $erreur = 'Vous devez uploader une photo de type png, jpeg ou jpg';
}
if($taille>$taille_maxi)
{
     $erreur = 'La taille de la photo est trop gros...';
}
if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
{
     //On formate le nom du fichier ici...
     $fichier = strtr($fichier, 
          'Ã?Â?Ã? Ã?Â?Ã?Â?Ã?Â?Ã?Â?Ã?Â?Ã?Â?Ã?Â?Ã?Â?Ã?Â?Ã?Â?Ã? Ã?Â?Ã? Ã?Â?Ã?Â?Ã?Â?Ã?Â?Ã?Â?Ã?Â?Ã?Â?Ã?Â?Ã?Â?Ã? Ã? Ã?¡Ã?¢Ã?£Ã?¤Ã?Â¥Ã?§Ã?¨Ã?©Ã?ªÃ?«Ã?¬Ã?­Ã?®Ã?¯Ã?°Ã?²Ã?³Ã?Â'Ã?µÃ?¶Ã?¹Ã?ºÃ?»Ã?¼Ã?½Ã?¿', 
          'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
     $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
     if(move_uploaded_file($_FILES['avatar']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
     {
          echo 'Upload effectué avec succés !';
     }
     else //Sinon (la fonction renvoie FALSE).
     {
          echo 'Echec de l\'upload !';
     }
}
else
{
     echo $erreur;
} 
  $avatar=$dossier . $fichier;
  $username=mysql_escape_string($_POST['username']);
  $password=mysql_escape_string($_POST['password']);
  $cin=mysql_escape_string($_POST['cin']); 
  $fonction=mysql_escape_string($_POST['fonction']);
  
 if(mysql_result(mysql_query("SELECT COUNT(*) FROM user WHERE username='$username'"),0,0) > 0){
    die("Cet utilisateur existe déjà !");
}

    
  //Requête SQL
 
  $query="INSERT INTO user (avatar,username,password ,cin, fonction) VALUES ('$avatar','$username','$password' ,'$cin', '$fonction')";
    $results =mysql_query($query)or die (mysql_error());
  //si le résultat de la requête est:echoué 'erreur MYSQL
  if(!$results)
  {
    echo mysql_errno();
    echo mysql_error();
    echo "<script type=\"text/javascript\">
	alert('Erreur : ".mysql_error()."')</script>";
	
  }
  //sinon si résultat=succés
 else
 {
 echo "<br><br>";
 echo "Nom d'utilisateur : " .$username. "<br><br>";
 echo "Mot de passe : " .$password. "<br><br>";
 echo "CIN / Passeport: " .$cin. "<br><br>" ;
 echo "Fonction : " .$fonction ."<br><br>";
 echo "Avatar : " .$avatar. "<br><br>" ;

}
}
  //si l'administrateur ne saisie pas une des données dans le formulaire d'ajout de rapport
  
   else {
	   echo "<h5>Formulaire d'inscription incomplet, pour revenir cliquer <a class='blanc' href=\"upload.php\">içi</a>.</h5>"; 
   }
   
?>
Messages postés
445
Date d'inscription
samedi 3 avril 2010
Statut
Membre
Dernière intervention
3 novembre 2011
58
Il faut chercher un peu parfois :-)

C'est en forgeant qu'on devient forgeron...
Messages postés
24
Date d'inscription
dimanche 27 avril 2008
Statut
Membre
Dernière intervention
15 octobre 2014

oui vous avez tout a fait raison je débute encore donc je parfois je suis bloqué :-(