Echo d'une commande SQL ?

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Echo d'une commande SQL ?

Re: Echo d'une commande SQL ?

par xTG » 15 sept. 2012, 19:03

Dans ce cas ton problème est juste le header() qui n'a rien à faire là. ;)

Re: Echo d'une commande SQL ?

par tomlacroix » 15 sept. 2012, 13:09

Bonjour,
Je vous remercie pour vos réponses.
Seulement, j'ai utilisé le script qui vous m'avez présenté, et dans ce cas, Cela permet d'afficher la 'money' de l'utilisateur.
Dans mon cas, ce que je n'ai pas expliqué c'est que j'utilise le premier script pour loger un utilisateur sur mon Application iPhone.
Et j'aurai donc aimé, quand dans un autre .php, le résultat puisse s'afficher. les Echo "Yes" et "No" Permettent le Switch vers une autre interface si logé ou non.

Je voulais donc créer et executer la commande SQL dans mon first.php et echo seulement la variable $echomoney dans second.php.
La première variable me permet la connexion.
Si je ne l'ai plus, je ne peux plus logger.

Merci

Re: Echo d'une commande SQL ?

par sadeq » 14 sept. 2012, 19:21

Salut, c'est le premier script qui n'est pas du tout bon. Voici la correction :
first.php
<?php
//ouverture de la session
session_start();

//connexion au serveur MySQL
mysql_connect ("localhost","root","root");
mysql_select_db ("dbifield");

//initialisation des champs envoyés par POST
$login = isset($_POST['login']) ? $_POST['login'] : '';
$pass = isset($_POST['pass']) ? $_POST['pass'] : '';

//Requête qui trouve le champ Money du login donné
$requete = "SELECT money FROM membres WHERE login='$login' AND pass='$pass'";

//exécution de la requête
$result = mysql_query($requete);

//traitement du résultat de la requête exécutée
if ($result && mysql_num_rows($result) >= 1)  {
     //lecture du résultat dans $row
     $row = mysql_fetch_assoc($result);

     //mémoriser la valeur de Money dans la session
     $_SESSION['money'] =  $row['money'];

     //fermer la connexion MySQL
     mysql_close();
     
     //aller vers la page suivante
     header("Location:second.php");
     exit(); //arrêt conseillé toujours après la redirection header/location
} 
else {
   echo "Login non trouvé!";
}

//fermeture de la connexion MySQL
mysql_close();
?>
Tu vois maintenant mieux les étapes qui te manquaient pour bien lire un champ d'une requête SQL à exécuter.

et second.php :
<?php
session_start();
echo $_SESSION['money'];  
?>

Re: Echo d'une commande SQL ?

par xTG » 14 sept. 2012, 19:13

Ta variable est une simple chaîne de caractères. Tu t'attendais à quoi ? La valeur du champs money ?
Auquel cas il faut un mysql_query() ainsi qu'un jeu de fonction pour exploiter la ressource concernée.

N.B : pourquoi ne pas récupérer le champ money dans la première requête ?

Echo d'une commande SQL ?

par tomlacroix » 14 sept. 2012, 17:43

Bonjour à tous,

Voilà mon soucis.

J'ai deux pages php, First.php, et Second.php.
Dans first.php, j'ai ma commande SQL dans $echomoney tel que :
<?php
session_start();
mysql_connect ("localhost","root","root");
mysql_select_db ("dbifield");

if(isset($_POST['login']))	$login=$_POST['login'];
else $login ='';
if(isset($_POST['pass']))	$pass=$_POST['pass'];
else $pass = '';

$requete = "SELECT login, pass FROM membres WHERE login='$login' AND pass='$pass'";
$echomoney = "SELECT money FROM membres WHERE login='$login'";

$login = mysql_query($requete);


if (mysql_num_rows($login) == 1)  {
$row = mysql_fetch_assoc($login);
echo "Yes";

} else {
echo "No";
}

$_SESSION['something_we_saved'] =  $echomoney;
header("Location:second.php");


mysql_close();

?>
et Second.php :
<?php 
session_start();
echo $_SESSION['something_we_saved'];  

?>
Je suis sûre que le système marche car je l'utilise, mon seul problème le voici :
ma variable $echomoney ne fonctionne pas.
Son principe serait de séléctionner le pseudo qui vient de se connecter, et a partir de lui, afficher la donnée "Money" provenant de la base SQL, et de l'afficher en echo sur second.php.
Seulement, lorsque je fais cela, le seul echo qui apparait, est simplement la commande SQL non exécutée, et non le résultat.
La fonction marche car j'ai testé avec du simple texte et cela marche.
Auriez vous la solution a mon problème ?

Je vous remercie.