Erreur T_Variable

Erreur T_Variable - PHP - Programmation

Marsh Posté le 08-12-2002 à 13:36:04    

jtrouve pas l'erreur :(
 

Parse error: parse error, unexpected T_VARIABLE in register_2.php on line 24

(en gras)
 

<?php
//connection
require("connect.php" );
$connect=mysql_connect(SERVEUR, NOM, PASSE);
mysql_select_db(BASE, $connect);
//verif et insertion
$test='SELECT pseudo FROM User Where pseudo=='.$pseudo.'';
$test2=mysql_query($test);
$fetch=mysql_fetch_array($test2);
if ($fetch=$pseudo)
 {
  echo "This nickname is already taken ! Please choose an other one";
 }
if (!ereg("@", $email) OR !ereg(".", $email));
 {
  echo "@ or .xxx must be include in mail";
 }
if (empty($pseudo) OR empty($password) OR empty($mail))
 {
  echo "Please enter data into Nickname, password, and mail";
 }
else
 {
  [g]mysql_query('INSERT INTO User VALUES ("", "$pseudo", "$password", "$nom", "$prenom", "$icq", "$mail", "$pays", "$anneeNaiss" )');[/g]
  echo "You've been added to the database";
  header("Location: index5.php" );
 }
 
?>


 
j'ai uen erreur de variable pourtant mon formulaire contient bien ces champs
 

id  pseudo  nom  prenom  icq  mail  pays  activity  anneeNaiss  password  


 
j'ai mis un "" pour l'id qui s'auto incremente mais pourtant dans mon formulaire aussi j'ai bien tout ces champs
 

<center><input type="text" name="nom" size="20" value="Name" maxlength="35"><br></center>
<center><input type="text" name="prenom" size="20" value="first name" maxlength="70"> <br></center>
<center><input type="text" name="icq" size="20" value="icq n°" maxlength="11"><br></center>
<center><input type="text" name="mail" size="20" value="mail" maxlength="70"> <br></center>
<center><input type="text" name="pays" size="20" value="country" maxlength="35"><br> </center>
<center><input type="text" name="anneeNaiss" size="20" value="birthday" maxlength="35"><br> </center>
 
<center><input type="submit" value="Send" name="envoyer" onclick="document.hop.submit.style.visibility='hidden';"/>


 
si qqun voit ou est l'erreur :/

Reply

Marsh Posté le 08-12-2002 à 13:36:04   

Reply

Marsh Posté le 08-12-2002 à 13:52:13    

mysql_query('INSERT INTO User VALUES ("", "$pseudo", "$password", "$nom", "$prenom", "$icq", "$mail", "$pays", "$anneeNaiss" )';);
 
Hum... Je procederai pas comme ça mais comme ça :
$query="Insert INTO User (pseudo, nom, prenom, icq, mail, pays, anneeNaiss, password) Values ('".$pseudo."','".$nom."','".$nom."','".$prenom."','".$icq."','".$mail."','".$pays."','".$anneeNais."','".$password."';)";
 
puis
mysql_query($query);
 


Message édité par samuelp le 08-12-2002 à 13:53:04
Reply

Marsh Posté le 08-12-2002 à 14:22:33    

merci ca marche maintenant sauf encore un truc
 

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in register_2.php on line 9


 
j'ai changer plein de fois la sintaxe du fetch mais je sais pas quelle valeure mettre :/

$test='SELECT pseudo FROM User Where pseudo=='.$pseudo.'';
$test2=mysql_query($test);
$fetch=mysql_fetch_array($test2);
if ($fetch=test2)
 {
  echo "This nickname is already taken ! Please choose an other one";
 }

qqun voit l'erreur?

Reply

Marsh Posté le 08-12-2002 à 14:24:43    

chacal_one333 a écrit :

merci ca marche maintenant sauf encore un truc
 

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in register_2.php on line 9


 
j'ai changer plein de fois la sintaxe du fetch mais je sais pas quelle valeure mettre :/

$test='SELECT pseudo FROM User Where pseudo=='.$pseudo.'';
$test2=mysql_query($test);
$fetch=mysql_fetch_array($test2);
if ($fetch=test2)
 {
  echo "This nickname is already taken ! Please choose an other one";
 }

qqun voit l'erreur?


 
C'est pas == mais = en SQL !
 
Deja une erreur, regardes si ça va mieux

Reply

Marsh Posté le 08-12-2002 à 14:25:34    

spa ca :/

Reply

Marsh Posté le 08-12-2002 à 14:27:28    


 
 
$test="SELECT pseudo FROM User Where pseudo='".$pseudo."'"; ?

Reply

Marsh Posté le 08-12-2002 à 14:29:02    

ben aparement c'est mon fetch qui merde
 


Message édité par Profil supprimé le 08-12-2002 à 14:30:07
Reply

Marsh Posté le 08-12-2002 à 14:29:45    

samuelp a écrit :


 
 
$test="SELECT pseudo FROM User Where pseudo='".$pseudo."'"; ?

la meme :(

Reply

Marsh Posté le 08-12-2002 à 14:30:20    

chacal_one333 a écrit :

ben aparement c'est mon fetch=1 qui merde
 
je savais pas koi mettre :lol:  


 
Sinon dans ton if c'est un ==, et si ça foire, utilises mysql_fetch_row et tu renvois dans chaque variable au lieu d'un tableau

Reply

Marsh Posté le 08-12-2002 à 14:31:24    


 
Deja ton if il est loufoque, ta comparaison ne veut absolument rien dire.

Reply

Marsh Posté le 08-12-2002 à 14:31:24   

Reply

Marsh Posté le 08-12-2002 à 14:32:43    

chez pas comment faire fetch_row :/
 
c'est kwa la difference avec array?

Reply

Marsh Posté le 08-12-2002 à 14:37:50    

chacal_one333 a écrit :

chez pas comment faire fetch_row :/
 
c'est kwa la difference avec array?


 
Exemple a la con :
 
 while (list($var1, $var2, $var3) = mysql_fetch_row($result))
{
 
}
 
ça te recupere les resultats de ta requete dans des variables, si ta requete ressort le resultat de 3 champs d'une table, tout ça sera contenu dans les variables (dans l'ordre d'apparition des champs de ta table)

Reply

Marsh Posté le 08-12-2002 à 14:43:49    

donc moi ca serait ca :
 

$test="SELECT pseudo FROM User Where pseudo='".$pseudo."'";
$test2=mysql_query($test);
while (list($var1) = mysql_fetch_row($test2))
 {
  echo "This nickname is already taken ! Please choose an other one";
 }


 
vuq ue je ne me sert que de la variable pseudo
 
c ca?

Reply

Marsh Posté le 08-12-2002 à 14:45:47    

chacal_one333 a écrit :

donc moi ca serait ca :
 

$test="SELECT pseudo FROM User Where pseudo='".$pseudo."'";
$test2=mysql_query($test);
while (list($var1) = mysql_fetch_row($test2))
 {
  echo "This nickname is already taken ! Please choose an other one";
 }


 
vuq ue je ne me sert que de la variable pseudo
 
c ca?


 
A premiere vue c'est bon.


Message édité par samuelp le 08-12-2002 à 14:46:00
Reply

Marsh Posté le 08-12-2002 à 14:46:04    

ca marche j'ai plus l'erreur :)
 
mais le row ca revient au meme que array sauf que ca list pas dans $fetch['pseudo'] mais dans $var1 si j'ai bien compri

Reply

Marsh Posté le 08-12-2002 à 14:47:31    

un dernier truc
 
pour verifier que le mail contient bien un @ et un . c'est bien ca :
 

if (!ereg("@", $email) OR !ereg(".", $email));


 
paske la meme en mettant un @ il em dit qu'il manque :/

