Se connecter / S'enregistrer
Votre question

Quelqu'un peut me dire si il voit une faute? (php)

Tags :
  • Sql
  • Programmation
Dernière réponse : dans Programmation
14 Avril 2007 03:59:07

Salut,

J'ai créer un espace membre,
mais le forumulaire d'inscription ne fonctionne
pas et je parviens pas a trouver l'erreur!

Code PHP:

  1. <?
  2. require("conf.php");
  3.  
  4. switch($action) {
  5. /*--------------------------------------------*/
  6. /* AJOUT DANS MySQL */
  7. /*--------------------------------------------*/
  8.  
  9. case "add";
  10.  
  11. // CONNEXION A LA BASE DE DONNEE
  12. $db_link = @mysql_connect($sql_serveur,$sql_user,$sql_passwd);
  13. if(!$db_link) {echo "Connexion impossible à la base de données <b>$sql_bdd</b> sur
  14. le serveur <b>$sql_server</b><br>Vérifiez les paramètres du fichier conf.php"; exit;}
  15.  
  16. // TEST SUR LES VALEURS SAISIES
  17. if($pseudo_membre==""){echo "Vous devez choisir un
  18. pseudo<br><br><a href=\"javascript:window.history.back()\">Retour</a>";exit;}
  19. if($passe_membre==""){echo "Vous devez choisir un
  20. mot de passe<br><br><a href=\"javascript:window.history.back()\">Retour</a>";exit;}
  21.  
  22. // ON VERIFIE SI CE PSEUDO EXISTE DEJA
  23. $requete=mysql_db_query($sql_bdd,"select * from membre
  24. where pseudo=\"$pseudo_membre\"",$db_link) or die(mysql_error());
  25. $num=mysql_num_rows($requete);
  26. if($num!=0)
  27. {
  28. echo "Ce pseudo existe déjà, veuillez en
  29. choisir un autre<br><br><a href=\"javascript:window.history.back()\">Retour</a>";
  30. }
  31. else
  32. {
  33. // CREATION D'UN IDENTIFIANT ALEATOIRE
  34. $taille = 20;
  35. $lettres = "abcdefghijklmnopqrstuvwxyz0123456789";
  36. srand(time());
  37. for ($i=0;$i<$taille;$i++)
  38. {
  39. $id.=substr($lettres,(rand()%(strlen($lettres))),1);
  40. }
  41.  
  42. // ON RECHERCHE L'ID MAXIMUM DE LA TABLE
  43. $requete=mysql_db_query($sql_bdd,"select max(id_membre)
  44. from membre",$db_link) or die(mysql_error());
  45. $idmax=mysql_result($requete,0,"max(id_membre)");
  46.  
  47. // INSERTION DANS LA TABLE
  48. $idnew=$idmax+1;
  49. $requete=mysql_db_query($sql_bdd,"insert into membre
  50. values ($idnew,\"$id\",\"$pseudo_membre\",\"$passe_membre\")",$db_link)
  51. or die(mysql_error());
  52.  
  53. // REDIRECTION VERS LA PAGE D'ENTREE DE L'ESPACE MEMBRE
  54. echo "Merci, vous êtes bien enregistré.
  55. Cliquez <a href=\"$gerecol?id=$id\">ici</a> pour entrer
  56. dans votre espace privé.";
  57. }
  58.  
  59. // DECONNEXION MYSQL
  60. mysql_close($db_link);
  61.  
  62. break;
  63.  
  64.  
  65. /*---------------------------------------------*/
  66. /* AFFICHAGE DU FORMULAIRE */
  67. /*---------------------------------------------*/
  68.  
  69. default;
  70. echo " <table width=\"100%\">
  71.  
  72. <tr><td width=\"100%\" align=\"center\">
  73. <h2>Nouveau membre</h2></td></tr>
  74.  
  75. </table><table width=\"100%\">
  76.  
  77. <form action=\"adduser.php\" method=\"post\">
  78. <input type=\"hidden\" name=\"action\" value=\"add\">
  79.  
  80. <tr><td><h3>Choisissez un pseudo:
  81. </h3></td><td><input type=\"text\" name=\"pseudo_membre\">
  82. </td></tr>
  83. <tr><td><h3>Choisissez un mot de passe:
  84. </h3></td><td><input type=\"password\" name=\"passe_membre\">
  85. </td></tr></table><table width=\"100%\">
  86. <tr><td align=\"center\">
  87. <input type=\"submit\" value=\"Envoyer\"></tr></td>
  88. </form>
  89. <tr><td align=\"right\">
  90. <a href=\"index.php\">Se connecter maintenant?</a>
  91. </font></td></tr></table>";
  92. break;
  93. }
  94. ?>


Merci!

Autres pages sur : dire voit faute php

14 Avril 2007 09:06:59

  1. $db_link = @mysql_connect($sql_serveur,$sql_user,$sql_passwd);
  2. if(!$db_link) {echo "Connexion impossible à la base de données <b>$sql_bdd</b> sur
  3. le serveur <b>$sql_server</b><br>Vérifiez les paramètres du fichier conf.php"; exit;}


se serait pas mieux de remplacer par ça :

  1. $db_link = @mysql_connect($sql_serveur,$sql_user,$sql_passwd) or die("Connexion impossible à la base de données <b>$sql_bdd</b> sur
  2. le serveur <b>$sql_server</b><br>Vérifiez les paramètres du fichier conf.php : <b>Erreur rencontrée : </b> ".mysql_error());


En plus tu sauras d'où vient l'erreur.

Voila sinon, la meilleur façon de voir ce que fait ton script , c'est d'afficher des messages pr voir où ton algo passe réellement.


Est ce qu'il exécute les requetes ? Passe t'il dans ton if ? etc ....

Pr cela affiche des messages explicites au endroit clé. et tu devrais trouver tout seul le problème ... Ou au moins tu auras bien isolé ce problème et revient nous voir à ce moment là ;) 

bon courage dans ton débuggage ^^
14 Avril 2007 18:03:25

J'ai essayer avec ton bout de code mais le résultat est le même! j'entre un pseudo et un mot passe je click sur le submit le pseudo et le mot de passe s'éfface mais pas de message de confirmation et rien ne s'écrit dans sql!

Pourtant je devrais voir le problème puisqu'il y a des sql_error un peut partout!
Contenus similaires
14 Avril 2007 18:44:41

Oui mon bout de code c'était juste que je trouvais ca mieux ;)  !!!!!

Tu as fait ce que je t'ai dit ? essayé d'isoler le problème ?

C'est pas forcément une erreur de SQL ... Mais une erreur de logique ;) 


Mais a moins que tu ais une vielle version ou une byzarre config de php , quand on récupère des variables posté en post via formulaire faut utiliser

$_POST['nom_variable']

et non pas $nom_variable ce que tu fais toi......

ca vient du register_global de php.ini.

register_globals à off => $_POST['nom_variable']

register_globals à on => $nom_variable

Je penses que ton problème vient de là
15 Avril 2007 00:32:32

J'y arrive pas quand j'essaye de metre $_POST['pseudo_membre'], rien ne s'affiche ce qui veux dire qu'il y a une erreur dans mon code!

oulala je dois être vraiment nul! je parviens pas a inscrire quelqu'un sur un site alors que je demande juste le pseudo et le mot de passe. snif!
15 Avril 2007 01:24:44

salut,
1. indentes ton code, ca sera plus clair (remarque c'est peut le copie coller)
2. depuis php 4.2, la directive register_globals est à off, il faut donc utiliser les variables super globales: $_POST en l'occurence

appliques le 2 à $action et tu devrais déjà avoir plus de réponses quant aux erreurs éventuelles
15 Avril 2007 02:17:25

Salut coca. J'ai pas trop compris "applique le 2 à action"

Tu veux parler de ca switch($action) ??

Merci.
15 Avril 2007 03:51:59

ben oui, si tu as php >=4.2 et que tu n'as pas modifié la directive register_globals, $action ne correpond à rien (indéfini), le switch executera toujours la condition default, il faut utiliser $_POST['action']
15 Avril 2007 05:31:37

Voilà j'ai rectifier tout le code mais je me heurte a un autre problème! :( 

voici mon nouveau code:

  1. <?
  2. require("conf.php");
  3.  
  4. // On commence par récupérer les champs
  5.  
  6. if(isset($_POST['pseudo_membre']))
  7. $pseud_membre=$_POST['pseudo_membre'];
  8. else $pseudo_membre="";
  9.  
  10. if(isset($_POST['passe_membre']))
  11. $passe_membre=$_POST['passe_membre'];
  12. else $passe_membre="";
  13.  
  14. // On vérifie si les camps sont vides
  15.  
  16. if(empty($pseudo_membre) OR empty($passe_membre))
  17. {
  18. echo '<table width=\"100%\"><tr><td align=\"center\">
  19. <h3>Attention, tout les champs doivent être rempli!</h3></td></tr>
  20. <tr><td align=\"center\">
  21. <a href=\"adduser.php\">Retour</a></td></tr></table>';
  22. }
  23.  
  24. // Aucun champ n'est vide, on peut enregistrer dans la table
  25.  
  26. else
  27. {
  28. //connection à la base
  29. $db = mysql_connect('$sql_serveur','&sql_user','$sql_passwd')
  30. or die('Erreur de connection '.mysql_error());
  31.  
  32. // sélection de la base
  33.  
  34. mysql_select_db('$sql_bdd',$db) or die('Erreur de sélection '.mysql_error());
  35.  
  36. // on regarde si le pseudo existe déjà
  37.  
  38. $sql = "SELECT id FROM membre WHERE pseudo='$pseudo_membre'";
  39. $sql = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
  40.  
  41. //on compte le nombre de résultats
  42. $res = mysql_num_rows($req);
  43.  
  44. if($res!=0) // le pseudo existe déjà , on affiche un message d'erreur
  45. {
  46. echo '<h3>Désolé, mais ce pseudo est déjà utiliser';
  47. }
  48. else // le pseudo n'existe pas, on insère les informations du formulaire
  49. {
  50.  
  51. // on écrit la requête sql
  52.  
  53. $sql = "INSERT INTO membre(id, pseudo, passe) VALUES
  54. ('','$pseudo_membre','$passe_membre')";
  55.  
  56. // on insère les informations du formulaire dans la table
  57.  
  58. mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
  59.  
  60. // on affiche le résultat pour le visiteur
  61.  
  62. echo 'Merci, vous êtes bien enregistré.
  63. Cliquez <a href=\"$gerecol?id=$id\">ici</a>
  64. pour entrer dans votre espace privé.';
  65. }
  66.  
  67. mysql_close(); //on ferme la connection
  68. }
  69. ?>


Le problème c'est que j'ai bon remplir les champs j'ai toujours le message qui me dis que mes champs ne sont pas vide! puis comme vous pouvez le voir j'ai mis un lien retour vers la page d'inscription, mais il m'affiche ma page avec %20 au début et à la fin de l'adresse!


Je sais plus quoi faire.
15 Avril 2007 05:33:43

Méacoulpa j'avais oublié un o a $pseudo_membre

Ca a l'air de fonctionner maintenant! enfin j'ai au moins un message d'erreur lol

le voici:

Erreur de connection Unknown MySQL server host '$sql_serveur' (1)
15 Avril 2007 06:19:01

Désolé je freepost mais c'est bon c'est résolu j'arrive a écrire dans la table!! xD

Mon seul petit souci, c'est que je peux enregistrer plusieurs fois le même pseudo... quelqu'un peut m'aider?
15 Avril 2007 09:57:15

Oui vérifie avant que le peudo n'est pas déja présent dans la base de donnée.

Et pour plus de sureté, dans phpmyadmin tu mets ton champs pseudo en clé primaire....
15 Avril 2007 14:30:28

C'est ce que j'ai essayer de faire dans mon code mais ca ne fonctionne pas!

alors pour ma table j'ai id en auto_increment

et dans index j'ai:

Nom de la clé: PRIMARY type: PRIMARY cordinalité: 2
Nom de la clé: id_2 type: UNIQUE cordinalité: 2
Nom de la clé: id type: INDEX cordinalité: aucun
15 Avril 2007 15:01:14

tu vas un peu vite en codant ;) 
et idn devrait vraiment revoir leur balise code ... :heink: 
bref ton souci, c'est que pour compter les utilisateurs, tu attribues le resultat à $sql et apres tu passes $req à mysql_num_rows
15 Avril 2007 21:12:50

Euh non en fait en revérifier le code j'ai vu que j'avais mis if($res!=0) alors que si c'est 0 c'est que le pseudo est pas encore utiliser suffisait de mettre 1! Sinon ma table sql c'est bon comme ca?
15 Avril 2007 21:52:29

??!!??
  1. //on compte le nombre de résultats
  2. $res = mysql_num_rows($req);

dans cette ligne tu peux m'expliquer d'où vient le $req??

et le $res != 0 est bon
15 Avril 2007 21:57:42

Bah j'en sais rien http://www.phpdebutant.org/article67.php mais tant que ca fonctionne en mettant 1 ca me dérange pas! lol

Ouais bah en fait ca fonctionne pas, j'ai essayer avec un autre pseudo il me dis qu'il est utiliser! soit c'est ca soit c'est l'autre! gggrrrr
15 Avril 2007 23:01:40

t'es quand même borné,
en programmation, faut un peu de logique (même beaucoup):
  1. $sql = "SELECT id FROM membre WHERE pseudo='$pseudo_membre'";
  2. $req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
  3. //on compte le nombre de résultats
  4. $res = mysql_num_rows($req);
  5. if($res!=0)

c'est $req qui recoit le résultat de mysql_query ()
ensuite on passe $req à mysql_num_rows () et on attribue le résultat à $res
si $res > 0 donc il y a un pseudo

c'est pourtant pas difficile à suivre...

EDIT: dans le lien que tu as donné, c'est ce qu'il y a, tu as mal fait le copie/coller ;) 
15 Avril 2007 23:46:08

leur code:

  1. // on regarde si l'url existe déjà
  2. $sql = "SELECT id FROM infos_tbl WHERE url='$url'";
  3. $req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
  4.  
  5. // on compte le nombre de résultats
  6. $res = mysql_num_rows($req);
  7.  
  8. if($res!=0) // l'url existe déjà, on affiche un message d'erreur
  9. {
  10. echo '<font color="red">Désolé, mais cette URL existe déjà dans notre base.</font>';
  11. }


le miens:

  1. // on regarde si le pseudo existe déjà
  2.  
  3. $sql = "SELECT id FROM membre WHERE pseudo='$pseudo_membre'";
  4. $sql = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
  5.  
  6. //on compte le nombre de résultats
  7. $res = mysql_num_rows($req);
  8.  
  9. if($res!=0) // le pseudo existe déjà , on affiche un message d'erreur
  10. {
  11. echo '<h3>Désolé, mais ce pseudo est déjà utiliser</h3>';
  12. }


je vois pas où est l'erreur

Edit: je l'ai trouver, ca sert des fois de poster ici on s'y retrouve mieux lol je le met en rouge!
Edit²: marche pas le rouge dans le code! tant pis lol
Edit³: je n'ai fais aucun copier coller j'ai taper se qu'il y avait sur le site ca me permet d'essayer de comprendre se que j'écrit!
16 Avril 2007 00:10:19

Bon voilà ca à l'air d'être bon!

Maintenant ma page sécuriser!!

  1. <?
  2. require("conf.php");
  3.  
  4. // CONNEXION MYSQL
  5. $db_link = @mysql_connect('$sql_serveur,'$sql_user','$sql_passwd');
  6. if(!$db_link) {echo "Connexion impossible à la base de données
  7. <b>$sql_bdd</b> sur le serveur <b>$sql_serveur</b><br>
  8. Vérifiez les paramètres."; exit;}
  9.  
  10. // SELECTION DE L'ENREGISTREMENT CONTENANT L'ID EN COURS
  11. $requete=mysql_db_query($sql_bdd,"select * from
  12. membre where id=\"$id\"",$db_link) or die(mysql_error());
  13.  
  14. // SI L'ID N'EXISTE PAS
  15. if(mysql_num_rows($requete)==0)
  16. {
  17. // REDIRECTION PAGE ERREUR
  18. header("Location:$url_erreur");
  19. exit;
  20. }
  21.  
  22. // DECONNEXION MYSQL
  23. mysql_close($db_link);
  24. ?>


Bah là rien ne s'affiche.
16 Avril 2007 12:06:03

Recopier et copier/coller c'est la meme chose si tu ne comprends ce que tu recopies .......


Tu as un problème ce ce bout de code ? tu veux faire quoi ?

$id il sort d'où ?

16 Avril 2007 16:18:34

Quand une personne s'inscrit ca lui donne une id. c'est la page d'acceuil des membres en faite. Mais j'ai du faire une erreur

Si je comprend bien a la place de ca $requete=mysql_db_query($sql_bdd,"select * from
membre where id=\"$id\"",$db_link) or die(mysql_error());

Je devrais mettre $requete=mysql_db_query($sql_bdd,"select * from membre where id=\"$pseudo_membre\"",$db_link) or die(mysql_error());

C'est qui voudrait dire que la requete va sélectionner l'id du pseudo??
16 Avril 2007 16:26:52

Oula lol tu devrais aller voir des cours de SQL ......

et revoi ta logique aussi.....

ta variable pid ou $pseudo_membre elle est initilaisé quand dans ta page ?????

désolé pas le temps de t'expliquer la tout de suite...
16 Avril 2007 17:08:12

Euh je sais je débute pas la peine de me rabasser. Je devrais créer une ouvertur de session? session_start()
16 Avril 2007 17:20:41

c'est pas te rabaisser, c'est juste qu'il faut y aller petit à petit, tu mets des trucs que tu ne comprends pas.

ex: session_start(), il faudrait se documenter avant de se lancer dedans
et puis tu changes trop radicalement ton code, comment tu veux suivre aprés

au début, y avait des switch/case, apres y en a plus,
pareil, au début, il y a un message d'erreur, ensuite y a une redirection

faut d'abord s'assurer qu'un truc marche avant de passer à l'autre
16 Avril 2007 18:57:04

Bon alors je résume.
Pour l'inscription c'est OK
Pour la page ou on se le log j'ai tout le temps vérifier votre pseudo et votre mot de passe apparement il trouve pas le pseudo dans la table
Pour la page membre ca va pas du tout!!

donc la première chose a faire serait de revoir la page ou on se log?
16 Avril 2007 22:00:22

bon alors déja tu as bien crée un formualire html avec comme champs :

name=pseudo
name=passe

voila apres la requete SQL :

"select * from membre where pseudo = '".$pseudo."' AND passwd = '".$passwd."'";

voila apres tu dois vérifier si ta requete te renvoie un enregistrement.

Si c'est le cas cela vuet dire que tu as pu sélectionner un membre dont le passwd et le pseudo vérifiait la saisie, sinon c'est ce que le membre n'exsite pas ( erreur pseudo ou passwd).

Voila apres en effet si tu veux garder ton membre connecté tout au long de ton site tu vas devoir utilisé les Sessions (rassures toi c'est très simple).

Mais fait déja juste la connexion ....

PS : j'ai mis les idées, à toi de trouver le code php et SQL correspondant ;) 
19 Avril 2007 01:03:46

C'est ce que j'ai fais

  1. $requete=mysql_db_query
  2. ($sql_bdd,"select pseudo,passe from membre where pseudo=\"$pseudo_membre\"
  3. and passe=\"$passe_membre\"",$db_link) or die(mysql_error());


Mais ca ne fonctionne pas

Edit: par contre quand je met 1 a la ligne d'après c'est à dire:

  1. if(mysql_num_rows($requete)==0)
  2. {
  3. // REDIRECTION VERS LA PAGE ERREUR
  4. header("Location:$url_erreur");
  5. }


Ca fonctionne donc apparement il trouve pas le pseudo et le mot de passe
19 Avril 2007 01:59:54

ce n'est pas des " qu'il faut utiliser mais des '
19 Avril 2007 02:57:16

Ca ne change rien :( 

Edit: il veut afficher l'url de la page d'erreur sauf qu'il met $url_erreur dans l'adresse
19 Avril 2007 11:17:05

je parlais de la requete sql, mais après recherche, oublie, sous mysql, il accepte aussi les ".
par contre je me perds dans ce que tu dis:

allstar27 a dit :

Edit: par contre quand je met 1 a la ligne d'après c'est à dire:

  1. if(mysql_num_rows($requete)==0)
  2. {
  3. // REDIRECTION VERS LA PAGE ERREUR
  4. header("Location:$url_erreur");
  5. }


Ca fonctionne donc apparement il trouve pas le pseudo et le mot de passe


il est ou le 1 dans le code??

et qu'est ce que ce code est censé faire, $pseudo_membre et $passe_membre, tu les prends d'où?
19 Avril 2007 15:32:17

J'ai changer le 0 par 1 pour trouver l'erreur et apparement ca viens de là.

Sur ma page login on inscrit sont pseudo et sont mot de passe. d'ou le $pseudo_membre et le $passe_membre ensuite il se connecte a sql et cherche le pseudo et le mot de passe dans la bdd membre, si my_sql_num_rows est égal à 0 ca doit afficher la page d'erreur si le pseudo et le mot de passe sont correct ca crée une id aléatoir et tu accéde a la page protégée.
19 Avril 2007 16:07:36

si tu mets à 1 et qu'il t'affiche l'erreur, c'est que tu as rentré un login/pass valide...
19 Avril 2007 16:31:13

mets ta page au complet stp pour voir....

Enfin que ce qui est interessant ...

N'oublie pas qu'en php les variables sont détruites à chaque chargement de page ou de changement de page....

j'ai l'impression que $pseudo_membre $passe_membre tu ne les initialise pas...

pour en etre sur affiche la valeur de $pseudo_membre et $passe_membre juste avant de faire la requete ou mieux affiche carrément ta requete ...

puis exécute la dans phpMyadmin directement , tu seras fixé comme ca...


Tu aurais du commencer déja par la .... ahlalalal faut tout leur dire ^^
19 Avril 2007 17:13:29

Voilà ma page login complète

  1. <?
  2. require("conf.php");
  3.  
  4. /*-----------------------------------------------------------------*/
  5. /* PROGRAMME PRINCIPAL */
  6. /*-----------------------------------------------------------------*/
  7.  
  8. // CONNEXION A LA BASE DE DONNEE
  9. $db_link = @mysql_connect($sql_serveur,$sql_user,$sql_passwd);
  10. if(!$db_link) {echo "Connexion impossible à la base de données <b>$sql_bdd</b> sur le serveur <b>$sql_server</b><br>Vérifiez les paramètres du fichier conf.php"; exit;}
  11.  
  12. // ON SELECTIONNE L'ENREGISTREMENT CONTENANT LE LOGIN ET
  13. // MOT DE PASSE SAISIS A LA PAGE INDEX.HTM
  14. $requete=mysql_db_query($sql_bdd,'select pseudo,passe from membre where pseudo=\'$pseudo_membre\' and passe=\'$passe_membre\'',$db_link) or die(mysql_error());
  15.  
  16. // SI AUCUN ENREGISTREMENT NE CORRESPOND
  17. if(mysql_num_rows($requete)==0)
  18. {
  19. // REDIRECTION VERS LA PAGE ERREUR
  20. header("Location:$url_erreur");
  21. }
  22.  
  23. // SI LE LOGIN ET MOT DE PASSE SONT EXACTES
  24. else
  25. {
  26. // CREATION D'UN IDENTIFIANT ALEATOIRE
  27. $taille = 20;
  28. $lettres = "abcdefghijklmnopqrstuvwxyz0123456789";
  29. srand(time());
  30. for ($i=0;$i<$taille;$i++)
  31. {
  32. $id.=substr($lettres,(rand()%(strlen($lettres))),1);
  33. }
  34.  
  35. // MISE A JOUR DE L'IDENTIFIANT DANS LA TABLE
  36. $requete=mysql_db_query($sql_bdd,"update membre set id=\"$id\" where pseudo=\"$pseudo_membre\" and passe=\"$passe_membre\"",$db_link) or die(mysql_error());
  37.  
  38. // REDIRECTION VERS UNE PAGE PROTEGEE AVEC L'IDENTIFIANT SERVANT DE CLE
  39. header("Location:gerecol.php?id=$id");
  40. }
  41.  
  42. // DECONNEXION MYSQL
  43. mysql_close($db_link);
  44. ?>


Si vous voulez voir la page en html je vous la met mais y'a rien d'important si ce n'est les input avec comme nom pseudo_membre et passe_membre.

Alors voilà avec ce code il me renvoi sistématiquement a la page d'erreur!
19 Avril 2007 17:38:03

une question bête, mais je sens que la réponse va m'ennerver:
est ce que tu as modifié la directive register_global?
si non, quelle est la version de php?
si >= 4.2, pourquoi tu n'utilises pas $_POST ou $_GET?
19 Avril 2007 18:08:28

D'après l'hébergeur c'est php5
19 Avril 2007 18:17:10

alors je repose mes questions:

est ce que tu as modifié la directive register_global?
pourquoi tu n'utilises pas $_POST ou $_GET?
comment tu initialises les variables $pseudo_membre et autre?

si tu n'as aucune idée de quoi répondre:
http://phpdebutant.org/article56.php
19 Avril 2007 18:36:17

oui coca25 moi je crois que je vais laisser tomber ce topic .....

je vais m'énerver sinon ^^
19 Avril 2007 20:11:32

1ere chose:
Uses et abuses, lors des phases de testS , des debug !!
Quand tu ne vois pas où ça plante, chaque variable doit être affichée lors de l'appel de la fonction:

En clair, après chaque ligne, vu qu'avec le Php il n'existe qu'1 seul débugger (linux) chiant à utiliser,affiche l'état de CHAQUE variable que tu viens d'utiliser.

Exemple:
  1. if(isset($_POST['pseudo_membre']))
  2. $pseud_membre=$_POST['pseudo_membre'];
  3. else $pseudo_membre="";
  4. echo "<font color='red'>$pseudo_membre</font><br>";
  5. if(isset($_POST['passe_membre']))
  6. $passe_membre=$_POST['passe_membre'];
  7. else $passe_membre="";
  8. echo "<font color='red'>$passe_membre</font></b>";



Ensuite,
Toute requete sur une base de donnée DOIT ETRE VERIFIEE dans le code!!!!!!
Lors d'un select:
$nblign= mysql_num_rows($requete);

Lors d'un update/insert:
$a=mysql_affected_rows();
echo "$a<br>"; !
et tu affiches le nombre d'enregistrements affectés!

N'hésites pas, si tu as 1 doute sur l'une de tes requetes, à te connecter sur l'interface phpMyAdmin et de lancer la requete à la main .
19 Avril 2007 23:45:09

+10 elendilm

je me tues à leur dire ca tout le temps ....
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS