Pseudo à l'identifiction, et même pseudo à l'accueil ...

Pseudo à l'identifiction, et même pseudo à l'accueil ... - PHP - Programmation

Marsh Posté le 01-03-2006 à 01:58:19    

Petit à petit l'oiseau fait son nid ... :d
 
Voilà, avec du temps et de l'aide, j'ai réussi à créer une zone réservée à des membres. Ils s'inscrivent, et se connectent à la zone réservée. Et maintenant, j'aimerai améliorer cette zone.
 
Comment par exemple dois je faire pour que le pseudo que l'internaute entre dans le champ de connexion à la zone puisse apparaître dans cette zone ?
 
Donc à l'identification, il tape son pseudo et mot de passe, et sur la page d'après, j'aimerai qu'un message apparaisse : " Bonjour $ident, etc ...."
 
Mais lorsque je met cela, il ne reconnait pas le $ident de la page précédente et inscrit en HTML Bonjour $ident  
 
Pouvez vous m'aider? Merci d'avance

Reply

Marsh Posté le 01-03-2006 à 01:58:19   

Reply

Marsh Posté le 01-03-2006 à 04:39:32    

PHP ne garde aucune variable en mémoire entre deux script, sauf si tu déclares des variables globales (à ne surtout pas faire), ou si tu utilises les sessions.
 
Grosso modo, après vérif, tu places dans une variable de session le pseudo utilisateur (par exemple $_SESSION['pseudo']), et tu appelles cette variable de session quand necessaire.
 
Bref, regarde du côté des sessions en PHP, tu trouveras vite ce qu'il te faut


Message édité par Djebel1 le 01-03-2006 à 04:39:53
Reply

Marsh Posté le 01-03-2006 à 10:30:04    

déjà si il affiche Bonjour $ident, c'est sûrement que tu utilses des simples quotes à la place des doubles.
 
Comme le dit Djebel les sessions sont ta solution.
 
Sur chacune de tes pages tu commences par cette ligne au tout début. session_start();
 
ensuite qd la personne se loggue tu fais :
$_SESSION['pseudo'] = html_entities($_POST['pseudo'])
 
et sur ta page accueil
 
echo 'Bonjour '.$_SESSION['pseudo'];
 
Et voila. @++


---------------
N'oubliez pas de mettre [RESOLU] dans le titre quand c'est fini - Pour poster vos sources : http://paste.clicksources.com/
Reply

Marsh Posté le 01-03-2006 à 11:02:30    

merci, mais où dois je mettre la ligne
 
$_SESSION['pseudo'] = html_entities($_POST['pseudo'])  
 
dans ma page d'identification ?
 
 
la voilà :
 
<?php require_once('Connections/users.php'); ?>
<?php
mysql_select_db($database_users, $users);
$query_Recordset1 = "SELECT * FROM users";
$Recordset1 = mysql_query($query_Recordset1, $users) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);
?><?php
// *** Validate request to login to this site.
if (!isset($_SESSION)) {
  session_start();
}
 
$loginFormAction = $_SERVER['PHP_SELF'];
if (isset($_GET['accesscheck'])) {
  $_SESSION['PrevUrl'] = $_GET['accesscheck'];
}
 
if (isset($_POST['ident'])) {
  $loginUsername=$_POST['ident'];
  $password=$_POST['passe'];
  $MM_fldUserAuthorization = "";
  $MM_redirectLoginSuccess = "membre.php";
  $MM_redirectLoginFailed = "index.php";
  $MM_redirecttoReferrer = false;
  mysql_select_db($database_users, $users);
   
  $LoginRS__query=sprintf("SELECT pseudo, mdp FROM users WHERE pseudo='%s' AND mdp='%s'",
    get_magic_quotes_gpc() ? $loginUsername : addslashes($loginUsername), get_magic_quotes_gpc() ? $password : addslashes($password));  
   
  $LoginRS = mysql_query($LoginRS__query, $users) or die(mysql_error());
  $loginFoundUser = mysql_num_rows($LoginRS);
  if ($loginFoundUser) {
     $loginStrGroup = "";
     
    //declare two session variables and assign them
    $_SESSION['MM_Username'] = $loginUsername;
    $_SESSION['MM_UserGroup'] = $loginStrGroup;        
 
    if (isset($_SESSION['PrevUrl']) && false) {
      $MM_redirectLoginSuccess = $_SESSION['PrevUrl'];  
    }
    header("Location: " . $MM_redirectLoginSuccess );
  }
  else {
    header("Location: ". $MM_redirectLoginFailed );
  }
}
?>
<form action='<?php echo $loginFormAction; ?>' method='POST' name='form2'>
<div align="center">
  <center>
  <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="500">
    <tr>
      <td width="250">Votre identifiant</td>
      <td width="250"><input type='text' name='ident' size="12"></td>
    </tr>
    <tr>
      <td width="250">&nbsp;</td>
      <td width="250">&nbsp;</td>
    </tr>
    <tr>
      <td width="250">Votre Mot de passe</td>
      <td width="250"><input type='text' name='passe' size="30" value=""></td>
    </tr>
    <tr>
      <td width="250">&nbsp;</td>
      <td width="250">&nbsp;</td>
    </tr>
    <tr>
      <td width="250"><input type='submit' value='Envoyer'></td>
      <td width="250"><input type="reset" value='Rétablir'></td>
    </tr>
  </table>
  </center>
</div>
</form><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans titre</title>
</head>
 
<body>
</body>
</html>
<?php
mysql_free_result($Recordset1);
?>

Reply

Marsh Posté le 01-03-2006 à 11:07:50    

tu les as déjà dans ta source
 
  //declare two session variables and assign them
    $_SESSION['MM_Username'] = $loginUsername;  
 
et pour tes requetes SQL, tu peux avoir qqch de plus rapide que les test des gpc à chaq variable
 
sur chaque page je fais ca
 

Code :
  1. // Effectue un stripslashes sur les variables GET/POST/COOKIE (si magic_quotes_gpc est activé)
  2. if (get_magic_quotes_gpc())
  3. {
  4. function stripslashes_array($array){
  5.  return is_array($array) ? array_map('stripslashes_array', $array) : stripslashes($array);
  6. }
  7. $_GET = stripslashes_array($_GET);
  8. $_POST = stripslashes_array($_POST);
  9. $_COOKIE = stripslashes_array($_COOKIE);
  10. }


 
et apres dans tes requetes SQL tu utilises ca
 
mysql_real_escape_string() sur chaque variable. Comme c'est t'es sûr que ton script fonctionne sur n'importe quelle configuration de PHP.
 
A++


Message édité par newneo2001 le 01-03-2006 à 11:34:34

---------------
N'oubliez pas de mettre [RESOLU] dans le titre quand c'est fini - Pour poster vos sources : http://paste.clicksources.com/
Reply

Marsh Posté le 01-03-2006 à 11:14:44    

k ca marche ! merci bien ! je ne vois pas encore tout directement malheureusement, mais ça arrivera, merci !!! :d

Reply

Marsh Posté le 01-03-2006 à 13:24:59    

j'ai un problème. Le pseudo s'affiche sur la seconde page avec la ligne
 
echo 'Bonjour '.$_SESSION['MM_Username'];  
 
Lorsque je remet le même sur la troisième page, il ne me l'affiche plus
 
    <tr>
      <td width="250">Votre identifiant</td>
      <td width="250">$_SESSION['MM_Username']"</td>
    </tr>
    <tr>
      <td width="250">France vs Slovaquie ?</td>
      <td width="250"><input type='text' name='reponse' size="30" value=""></td>
    </tr>
 
 
Pourtant au dessus des deux pages, il y a bel et bien
 
<?php
session_start()
?>

Reply

Marsh Posté le 01-03-2006 à 14:00:51    

up

Reply

Marsh Posté le 01-03-2006 à 16:40:13    

up2

Reply

Marsh Posté le 01-03-2006 à 16:52:41    

tu fais bien un echo dans la 3eme page? tu as pas juste mis "$_SESSION['MM_Username']" au beau milieu de ton code html???

Reply

Marsh Posté le 01-03-2006 à 16:52:41   

Reply

Marsh Posté le 01-03-2006 à 17:01:05    

J'ai ça, mais ca me semble bizarre en effet
 
 
<?php
session_start();
?>
<?php
<form method='POST' name='form4'>
<div align="center">
  <center>
  <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="500">
    <tr>
      <td width="250">Votre identifiant</td>
      <td width="250">$_SESSION['MM_Username']</td>
    </tr>
    <tr>
      <td width="250">Question dans table prono</td>
      <td width="250"><input type='text' name='passe' size="30" value="réponses 1 et 2 dans table prono"></td>
    </tr>
    <tr>
      <td width="250"><input type='submit' value='Envoyer'></td>
      <td width="250"><input type="reset" value='Rétablir'></td>
    </tr>
  </table>
  </center>
</div>
</form>
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans titre</title>
</head>
 
<body>
<?php
 
?>
</body>
</html>

Reply

Marsh Posté le 01-03-2006 à 17:08:59    

Euh c'est quoi ce code? Pourquoi y'a du HTML directement inclu entre les balises PHP? Pourquoi la structure HTML n'est pas respectée?


---------------
MZP est de retour
Reply

Marsh Posté le 01-03-2006 à 17:10:09    

ce sont des erreurs. mais je ne suis que débutant et j'essaye d'apprendre ... si qqun pouvait me rectifier, merci bien :d

Reply

Marsh Posté le 01-03-2006 à 17:11:55    

en fait, comme il s'agit d'une session, j'ai peur de ne pas savoir qui m'envoie le formulaire. et c'est pour cela que je souhaite insérer $_SESSION['MM_Username'] dans mon formulaire.
 
Il y a peut etre une meilleure façon ?

Reply

Marsh Posté le 01-03-2006 à 17:26:42    

en fait, $_SESSION['MM_Username'] fonctionne sur toutes les pages, mais pas dans le formulaire.
 
Et j'aimerai bien qu'il apparaisse.
 
Ex :
 
Votre pseudo : $_SESSION['MM_Username']
 
Pour que l'internaute n'ait pas à le taper et que lorsqu'il envoie son formulaire, son pseudo soit présent dans la base de données.
 

Reply

Marsh Posté le 01-03-2006 à 17:58:28    

$_SESSION est lié à une et une seule personne à la fois.
Donc pas besoin de recopier les données de $_SESSION dans une case d'un formulaire.
 
Quand PHP exécute l'instruction "session_start()", il va regarder si le navigateur lui fournis un identifiant valide de session dans l'adresse ou si cette information se trouve dans le cookie du navigateur. S'il trouve l'information, il va remplir le tableau $_SESSION à partir des données de la session correspondant à l'identifiant correspondant. S'il ne la trouve pas ou que l'identifiant est invalide, il va créer une nouvelle session ainsi qu'un tableau $_SESSION tout vide.
 
Tout ça pour dire qu'a part si la session se termien entre les deux demande de page, php saura retrouver tout seul comme un grand les données stockés dans $_SESSION.

Reply

Marsh Posté le 01-03-2006 à 18:29:40    

je viens donc d'essayer.
 
Donc reprenons.
Chaque membre doit s'inscrire et se voit attribuer un ID.
 
Je me connecte avec l'ID numéro 5. Je remplis le formulaire, puis je l'envoie. Il ne contient qu'une seule donnée.
 
Tout se passe bien. Je vais voir dans ma table. Et là, je vois la donnée remplie, mais id_user porte la valeur 1 et non 5. C'était la première fois que j'envoyais ce forulaire.
 
Alors comment savoir qui me l'envoie ???

Reply

Marsh Posté le 01-03-2006 à 19:01:17    

id_user, tu le récupéres où?

Reply

Marsh Posté le 01-03-2006 à 19:05:43    

je sais pas si tu as résolu ton problème pour l'affichage
 
mais ce que te dis omega2 c'est que du code PHP doit être inclut dans des balises <? ?> et pas direct dans une source HTML
 

Code :
  1. <?php
  2. session_start();
  3. ?>
  4. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  5. <html xmlns="http://www.w3.org/1999/xhtml">
  6. <head>
  7. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  8. <title>Document sans titre</title>
  9. </head>
  10. <body>
  11. <form method='POST' name='form4'>
  12. <div align="center">
  13.   <center>
  14.   <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="500">
  15.     <tr>
  16.       <td width="250">Votre identifiant</td>
  17.       <td width="250"><?=$_SESSION['MM_Username']?></td>
  18.     </tr>
  19.     <tr>
  20.       <td width="250">Question dans table prono</td>
  21.       <td width="250"><input type='text' name='passe' size="30" value="réponses 1 et 2 dans table prono"></td>
  22.     </tr>
  23.     <tr>
  24.       <td width="250"><input type='submit' value='Envoyer'></td>
  25.       <td width="250"><input type="reset" value='Rétablir'></td>
  26.     </tr>
  27.   </table>
  28.   </center>
  29. </div>
  30. </form>
  31. </body>
  32. </html>


 
Voila là ca devrait marcher.
 
pour l'id des user c'est un champ que tu dois mettre en auto-increment dans phpMyAdmin.
 
Quand tu cré un nouvel user, ce champ prendre une nouvelle variable unique. Ca te permet d'avoir une identification absolu de l'user (tu peux avoir 2x le même pseudo, mais pas 2x le même id)
 
Qd il va se logger, tu enregistre cet id en session
$_SESSION['id'] = ton id recup par SQL
 
ensuite dans le formulaire d'envoi au prono qd tu enregistres le prono du joueur tu rajoute dans ta requete INSERT id_user=$_SESSION['id']
 
a toi de vérifier avant que bien seul les joueurs loggués peuvent participer.
 
@++


---------------
N'oubliez pas de mettre [RESOLU] dans le titre quand c'est fini - Pour poster vos sources : http://paste.clicksources.com/
Reply

Marsh Posté le 01-03-2006 à 19:09:04    

encore un truc
 
<input type='text' name='passe' size="30" value="réponses 1 et 2 dans table prono">
 
pour des prono, je te propose de faire plutot comme les jeux de pari en ligne c'est à dire un menu déroulant ou des option button, qui te permettront de proposer différents choix et ainsi d'effectuer + facilement les tests pour savoir qui a bien répondu ou pas.
 
si tu pose la question qui va gagner entre la france ou la slovaquie?
si tu mets un champ text
y'en a qui vont de mettre
-France
- La France
-france
-c'est la france
 
donc après pour vérifier la bonne réponse à moins de faire à la main c'est la merde. Maintenant si tu proposes des choix, ils auront tous la même forme et ainsi tu pourras vérifier que c'est bien 'France'


---------------
N'oubliez pas de mettre [RESOLU] dans le titre quand c'est fini - Pour poster vos sources : http://paste.clicksources.com/
Reply

Marsh Posté le 01-03-2006 à 19:24:00    

je dois tout recommencer donc ?
 
Dans pari, je n'ai que 3 valeur :
 
id_user
id_pari
reponse
 
Et il n'y a que la réponse qui reçoit une valeur lorsqu'un formulaire est envoyé ...

Reply

Marsh Posté le 01-03-2006 à 19:24:47    

et aussi, la question que je tape dans ma table prono ne peut elle pas se retrouver sur la page du pari.php ???
 
Pour ne pas devoir l'encoder ? Comme les propositions .???

Reply

Marsh Posté le 01-03-2006 à 19:25:19    

ben c'est que tu te plantes dans ta requete SQL
 
montre ta requete ?


---------------
N'oubliez pas de mettre [RESOLU] dans le titre quand c'est fini - Pour poster vos sources : http://paste.clicksources.com/
Reply

Marsh Posté le 01-03-2006 à 19:28:36    

Voilà donc ma page actuelle où ils remplissent le formulaire avec pour l'instant France ou Slovquie
 
<?php require_once('Connections/prono.php'); ?>
<?php
session_start();
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "" )  
{
  $theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;
 
  switch ($theType) {
    case "text":
      $theValue = ($theValue != "" ) ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "" ) ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "" ) ? "'" . doubleval($theValue) . "'" : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "" ) ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "" ) ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
 
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
  $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
 
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form4" )) {
  $insertSQL = sprintf("INSERT INTO pari (reponse) VALUES (%s)",
                       GetSQLValueString($_POST['reponse'], "text" ));
 
  mysql_select_db($database_prono, $prono);
  $Result1 = mysql_query($insertSQL, $prono) or die(mysql_error());
 
  $insertGoTo = "membre.php";
  if (isset($_SERVER['QUERY_STRING'])) {
    $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
    $insertGoTo .= $_SERVER['QUERY_STRING'];
  }
  header(sprintf("Location: %s", $insertGoTo));
}
 
mysql_select_db($database_prono, $prono);
$query_Recordset1 = "SELECT * FROM pari";
$Recordset1 = mysql_query($query_Recordset1, $prono) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);
?>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans titre</title>
</head>
 
<body>
 
 
<form action="<?php echo $editFormAction; ?>" method='POST' name='form4'>
<div align="center">
  <center>
  <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="500">
    <tr>      
   <td width="250">Votre identifiant</td>      
   <td width="250"><input type='text' name='ident' size="30" value="<?=$_SESSION['MM_Username']?>"></td>    
 </tr>
 <tr>
      <td width="250">Question dans table prono</td>
      <td width="250"><input type='text' name='reponse' size="30" value=""></td>
    </tr>
    <tr>
      <td width="250"><input type='submit' value='Envoyer'></td>
      <td width="250"><input type="reset" value='Rétablir'></td>
    </tr>
  </table>
  </center>
</div>
<input type="hidden" name="MM_insert" value="form4">
</form>
 
</body>
</html>
<?php
mysql_free_result($Recordset1);
?>


Message édité par oli1987 le 01-03-2006 à 19:28:54
Reply

Marsh Posté le 01-03-2006 à 19:33:17    

ben c normal regarde ta requete :
 
$insertSQL = sprintf("INSERT INTO pari (reponse) VALUES (%s)",
                       GetSQLValueString($_POST['reponse'], "text" ));
 
il est l'ou l'insertion de id_user et id_pari la dedans.
 
En plus perso ton code est super lourd et y'a des trucs c'est un peu du n'importe quoi. Enfin c'est pas le problème maintenant. Mais là à mon avis tu as récupéré ce botu de code et tu misères avec et c'est normal.
 
Tu peux pas commencer par un truc simple que tu codes toi même et apres tu sécurises etc...


---------------
N'oubliez pas de mettre [RESOLU] dans le titre quand c'est fini - Pour poster vos sources : http://paste.clicksources.com/
Reply

Marsh Posté le 01-03-2006 à 19:52:05    

 $insertSQL = sprintf("INSERT INTO pari (reponse, id_user, id_pari)) VALUES (%s, %s, %s)",
                       GetSQLValueString($_POST['reponse'], "text" ),
           GetSQLValueString($_POST['id_user'], "text" ),
                       GetSQLValueString($_POST['id_pari'], "text" ));
 
 
Voilà donc une bonne requête, non ?
 
Et ensuite, je dois les indiquer où les champs id_user et id_pari sur ma page ?


Message édité par oli1987 le 01-03-2006 à 19:53:01
Reply

Marsh Posté le 01-03-2006 à 20:00:52    

GetSQLValueString($_POST['id_user'], "text" ),  
 
ton id_user il est en session. On te l'a dit depuit tout à l'heure.
 
Franchement elle est trop laide ta requete
$sql = "INSERT into pari (id_user, id_pari, reponses) VALUES ($_SESSION['id_user'], intval($_POST['id_pari']), mysql_real_escaped_string($_POST['reponses']))";
 
ben maintenant tu les mets dans ton formulaires, le id_user tu en as pas besoin pcq c en session et pour le id_pari tu le mets dans un :
<input type="hidden" name="id_pari" value="<?=ton_id_pari recup_depuis_ta_base?>" />
 
 
le problème c'est que tu utilises des trucs que tu ne connais pas, par exemple ta fonction GetSQLValueString tu l'a même pas comprise sinon tu mettrais pas tout le tps "text" poru les variables numériques par exemple


Message édité par newneo2001 le 01-03-2006 à 20:01:57

---------------
N'oubliez pas de mettre [RESOLU] dans le titre quand c'est fini - Pour poster vos sources : http://paste.clicksources.com/
Reply

Marsh Posté le 01-03-2006 à 20:07:41    

ui, je sais. mes pages sont crées avec dreamweaver. je suis un totriel sur le net et je suis bien conscient que je ne connais rien pour ainsi dire. mais je tente d'apprendre comme je peux et je vous remercie encore pour toute vorre aide

Reply

Marsh Posté le 01-03-2006 à 20:10:45    

<?=ton_id_pari recup_depuis_ta_base?>"
 
comment lui demander d'aller rechercher l'id automatiquement ? il y a moyen?

Reply

Marsh Posté le 01-03-2006 à 20:15:37    

mais ton formulaire tu le cré bien à partir d'un SELECT effectué depuis MYSQL
 
donc tu fais pareil
 
SELECT question, reponses FROM table_prono WHERE id_pari='123'
 
sachant que le 123 correspond à une variable pasé par GET par exemple.
 
donc ton formulaire tu affiches donc ta variable GET et non recup du champ SQL comme je te l'ai dit avant. En fait ca dépend de comment tu fais pour afficher le formulaire choisi.


---------------
N'oubliez pas de mettre [RESOLU] dans le titre quand c'est fini - Pour poster vos sources : http://paste.clicksources.com/
Reply

Marsh Posté le 01-03-2006 à 20:22:55    

mtnt  :  
 
Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in c:\program files\easyphp1-8\www\dreamphp\pari.php on line 35
 
 
ligne 35 : $sql = "INSERT INTO pari (id_user, id_pari, reponses) VALUES ($_SESSION['id_user'], intval($_POST['id_pari']), mysql_real_escaped_string($_POST['reponses']))";  
 
Y a quoi de mauvais ?

Reply

Marsh Posté le 01-03-2006 à 20:29:18    

