Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2298 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  probleme avec EasyPHP

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

probleme avec EasyPHP

n°1503265
vichenzo
Posté le 15-01-2007 à 17:59:27  profilanswer
 

Salut à tous,
 
J'ai un petit problème avec EasyPhp.  
Je souhaite insérer des données dans ma base de données (phpmyadmin) mais elles ne s'insèrent pas! Tout d'abord il m'avait dit que mes variables n'étaient pas déclarées. Je les ai donc déclarées (ex $nom="";).
Maintenant lorsque j'exécute ma requête, je n'ai plus de message d'erreur et lorsque que je vais voir dans ma BDD, je m'aperçois qu'il a eut un enregistrement supplémentaire ---> ligne supplémentaire avec un nouvel id_user (mon id_user a augmenté d'1) mais les champs nom et prénom ne sont pas renseigné et reste vide...
Alors je comprends pas...
 
Je sais que mon code est juste puisque je l'ai testé sur le serveur de mon école et que ça marche...
Mais j'aimerai pouvoir bosser chez moi...
 
Avez vous une idée des réglages à faire sur EasyPHP 1.8?? (j'ai essayé de descendre en version 1.7,1.6--> même résultat)
 
Merci d'avance

mood
Publicité
Posté le 15-01-2007 à 17:59:27  profilanswer
 

n°1503270
gatsu35
Blablaté par Harko
Posté le 15-01-2007 à 18:07:01  profilanswer
 

ton code :o

n°1503283
vichenzo
Posté le 15-01-2007 à 18:22:08  profilanswer
 

Formulaire de connexion :  
<TABLE>
 <TR>
 <FORM name=formulaire method="post" action="index.php?page=inscription_confirmation">
 <input type=hidden name=page value=inscription>
  <TR>
   <TD>Votre Pseudo</TD>
   <TD><INPUT TYPE=text NAME=pseudo SIZE=35></TD>
  </TR>
  <TR>
   <TD>Tapez votre mot de passe *</TD>
   <TD><INPUT TYPE=password NAME=password SIZE=15></TD>
  </TR>
  <TR>
   <TD><INPUT type=submit name=envoyer value=envoyer></TD>
  </TR>
 </FORM>
 </TR>
</TABLE>
 
insertion :  
 
<?
include('config.php');
if (isset($_POST['envoyer']))
 {
 mysql_query("INSERT INTO utilisateur (id_user,pseudo,password) VALUE ('', '$pseudo', '$password')" );    
 echo "Bienvenue<br>".$pseudo;
 }
?>

n°1503301
FlorentG
Unité de Masse
Posté le 15-01-2007 à 18:59:36  profilanswer
 

C'est $_POST['pseudo'] et $_POST['password'].  
 
Le code HTML du formulaire n'est pas bon, on peut pas mettre des forms au milieu de <tr> comme ça. Et les tableaux pour la mise en page c'est pas bien. On fera plutôt :

Code :
  1. <form id="formulaire" method="post" action="index.php?page=inscription_confirmation">
  2.   <div>
  3.      <label for="pseudo">Nom</label>
  4.      <input type="text" name="pseudo" id="pseudo" size="35" />
  5.   </div>
  6.   <div>
  7.      <label for="password">Mot de Passe</label>
  8.      <input type="password" name="password" id="password" size="15" />
  9.   </div>
  10.   <div>
  11.      <input type="hidden" name="page" value="inscription" />
  12.      <input type="submit" value="Envoyer" />
  13.   </div>
  14. </form>


 
Pour le code PHP, pas besoin de tester l'existence du bouton, suffit de tester la méthode HTTP. Ensuite t'as aucune vérif sur les variable, c'est dangereux, et aucun escaping. Ton fichier config.php à l'air ultra-nécessaire, donc mieux faut un require :

Code :
  1. require('config.php');
  2. if($_SERVER['REQUEST_METHOD'] == 'POST') {
  3.   $pseudo   = isset($_POST['pseudo'])   ? $_POST['pseudo']   : '';
  4.   $password = isset($_POST['password']) ? $_POST['password'] : '';
  5.   if(strlen($pseudo) > 0 && strlen($pseudo) > 0) {
  6.      mysql_query("INSERT INTO utilisateur (id_user,pseudo,password) VALUE ('', '" . mysql_real_escape_string($pseudo) . "', '" . mysql_real_escape_string($password) . "')" );   
  7.      echo 'bienvenue<br />', $pseudo
  8.   }
  9. }

n°1503314
vichenzo
Posté le 15-01-2007 à 19:33:22  profilanswer
 

c'est cool ça marche nickel!!!
 
MERCI beaucoup Florent

n°1503322
vichenzo
Posté le 15-01-2007 à 19:53:41  profilanswer
 

FlorentG a écrit :

C'est $_POST['pseudo'] et $_POST['password'].  
 
Le code HTML du formulaire n'est pas bon, on peut pas mettre des forms au milieu de <tr> comme ça. Et les tableaux pour la mise en page c'est pas bien. On fera plutôt :

Code :
  1. <form id="formulaire" method="post" action="index.php?page=inscription_confirmation">
  2.   <div>
  3.      <label for="pseudo">Nom</label>
  4.      <input type="text" name="pseudo" id="pseudo" size="35" />
  5.   </div>
  6.   <div>
  7.      <label for="password">Mot de Passe</label>
  8.      <input type="password" name="password" id="password" size="15" />
  9.   </div>
  10.   <div>
  11.      <input type="hidden" name="page" value="inscription" />
  12.      <input type="submit" value="Envoyer" />
  13.   </div>
  14. </form>


 
Pour le code PHP, pas besoin de tester l'existence du bouton, suffit de tester la méthode HTTP. Ensuite t'as aucune vérif sur les variable, c'est dangereux, et aucun escaping. Ton fichier config.php à l'air ultra-nécessaire, donc mieux faut un require :

Code :
  1. require('config.php');
  2. if($_SERVER['REQUEST_METHOD'] == 'POST') {
  3.   $pseudo   = isset($_POST['pseudo'])   ? $_POST['pseudo']   : '';
  4.   $password = isset($_POST['password']) ? $_POST['password'] : '';
  5.   if(strlen($pseudo) > 0 && strlen($pseudo) > 0) {
  6.      mysql_query("INSERT INTO utilisateur (id_user,pseudo,password) VALUE ('', '" . mysql_real_escape_string($pseudo) . "', '" . mysql_real_escape_string($password) . "')" );   
  7.      echo 'bienvenue<br />', $pseudo
  8.   }
  9. }



 
Bon alors pourrais-je abuser un peu plus....  :ange:  
je cherche à faire un contrôle sur mes champs et j'ai que celui du mot de passe qui fonctionne... :

Code :
  1. require('config.php');
  2. if($_SERVER['REQUEST_METHOD'] == 'POST')
  3.  {
  4.  $pseudo   = isset($_POST['pseudo'])   ? $_POST['pseudo']   : '';
  5.  $password = isset($_POST['password']) ? $_POST['password'] : '';
  6.  if(strlen($pseudo) > 0 && strlen($pseudo) > 0)
  7.     {
  8.     if($password==$password2)
  9.      {
  10.      $sql = "SELECT count(*) FROM utilisateur WHERE pseudo='$pseudo'";
  11.      $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
  12.      $data = mysql_fetch_array($req);
  13.      if($data[0] == 0)
  14.       {
  15.       mysql_query("INSERT INTO utilisateur (id_user,pseudo,password) VALUE ('', '" . mysql_real_escape_string($pseudo) . "', '" . mysql_real_escape_string($password) . "')" );
  16.       echo 'bienvenue<br />', $pseudo;
  17.       }
  18.       else
  19.       {
  20.       echo "<h3><font color=red><div align=center>ERREUR: Pseudo déjà utilisé</div></font></h3>";
  21.       }
  22.      }
  23.      else
  24.      {
  25.      echo "<h3><font color=red><div align=center>ERREUR: mots de passe non identiques</div></font></h3>" ;
  26.      }
  27.     }
  28.  }


 
je sais pas si tu as une idée...car je n'ai aucun message d'erreur....
Merci :D

n°1503437
vichenzo
Posté le 16-01-2007 à 02:02:30  profilanswer
 

si quelqu'un d'autre sait, qu'il n'hésite pas :D

n°1503509
FlorentG
Unité de Masse
Posté le 16-01-2007 à 10:44:51  profilanswer
 

Y'a des trucs pas bon. T'as deux fois strlen($pseudo), et tu ne récupère pas $password2 comme il faut.
 
T'as bien compris mon code au moins ?

n°1503748
vichenzo
Posté le 16-01-2007 à 16:29:35  profilanswer
 

FlorentG a écrit :

Y'a des trucs pas bon. T'as deux fois strlen($pseudo), et tu ne récupère pas $password2 comme il faut. T'as bien compris mon code au moins ?


Ben en fait j'ai juste recopier ton code (je pense avoir compris comment il fonctionnait) sans le modifier...mais en fait il faut mettre 'password' à la place du 2ème strlen(pseudo)?
Pour ce qui est de la variable password2 je la déclare juste au début mais je ne veux pas la stocker dans ma BDD. Je contrôle juste les 2 boites de texte...

n°1503893
FlorentG
Unité de Masse
Posté le 16-01-2007 à 21:25:31  profilanswer
 

Ah oui c'est une erreur de ma part, mais que tu aurais dû corriger :D :D
 
Sinon pour password2, faut la récupérer comment j'ai fait (isset($_POST.....)

mood
Publicité
Posté le 16-01-2007 à 21:25:31  profilanswer
 

n°1503915
vichenzo
Posté le 16-01-2007 à 22:04:14  profilanswer
 

FlorentG a écrit :

Ah oui c'est une erreur de ma part, mais que tu aurais dû corriger :D :D
 
Sinon pour password2, faut la récupérer comment j'ai fait (isset($_POST.....)


ça y est c'est corrigé...je sais j'aurai du le faire... :whistle:  
 
mais sinon pour password2 c'est pas un problème car mon contrôle fonctionne...mais en faite je voulais contrôler le pseudo pour savoir s'il n'est pas déjà pris mais ma requête ne fonctionne pas et là je ne vois pas pourquoi  :sweat: ???


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  probleme avec EasyPHP

 

Sujets relatifs
probleme weblocal avec easyphpProbleme serveur sql avec easyphp??
probleme avec easyphp 1.8spip/easyphp, problème avec le fichier "inc-public.php3"
probleme iframe easyphpproblème commande exec sur wamp par rapport à easyphp
Problème EasyPHP $_GET[param] sans guillemets (urgent svp)probleme de formulaire avec easyphp 1.8
problème avec easyphpProblème de vitesse Apache/Php sous Windows (p.r. à EasyPHP)
Plus de sujets relatifs à : probleme avec EasyPHP


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR