Problème de code et Mysql !! Comprend rien !

Problème de code et Mysql !! Comprend rien ! - PHP - Programmation

Marsh Posté le 26-05-2005 à 20:06:28    

:fou:  
 
Salut à tous ! bon j'ai récupéré un script php afin de créé une zone membre, je configure un fihcier nommé "conf.php3" fichier qui sert a rentré les paramètres de connexion MySQL, le fichier qui sert d'inscritpion pour les membres comporte une erreurmais je ne sais pas laquelle !  :cry:  Lorsque je vais sur la page avec mon navigateur une ligne apparait : "Notice: Undefined variable: action in c:\program files\easyphp1-7\www\inscription.php on line 262", je regarde le code, et apparamment pas d'erreur particulière ! Je ne comprend pas aidez moi SVP !
 
Je fonctionne avec Easy php 7 en réseau local donc, et voici un extrait des lignes en question :  
 
 
 
                          <?
require("conf.php3" );
 
switch($action) {
/*-----------------------------------------------------------------*/
/* AJOUT DANS MySQL   */
/*-----------------------------------------------------------------*/
 
case "add";
 
// CONNEXION A LA BASE DE DONNEE
$db_link = @mysql_connect($sql_serveur,$sql_user,$sql_passwd);
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.php3"; exit;}
 
// TEST SUR LES VALEURS SAISIES
if($pseudo_membre=="" ){echo "Vous devez choisir un pseudo<br><br><a href=\"javascript:window.history.back()\">Retour</a>";exit;}
if($passe_membre=="" ){echo "Vous devez choisir un mot de passe<br><br><a href=\"javascript:window.history.back()\">Retour</a>";exit;}

Reply

Marsh Posté le 26-05-2005 à 20:06:28   

Reply

Marsh Posté le 26-05-2005 à 20:31:31    

Allez, au pif je dirrais éssaye avec :  

Code :
  1. switch($_GET["action"])


ou

Code :
  1. switch($_POST["action"])

Reply

Marsh Posté le 26-05-2005 à 20:49:37    

Je vien d'essayer et ba il a pas l'air d'aimer ....
 
Que ce soit avec switch($_GET["action"]) ou switch($_POST["action"]) a marche pas !
 
Donc avec correction sa donne ça : "<?
require("conf.php3" );
 
switch($action) {switch($_POST["action"])
/*-----------------------------------------------------------------*/
/* AJOUT DANS MySQL   */
/*-----------------------------------------------------------------*/
 
case "add";
 
// CONNEXION A LA BASE DE DONNEE
$db_link = @mysql_connect($sql_serveur,$sql_user,$sql_passwd);
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.php3"; exit;}
 
// TEST SUR LES VALEURS SAISIES
if($pseudo_membre=="" ){echo "Vous devez choisir un pseudo<br><br><a href=\"javascript:window.history.back()\">Retour</a>";exit;}
if($passe_membre=="" ){echo "Vous devez choisir un mot de passe<br><br><a href=\"javascript:window.history.back()\">Retour</a>";exit;}"
 
Et J'ai eu le droit à un joli : "Parse error: parse error, unexpected T_SWITCH, expecting T_CASE or T_DEFAULT or '}' in c:\program files\easyphp1-7\www\adduser.php3 on line 11"
 
arfff !

Reply

Marsh Posté le 26-05-2005 à 21:05:31    

Donne le code avant si il y en a.

Reply

Marsh Posté le 26-05-2005 à 21:09:53    

Le code commence direct à partir de là, par contre il continue  apres..
 
Je te file le reste ?

Reply

Marsh Posté le 26-05-2005 à 21:11:01    

Je pensais au début à une peut etre incompatibilité avec le php3 mais même sur le ftp de mon FAi (Free) ça ne change rien

Reply

Marsh Posté le 26-05-2005 à 21:13:19    

remyftp a écrit :

Je vien d'essayer et ba il a pas l'air d'aimer ....
 
Que ce soit avec switch($_GET["action"]) ou switch($_POST["action"]) a marche pas !
 
Donc avec correction sa donne ça : "<?
require("conf.php3" );

switch($action) {switch($_POST["action"])

/*-----------------------------------------------------------------*/
/* AJOUT DANS MySQL   */
/*-----------------------------------------------------------------*/
 
case "add";
 
// CONNEXION A LA BASE DE DONNEE
$db_link = @mysql_connect($sql_serveur,$sql_user,$sql_passwd);
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.php3"; exit;}
 
// TEST SUR LES VALEURS SAISIES
if($pseudo_membre=="" ){echo "Vous devez choisir un pseudo<br><br><a href=\"javascript:window.history.back()\">Retour</a>";exit;}
if($passe_membre=="" ){echo "Vous devez choisir un mot de passe<br><br><a href=\"javascript:window.history.back()\">Retour</a>";exit;}"
 
Et J'ai eu le droit à un joli : "Parse error: parse error, unexpected T_SWITCH, expecting T_CASE or T_DEFAULT or '}' in c:\program files\easyphp1-7\www\adduser.php3 on line 11"
 
arfff !


Ce n'est pas :  
switch($action) {switch($_POST["action"]) {
mais  
switch($_POST["action"]) {
ou
switch($_GET["action"]) {


Message édité par yoyo354 le 26-05-2005 à 21:14:13
n°1098844
remyftp
Il faut souffrir pour y arrivé
Posté le 26-05-2005 à 22:17:54  profilanswer
 

OK pour l'erreur, sauf que ça marche toujours pas, mais cepependant l'erreur à changer : "Notice: Undefined index: action in c:\program files\easyphp1-7\www\adduser.php3 on line 11"
 
Merci encore pour ton aide

n°1098845
remyftp
Il faut souffrir pour y arrivé
Posté le 26-05-2005 à 22:18:39  profilanswer
 

Sachant que la ligne 11 fais référence à switch($_POST["action"]) {
ou
switch($_GET["action"]) {

n°1098847
plainsofpa​in
Pingouino's lover
Posté le 26-05-2005 à 22:19:26  profilanswer
 

T'as essayé avec $_GEt et $_POST ?


---------------
http://www.alsacreations.com , http://www.openweb.eu.org. Mon CV : http://cv.roane-irkana.net/. Exemple à ne surtout pas suivre : www.worldinternet.be
mood
Publicité
Posté le 26-05-2005 à 22:19:26  profilanswer
 

n°1098850
yoyo354
Yoyo, le roi du ...
Posté le 26-05-2005 à 22:21:41  profilanswer
 

Balance le code en entier avec les balises du forum prévu à cet effet.

n°1098867
remyftp
Il faut souffrir pour y arrivé
Posté le 26-05-2005 à 22:33:29  profilanswer
 

plainsofpain a écrit :

T'as essayé avec $_GEt et $_POST ?


Ouiai j'ai deja essayer

n°1098868
remyftp
Il faut souffrir pour y arrivé
Posté le 26-05-2005 à 22:34:00  profilanswer
 

yoyo354 a écrit :

Balance le code en entier avec les balises du forum prévu à cet effet.


OK, mais les balises  se sont lesquelles stp ?

n°1098873
plainsofpa​in
Pingouino's lover
Posté le 26-05-2005 à 22:35:42  profilanswer
 

c'est <code>toncode</code> avec des [] a la place des <>


Message édité par plainsofpain le 26-05-2005 à 22:35:54

---------------
http://www.alsacreations.com , http://www.openweb.eu.org. Mon CV : http://cv.roane-irkana.net/. Exemple à ne surtout pas suivre : www.worldinternet.be
n°1098875
yoyo354
Yoyo, le roi du ...
Posté le 26-05-2005 à 22:35:50  profilanswer
 

[ c p p ] [ / c p p ] sans les espaces.

n°1098877
plainsofpa​in
Pingouino's lover
Posté le 26-05-2005 à 22:36:14  profilanswer
 

les deux marchent, choisis ce qui te plait ^^'


---------------
http://www.alsacreations.com , http://www.openweb.eu.org. Mon CV : http://cv.roane-irkana.net/. Exemple à ne surtout pas suivre : www.worldinternet.be
n°1098882
remyftp
Il faut souffrir pour y arrivé
Posté le 26-05-2005 à 22:39:46  profilanswer
 

ok bon voila j'y intègre aussi les balises Form

Reply

Marsh Posté le 26-05-2005 à 22:40:08    

ah ouia ! C vrai ça rend bien :D

Reply

Marsh Posté le 27-05-2005 à 00:18:20    

Bien, trouve-toi un meilleur code, parce que celui-là est bien pourri :( Y'a de belles failles de sécurité en plus [:johneh]

Reply

Marsh Posté le 27-05-2005 à 08:23:32    

bonn ok je vais chercher
 
Thanks

Reply

Marsh Posté le 27-05-2005 à 08:35:14    

Par contr je voulais savoir, je sais créé un code pour une inscritption de membre ou une identification mais je voudrais un code qui permettrai de vérifié si le pseudo n'est pas déja pris et si c'est le cas rediriger vers une page d'erreur, et un code pour protégé les pages qui requierts d'être inscrits.
Si il est également possible de trouver un code pour créé des cookie pours les session histoire d'éviter les gens a tout retaper a chaque fois et donc de rester conecté.

Reply

Marsh Posté le 27-05-2005 à 16:33:31    

Code :
  1. <?
  2. require("conf.php3" );
  3. switch($_GET["action"]) {
  4. /*-----------------------------------------------------------------*/
  5. /* AJOUT DANS MySQL   */
  6. /*-----------------------------------------------------------------*/
  7. case "add";
  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.php3"; exit;}
  11. // TEST SUR LES VALEURS SAISIES
  12. if($pseudo_membre=="" ){echo "Vous devez choisir un pseudo<br><br><a href=\"javascript:window.history.back()\">Retour</a>";exit;}
  13. if($passe_membre=="" ){echo "Vous devez choisir un mot de passe<br><br><a href=\"javascript:window.history.back()\">Retour</a>";exit;}
  14. // CHAMPS SUPLEMENTAIRES, inspirez-vous des lignes suivantes. Pour qu'un champs soit facultatif, omettez la ligne.
  15. //if($email=="" ){echo "Vous n'avez pas saisi votre email<br><br><a href=\"javascript:window.history.back()\">Retour</a>";exit;}
  16. //if($ville=="" ){echo "Vous n'avez pas saisi la ville<br><br><a href=\"javascript:window.history.back()\">Retour</a>";exit;}
  17. // ON VERIFIE SI CE PSEUDO EXISTE DEJA
  18. $requete=mysql_db_query($sql_bdd,"select * from membre where pseudo=\"$pseudo_membre\"",$db_link) or die(mysql_error());
  19. $num=mysql_num_rows($requete);
  20. if($num!=0)
  21. {
  22. echo "Ce pseudo existe déjà, veuillez en choisir un autre<br><br><a href=\"javascript:window.history.back()\">Retour</a>";
  23. }
  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. // ON RECHERCHE L'ID MAXIMUM DE LA TABLE
  35. $requete=mysql_db_query($sql_bdd,"select max(id_membre) from membre",$db_link) or die(mysql_error());
  36. $idmax=mysql_result($requete,0,"max(id_membre)" );
  37. // INSERTION DANS LA TABLE  
  38. $idnew=$idmax+1;
  39. $requete=mysql_db_query($sql_bdd,"insert into membre values ($idnew,\"$id\",\"$pseudo_membre\",\"$passe_membre\" )",$db_link) or die(mysql_error());
  40. // CHAMPS SUPLEMENTAIRES, complétez la requête précédente en ajoutant les variables et en respectant l'ordre des colonnes de la table. Exemple :
  41. // insert into membre values ($idnew,\"$id\",\"$pseudo_membre\",\"$passe_membre\",\"$email\",\"$ville\" )
  42. // REDIRECTION VERS LA PAGE D'ENTREE DE L'ESPACE MEMBRE
  43. echo "Merci, vous êtes bien enregistré. Cliquez <a href=\"$zone_membre?id=$id\">ici</a> pour entrer dans votre espace privé.";
  44. }
  45. // DECONNEXION MYSQL
  46. mysql_close($db_link);
  47. break;
  48. /*-----------------------------------------------------------------*/
  49. /* AFFICHAGE DU FORMULAIRE   */
  50. /*-----------------------------------------------------------------*/
  51. default;
  52. echo "
  53. <form action=\"adduser.php3\" method=\"post\">
  54. <input type=\"hidden\" name=\"action\" value=\"add\">
  55. Chosissez un pseudo<br><input type=\"text\" name=\"pseudo_membre\"><br>
  56. Chosissez un mot de passe<br><input type=\"password\" name=\"passe_membre\"><br>
  57. <! -- CHAMPS SUPLEMENTAIRES, décommentez les 2 lignes suivantes -->
  58. <!-- Votre email<br><input type=\"text\" name=\"email\"><br> -->
  59. <!-- Ville<br><input type=\"text\" name=\"ville\"><br> -->
  60. <input type=\"submit\" value=\"Envoyer\">
  61. </form>
  62. <font face=\"Verdana\" size=\"2\"><a href=\"index.htm\">Se connecter</a></font>";
  63. break;
  64. }
  65. ?>
remyftp a écrit :

Par contr je voulais savoir, je sais créé un code pour une inscritption de membre ou une identification mais je voudrais un code qui permettrai de vérifié si le pseudo n'est pas déja pris et si c'est le cas rediriger vers une page d'erreur, et un code pour protégé les pages qui requierts d'être inscrits.
Si il est également possible de trouver un code pour créé des cookie pours les session histoire d'éviter les gens a tout retaper a chaque fois et donc de rester conecté.


 :cry:

Reply

Marsh Posté le 27-05-2005 à 16:37:01    

FlorentG a écrit :

Bien, trouve-toi un meilleur code, parce que celui-là est bien pourri :( Y'a de belles failles de sécurité en plus [:johneh]


 
euh elles sont où?

Reply

Marsh Posté le 27-05-2005 à 17:06:28    

en faisant du copier-coller de code récupéré à droite ou à gauche, de plutôt mauvaise qualité en plus, tu n'arriveras à rien.
 
Essaye d'apprendre le PHP pour faire ce dont tu as besoin, ou du moins, de pouvoir comprendre/modifier ce sur quoi tu te bases.
 
De plus, je ne crois pas que le but de ce forum soit de corriger pour toi ce que tu a récupéré, mais plutôt de t'aider à coder par toi même.
 

Reply

Marsh Posté le 27-05-2005 à 17:12:04    

dedefou a écrit :

euh elles sont où?


Bah déjà, ligne 23, il y a :

Code :
  1. "select * from membre where pseudo=\"$pseudo_membre\""


 
il n'y a même pas d'addslashes() ou autre sur $pseudo_membre.
...
 
edit: correction


Message édité par SomeBugsInMe le 27-05-2005 à 17:13:12
Reply

Marsh Posté le 27-05-2005 à 17:17:07    

Aucuns contrôles sur les variables de requête.

Reply

Marsh Posté le 27-05-2005 à 18:21:02    

OK. Je suis déja en train de me coller les cours de php du siteduzero.com !
 
Mais avant de vouloir faire ce genre de truk y'a quand même du chemin...
Mais je crois avoir trouvez moyen pour mon espace membre...
 
merci à tout le monde :)

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed

© 2018 Forum. All Rights Reserved.