$sql = 'INSERT INTO pari (id_user, id_pari, reponses) VALUES ('.$_SESSION['id_user'].', '.intval($_POST['id_pari']).', mysql_real_escaped_string('.$_POST['reponses'].'))';
 
essaie ça, la requete je te la fais de tête et j'ai surement fait un oubli de '


---------------
N'oubliez pas de mettre [RESOLU] dans le titre quand c'est fini - Pour poster vos sources : http://paste.clicksources.com/
Reply

Marsh Posté le 01-03-2006 à 20:41:04    

là ca va bien, je remplis France dans le formulaire, mais après, il m'affiche cela
 
 
Notice: Undefined index: id_user in c:\program files\easyphp1-8\www\dreamphp\pari.php on line 35
 
Notice: Undefined index: reponses in c:\program files\easyphp1-8\www\dreamphp\pari.php on line 35
 
Notice: Undefined variable: insertSQL in c:\program files\easyphp1-8\www\dreamphp\pari.php on line 38
Query est vide
 
 
 
35-38    ===>       $sql = 'INSERT INTO pari (id_user, id_pari, reponses) VALUES ('.$_SESSION['id_user'].', '.intval($_POST['id_pari']).', mysql_real_escaped_string('.$_POST['reponses'].'))';  
 
  mysql_select_db($database_prono, $prono);
  $Result1 = mysql_query($insertSQL, $prono) or die(mysql_error());
 

Reply

Marsh Posté le 01-03-2006 à 20:49:56    

j'ai su réparer une des trois erreurs
 
reste :
 
Notice: Undefined index: id_user in c:\program files\easyphp1-8\www\dreamphp\pari.php on line 35
 
Notice: Undefined variable: insertSQL in c:\program files\easyphp1-8\www\dreamphp\pari.php on line 38
Query est vide
 
 
Query signifie quoi ?

Reply

Marsh Posté le 01-03-2006 à 20:54:29    

ouais mais ca c'est des notices tu t'en fout. Change la configuration de ton PHP ou alors défini correctement tes variables avant. Il faut les initialiser
 
au début tu rajoutes
 
if (!isset($_SESSION['id_user'])) $_SESSION['id_user']='0';
 
 
ensuite c'est quoi ca :
$Result1 = mysql_query($insertSQL, $prono) or die(mysql_error());  
il contient quoi ton $insertSQL alors que ta req c'est $sql
 


---------------
N'oubliez pas de mettre [RESOLU] dans le titre quand c'est fini - Pour poster vos sources : http://paste.clicksources.com/
Reply

Marsh Posté le 01-03-2006 à 20:59:42    

voilà, rectifié avec
 
$sql = 'INSERT INTO pari (id_user, id_pari, reponse) VALUES ('.$_SESSION['id_user'].', '.intval($_POST['id_pari']).', mysql_real_escaped_string('.$_POST['reponse'].'))';  
 
  mysql_select_db($database_prono, $prono);
  $Result1 = mysql_query($sql, $prono) or die(mysql_error());
 
 
Lorsque je tape "France" dans le formulaire, la page suivante indique  
 
Erreur de syntaxe près de '(France))' à la ligne 1
 
 
Ligne 1 ??? ca veut dire quoi ça ?

Reply

Marsh Posté le 01-03-2006 à 21:14:16    

ben ca veut dire que tu regardes ta ligne 1 et tu vois ce qu'elle donne
 
utilises des echo un peu pr débugger ta source. On t'a déjà pas mal aidé je pense, on peut pas te faire ton truc non plus


---------------
N'oubliez pas de mettre [RESOLU] dans le titre quand c'est fini - Pour poster vos sources : http://paste.clicksources.com/
Reply

Marsh Posté le 01-03-2006 à 21:17:50    

voilà ma ligne 1 : <?php require_once('Connections/prono.php'); ?>
 
 
!!!!

Reply

Marsh Posté le 01-03-2006 à 21:20:13    

aussi, comment dois je m'y prendre pour "transférer" ma base de données sur internet afin que les internautes remplissent les tables de données ???

Reply

Marsh Posté le 01-03-2006 à 21:25:56    

non la lign 1 c'est après ta requete, fais un echo $sql; avant
 
pour transférer ta base de données, tu vas dans phpmyadmin en local tu exportes ta db et apres sur ton hébergeur et là tu importes ta db, c tout


---------------
N'oubliez pas de mettre [RESOLU] dans le titre quand c'est fini - Pour poster vos sources : http://paste.clicksources.com/
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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