problème liaison table

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 : problème liaison table

Re: problème liaison table

par spidercrash » 21 mars 2010, 11:59

Encore merci :wink: je comprend mieux le fonctionnement je vais pouvoir avancer un max.

Et c'est intéressant de voir la réaction cause de l'echo

pour rappelle une fois modifier voici le code total
<?php
// initialisation des sessions
session_start() ;

// tester la présence de la session numutilisateurs
if ( isset( $_SESSION['NUMUTILISATEURS']) ) {
// Recuperation pour la variable 
$NUMUTILISATEURS = $_SESSION['NUMUTILISATEURS'];

//connexion a la base
include 'php/connect.php';

// On affiche le numutilisateurs
echo 'email : ',$_SESSION['MAILUTILISATEURS'],'<br />     
     NUMUTILISATEURS: ',$_SESSION['NUMUTILISATEURS'],'<br />';


//
$sql = "SELECT * FROM annonces WHERE NUMUTILISATEURS = '$NUMUTILISATEURS'";
$req= mysql_query($sql) or die ('erreur sql §<br />'.$sql.'<br />'.mysql_error());


while($data=mysql_fetch_array($req))
 echo $data ['titreannonce']; 

}

?> 

Re: problème liaison table

par Dr@ke » 21 mars 2010, 11:55

Il y a un truc de pas normal dans ton fichier alors...
Car un echo a jamais gêner une connection SQL

Faut mettre ton include au dessus de l'echo mais en dessous de l'isset

BOn je go là ++ :wink:

Re: problème liaison table

par spidercrash » 21 mars 2010, 11:54

oui :D c 'était cela

Re: problème liaison table

par spidercrash » 21 mars 2010, 11:51

donc le probléme viens de la requete de connexion a la base
include() connect.php
des que je le place juste avant ma requete sa me met les même erreur

Re: problème liaison table

par Dr@ke » 21 mars 2010, 11:50

Remonte ton fichier include au dessus de l'echo pour voir
Juste au dessus pas comme avant là :wink:

Re: problème liaison table

par spidercrash » 21 mars 2010, 11:47

Non pas d'espace rien qui pourrai gener je cherche pour voir

Re: problème liaison table

par Dr@ke » 21 mars 2010, 11:42

Vérifie si pas d'espace ou rien avant session_start() et surtout avant <?php.

Et vérifie les accents dans les commentaires, au pire enlève les.

Et non ca rien avoir avec le fichier include

[EDIT]
Au pire garde ton code, il était très bien.
Sauf il est mieux de déplacer les lignes que je te disais suivant mon exemple...

Re: problème liaison table

par spidercrash » 21 mars 2010, 11:38

je viens de tester ton code il me renvoie ceci

Code : Tout sélectionner

Warning: Cannot modify header information - headers already sent by (output started at /homez.316/logisdesq/www/mesannonces.php:13) in /homez.316/logisdesq/www/php/connect.php on line 2 Warning: Cannot modify header information - headers already sent by (output started at /homez.316/logisdesq/www/mesannonces.php:13) in /homez.316/logisdesq/www/php/connect.php on line 3 Warning: Cannot modify header information - headers already sent by (output started at /homez.316/logisdesq/www/mesannonces.php:13) in /homez.316/logisdesq/www/php/connect.php on line 4 Warning: Cannot modify header information - headers already sent by (output started at /homez.316/logisdesq/www/mesannonces.php:13) in /homez.316/logisdesq/www/php/connect.php on line 5 Warning: Cannot modify header information - headers already sent by (output started at /homez.316/logisdesq/www/mesannonces.php:13) in /homez.316/logisdesq/www/php/connect.php on line 6 donne meubledonne petit poisson
c'est pas cause de la connexion qui se déclanxherai trop tard ?

Re: problème liaison table

par Dr@ke » 21 mars 2010, 11:33

Très bien sauf qu'il faut la mettre juste en dessous de isset() qui sert justement a tester sa présence.
Ensuite pense a mettre ton include() connect.php juste avant ta requête...

Comme ceci en gros:
<?php
// initialisation des sessions
session_start() ;