Reply

Marsh Posté le 08-12-2002 à 14:47:40    

ahem !
 

Code :
  1. if ($fetch=$pseudo)


 
des que tu vas la dedans, tu affecte le contenu de $pseudo dans $fetch...  
 
la comparaison en php, c'est ==

Reply

Marsh Posté le 08-12-2002 à 14:49:50    

vi samuelp me l'as dit merci :)

Reply

Marsh Posté le 08-12-2002 à 14:53:28    

chacal_one333 a écrit :

un dernier truc
 
pour verifier que le mail contient bien un @ et un . c'est bien ca :
 

if (!ereg("@", $email) OR !ereg(".", $email));


 
paske la meme en mettant un @ il em dit qu'il manque :/


 
Hum, ereg n'envoie pas true quand il trouve ?  
Si c'est ça, ton if est à true quand y a pas de @
Fais un echo $email pour etre sur de ce qu'il renvoie, puis ne teste que sur une condition pour voir

Reply

Marsh Posté le 08-12-2002 à 14:54:34    

ok

Reply

Marsh Posté le 08-12-2002 à 15:35:19    

Juste encore un ptit coup de main :pt1cable:
 
Mon header ne veut pas marcher c'est normal j'ai un echo avant (je precise que je n'ai pas d'espace ni rien avant et apres les <? ?>
 

 echo '- you have added to the database -';
  header("Location: index5.php" );


 
Comment je peu afficher mon message puis rediriger ma page vers l'index? :??:


Message édité par Profil supprimé le 08-12-2002 à 15:35:29
Reply

Marsh Posté le 08-12-2002 à 15:40:19    

en mettant un header refresh plutot que location

Reply

Marsh Posté le 08-12-2002 à 15:46:03    

:non: ca march pas
 

 echo "- you have added to the database -";
  header("refresh: 1;index5.php" );


 
error :
 

- you have added to the database -  
Warning: Cannot add header information - headers already sent by (output started at /var/www/free.fr/13/f/a/w/t/fawteam/php test/register_2.php:25) in register_2.php on line 26

Reply

Marsh Posté le 08-12-2002 à 15:46:32    

et en plus ca m'inscrit meme pas dans ma DB [:zoutte]

Reply

Marsh Posté le 08-12-2002 à 16:10:52    

chacal_one333 a écrit :

Juste encore un ptit coup de main :pt1cable:
 
Mon header ne veut pas marcher c'est normal j'ai un echo avant (je precise que je n'ai pas d'espace ni rien avant et apres les <? ?>
 

 echo '- you have added to the database -';
  header("Location: index5.php" );


 
Comment je peu afficher mon message puis rediriger ma page vers l'index? :??:

Comme tu le ddis si bien, normal, t'as un echo avant.
Ben alors, met le après.

Reply

Marsh Posté le 08-12-2002 à 16:48:40    

meme apres ca marche pas ;)
 
on m'avait dit : pour qu el header marche il ne faut rien avoir en sortie :/

Reply

Marsh Posté le 08-12-2002 à 19:23:33    

chacal_one333 a écrit :

meme apres ca marche pas ;)
 
on m'avait dit : pour qu el header marche il ne faut rien avoir en sortie :/

Attend, si t'as mis le echo après le header et que le header ne marche pas c'est que le header est mal réglé.
Et si t'as toujours le même message d'erreur alors c'est que t'as une autre sortie quelques part dans ton source.

Reply

Marsh Posté le 08-12-2002 à 19:28:47    

sortie de quel genre?

Reply

Marsh Posté le 08-12-2002 à 19:34:11    

chacal_one333 a écrit :

sortie de quel genre?

print, echo, un caractère avant le premier <? ou après le dernier ?> ou entre deux ?> <? ou dans un fichier inclus.
A toi de chercher quelle est la sortie qui te fait merder le programme.

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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