// tester la présence de la session numutilisateurs
if (isset($_SESSION['NUMUTILISATEURS'])) {

// Récupération de la variable session après avoir testé sa présence
// (assignation de sa valeur à une variable)
$NUMUTILISATEURS = $_SESSION['NUMUTILISATEURS'];

// On affiche les variables sessions avec echo
echo 'email : ',$_SESSION['MAILUTILISATEURS'],'<br />    
     NUMUTILISATEURS: ',$_SESSION['NUMUTILISATEURS'],'<br />';

// connection SQL donc toujours juste avant la requête par sécurité
include 'php/connect.php';

// Requête SQL
$sql = "SELECT * FROM annonces WHERE NUMUTILISATEURS = '$NUMUTILISATEURS'";
$req= mysql_query($sql) or die('erreur sql §<br />'.$sql.'<br />'.mysql_error());

// Traitement du résultat de la requête
while($data=mysql_fetch_array($req))
 echo $data ['titreannonce'];

}

?>
Et bien joué :wink:

Re: problème liaison table

par spidercrash » 21 mars 2010, 11:21

donc le code total sera cela ( je viens de tester c'est good )
<?php
// initialisation
session_start() ;

// Recuperation pour la variable 
$NUMUTILISATEURS = $_SESSION['NUMUTILISATEURS'];

// tester la présence de numutilisateurs

include 'php/connect.php';


if ( isset( $_SESSION['NUMUTILISATEURS']) ) {

// On affiche le numutilisateurs
echo 'email : ',$_SESSION['MAILUTILISATEURS'],'<br />     
     NUMUTILISATEURS: ',$_SESSION['NUMUTILISATEURS'],'<br />';



$sql = "SELECT * FROM annonces WHERE NUMUTILISATEURS = '$NUMUTILISATEURS'";
$req= mysql_query($sql) or die ('erreur sql §<br />'.$sql.'<br />'.mysql_error());


while($data=mysql_fetch_array($req))
 echo $data ['titreannonce']; 

}

?> 



 
Ai je bien compris ?

Re: problème liaison table

par Dr@ke » 21 mars 2010, 10:50

Voilà,

Mais si tu veux faire encore mieux pour bien comprendre le principe des variables, c'est laisser ta variable $NUMUTILISATEURS dans la requête et donc garder ta requête actuelle.

Mais il faut dans ce cas assigner le contenu de $_SESSION['NUMUTILISATEURS'] à la variable $NUMUTILISATEURS juste avant la requête.

De cette façon, $NUMUTILISATEURS ne sera plus inconnu et contiendra bien l'ID de l'utilisateur...

Re: problème liaison table

par spidercrash » 21 mars 2010, 10:39

Les variables sessions commencent par $_SESSION, c'est justement pratique pour les reconnaitre par exemple.

Donc $NUMUTILISATEURS est une variable normale sans aucune valeur pour le moment.
donc ma commande n'est pas bon a la place de la variable faut placer $_SESSION['NUMUTILISATEURS'] ?

A se que je comprend

Re: problème liaison table

par Dr@ke » 21 mars 2010, 10:34

Les variables sessions commencent par $_SESSION, c'est justement pratique pour les reconnaitre par exemple.

Donc $NUMUTILISATEURS est une variable normale sans aucune valeur pour le moment.

Re: problème liaison table

par spidercrash » 21 mars 2010, 10:27

oui je c'est bien que c'est une variable mais a priori celle ci recupere l'ID de la session start
= '$NUMUTILISATEURS'";
Car sinon si je ne la place pas toute les annonces sont visible par l'utilisateur il n'a pas que c'est annonces
Mais je me documente un maximun :( mais que je comprenne bien le principe et la sa commence a venir :wink:

Re: problème liaison table

par Dr@ke » 21 mars 2010, 10:21

Ok c mieux :wink:

Sinon $NUMUTILISATEURS est une variable, tant que l'on ne dit pas a php ce quelle contient, elle est vide, et même pour être plus précis inconnue.

Ceci, c'est la base de la base, c'est pour cela que j'insiste dessus, tant que tu ne te documenteras pas dessus le temps qu'il faut, il nous sera difficile de t'aider...