Raffraichissement de page sans bloquer une requête SQL

Eléphant du PHP | 112 Messages

03 janv. 2007, 00:27

opcode c'est bien, mais y a surement une erreur une erreur php !!
Cordialement, France-Webmaster
www.france-webmaster.fr
[email protected]
--------------------------------------
Magnifique invention qu'est la base de donnée !!

Eléphant du PHP | 445 Messages

03 janv. 2007, 00:40

?

Peux-tu répéter clairement ce que tu viens d'écrire ?
LLDC
Ulti

Invité
Invité n'ayant pas de compte PHPfrance

03 janv. 2007, 02:07

Je veut dire que dans le code que j'ai écrit plus haut (page 1), il y a surment une erreur qui répéte les données, je suis pas sûr que sa vienne de la reqûete... enfin je ne connais pas sa provenance...

Eléphant du PHP | 112 Messages

03 janv. 2007, 15:37

svp...
Cordialement, France-Webmaster
www.france-webmaster.fr
[email protected]
--------------------------------------
Magnifique invention qu'est la base de donnée !!

Eléphant du PHP | 112 Messages

03 janv. 2007, 20:23

France-Webmaster

une réponse ?
Cordialement, France-Webmaster
www.france-webmaster.fr
[email protected]
--------------------------------------
Magnifique invention qu'est la base de donnée !!

Eléphant du PHP | 331 Messages

03 janv. 2007, 20:56

Salut,

A ta place je ferais ceci:

1 - page où tu as ta requete sql et la création de tes variables de session, une fois le tout exécuté redirection vers une autre page où tu affichera tes variables de session.

S'est se que je fait dans mes sites pour les sections nécessitant une authentification.

Page 1:
<?php

session_start();

// Connexion à MySql
$db = mysql_connect('******', '******', '******');

// Connexion à la base de donnée
mysql_select_db('******',$db);
 
// on crée la requête SQL     
$sql = 'SELECT civilite, nom, prenom, numero_client, date_de_naissance_jour, date_de_naissance_mois, date_de_naissance_annee, 

numero_de_rue, rue, code_postal, batiment, etage, porte, ville, pays, numero_de_telephone_fixe, numero_de_telephone_portable, 

email, mot_de_passe FROM user WHERE numero_client="'.$numero_client.'"';  
   
// on envoie la requête    
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
 
// on fait une boucle qui va faire un tour pour chaque enregistrement    
while($data = mysql_fetch_assoc($req))  
    {   
echo $civilite = $data['civilite'].'<br>'.$nom = $data['nom'].'<br>'.$prenom = $data['prenom'].'<br>'.$numero_client = 

$data['numero_client'].'<br>'.$date_de_naissance_jour = $data['date_de_naissance_jour'].'<br>'.$date_de_naissance_mois = 

$data['date_de_naissance_mois'].'<br>'.$date_de_naissance_annee = $data['date_de_naissance_annee'].'<br>'.$numero_de_rue = 

$data['numero_de_rue'].'<br>'.$rue = $data['rue'].'<br>'.$code_postal = $data['code_postal'].'<br>'.$batiment = 

$data['batiment'].'<br>'.$etage = $data['etage'].'<br>'.$porte = $data['porte'].'<br>'.$ville = $data['ville'].'<br>'.$pays = 

$data['pays'].'<br>'.$numero_de_telephone_fixe = $data['numero_de_telephone_fixe'].'<br>'.$numero_de_telephone_portable = 

$data['numero_de_telephone_portable'].'<br>'.$email = $data['email'].'<br>'.$mot_de_passe = $data['mot_de_passe'];  
    }   
mysql_close();

// On met les variable en session (ces valeurs sont initialisé plus bas)
$_SESSION['civilite'] = $civilite;
$_SESSION['nom'] = $nom;
$_SESSION['prenom'] = $prenom;
$_SESSION['date_de_naissance_jour'] = $date_de_naissance_jour;
$_SESSION['date_de_naissance_mois'] = $date_de_naissance_mois;
$_SESSION['date_de_naissance_annee'] = $date_de_naissance_annee;
$_SESSION['numero_de_rue'] = $numero_de_rue;
$_SESSION['rue'] = $rue;
$_SESSION['code_postal'] = $code_postal;
$_SESSION['batiment'] = $batiment;
$_SESSION['etage'] = $etage;
$_SESSION['porte'] = $porte;
$_SESSION['ville'] = $ville;
$_SESSION['pays'] = $pays;
$_SESSION['numero_de_telephone_fixe'] = $numero_de_telephone_fixe;
$_SESSION['numero_de_telephone_portable'] = $numero_de_telephone_portable;
$_SESSION['email'] = $email;

//ICI ON REDIRIGE
header("location:succes.php?numero_client=".$_SESSION["numero_client"].");
?> 
Maintenant page2:
echo $_SESSION['civilite'];
echo $_SESSION['nom'];
echo $_SESSION['prenom'];
echo $_SESSION['date_de_naissance_jour'];
echo $_SESSION['date_de_naissance_mois'];
echo $_SESSION['date_de_naissance_annee'];
echo $_SESSION['numero_de_rue'];
echo $_SESSION['rue'];
echo $_SESSION['code_postal'];
echo $_SESSION['batiment'];
echo $_SESSION['etage'];
echo $_SESSION['porte'];
echo $_SESSION['ville'];
echo $_SESSION['pays'];
echo $_SESSION['numero_de_telephone_fixe'];
echo $_SESSION['numero_de_telephone_portable'];
echo $_SESSION['email'];
Note cependant, que la redirection ne fonctionne pas s'il y a du html dans ta page, et il y en a, alors enlève le.

L'affichage et la mise en forme fait la dans la page succes.php

Aussi, dans le liens de redirection j'ai mis une variable "numero_client" mais je ne l'ai pas initialiser alors oublie pas de le faire.

header("location:succes.php?numero_client=".$_SESSION["numero_client"].");

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

03 janv. 2007, 21:37

Modération :
France-Webmaster, les "up" sont interdits sur PHPFrance.

Si tu n'as pas obtenu de réponse, c'est (au choix) :
- que ta question est mal formulée : reformule-la différemment ;
- que personne ne connaît la réponse ici : faire un "up" ne te donnera pas davantage de résultats ;
- que la réponse demandée exige un travail important que personne ne va faire à ta place ;
- que trop peu de temps s'est écoulé depuis ton précédent message pour qu'un membre ait pu y répondre.

Merci de prendre le temps de lire les règlements.

De plus, tu n'en n'est pas à ton coup d'essai, tu risques donc des procédures plus grave qu'une simple modération ...
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 112 Messages

03 janv. 2007, 23:54

Merci beaucoup, mais il y a une erreur dans le script que vous m'avez donné,
Parse error: syntax error, unexpected $end in /mnt/112/sdb/0/2/info.aqua/ab3487008bdd7a85c48bb5cbe5d668f1.php3 on line 62
, une erreur de " ou de ' ou de . et pour l'initiation ce n'est pas déja fait plus haut ? :
'.$numero_client = $data['numero_client'].'
Cordialement, France-Webmaster
www.france-webmaster.fr
[email protected]
--------------------------------------
Magnifique invention qu'est la base de donnée !!

Mammouth du PHP | 514 Messages

03 janv. 2007, 23:58

après exécution de ta requête, fais une redirection en php.
Ne jamais repousser à demain ce qu'on peut faire après demain ...

Eléphant du PHP | 112 Messages

04 janv. 2007, 17:06

après exécution de ta requête, fais une redirection en php.
Oui, j'ai compris qu'il faut faire une redirection mais sa ne marche pas à cette ligne, pourquoi ?
Cordialement, France-Webmaster
www.france-webmaster.fr
[email protected]
--------------------------------------
Magnifique invention qu'est la base de donnée !!

Eléphant du PHP | 331 Messages

04 janv. 2007, 17:14

Première cause possible il manque un "

remplace:

Code : Tout sélectionner

header("location:succes.php?numero_client=".$_SESSION["numero_client"].");
par:

Code : Tout sélectionner

header("location:succes.php?numero_client=".$_SESSION["numero_client"]."");
Ensuite, comme je te disais il ne dois y avoir aucun html avant cette ligne

Eléphant du PHP | 331 Messages

04 janv. 2007, 17:16

Dans la page succes et en fait dans toute page où tu utilise des session oublie pas de mettre session_start(); en début de page.

Je te l'avais pas inscrit dans mon exemple.

Eléphant du PHP | 112 Messages

04 janv. 2007, 17:40

Oui, j'y avais déjà pensé à mettre session_start(); mercci, bon je remplace par
header("location:succes.php?numero_client=".$_SESSION["numero_client"].""); 
... et .... sa affiche MrNomPrénom6521digk1811197113rue du blabla92000Q1383NanterreFrance01145986580659887548xxxxxx@xxxxx.com6521digk
Warning: Cannot modify header information - headers already sent by (output started at /mnt/112/sdb/0/2/info.aqua/ab3487008bdd7a85c48bb5cbe5d668f1.php3:36) in /mnt/112/sdb/0/2/info.aqua/ab3487008bdd7a85c48bb5cbe5d668f1.php3 on line 61 et cela na pas redirigé... voyez-vous du HTML dans la page ?
<?php 

session_start(); 

// Connexion à MySql 
$db = mysql_connect('******', '******', '******'); 

// Connexion à la base de donnée 
mysql_select_db('******',$db); 
  
// on crée la requête SQL      
$sql = 'SELECT civilite, nom, prenom, numero_client, date_de_naissance_jour, date_de_naissance_mois, date_de_naissance_annee,  

numero_de_rue, rue, code_postal, batiment, etage, porte, ville, pays, numero_de_telephone_fixe, numero_de_telephone_portable,  

email, mot_de_passe FROM user WHERE numero_client="'.$numero_client.'"';   
    
// on envoie la requête     
$req = mysql_query($sql) or die('Erreur SQL !'.$sql.''.mysql_error()); 
  
// on fait une boucle qui va faire un tour pour chaque enregistrement     
while($data = mysql_fetch_assoc($req))   
    {    
echo $civilite = $data['civilite'].''.$nom = $data['nom'].''.$prenom = $data['prenom'].''.$numero_client =  

$data['numero_client'].''.$date_de_naissance_jour = $data['date_de_naissance_jour'].''.$date_de_naissance_mois =  

$data['date_de_naissance_mois'].''.$date_de_naissance_annee = $data['date_de_naissance_annee'].''.$numero_de_rue =  

$data['numero_de_rue'].''.$rue = $data['rue'].''.$code_postal = $data['code_postal'].''.$batiment =  

$data['batiment'].''.$etage = $data['etage'].''.$porte = $data['porte'].''.$ville = $data['ville'].''.$pays =  

$data['pays'].''.$numero_de_telephone_fixe = $data['numero_de_telephone_fixe'].''.$numero_de_telephone_portable =  

$data['numero_de_telephone_portable'].''.$email = $data['email'].''.$mot_de_passe = $data['mot_de_passe'];   
    }    
mysql_close(); 

// On met les variable en session
$_SESSION['civilite'] = $civilite; 
$_SESSION['nom'] = $nom; 
$_SESSION['prenom'] = $prenom;
$_SESSION['date_de_naissance_jour'] = $date_de_naissance_jour; 
$_SESSION['date_de_naissance_mois'] = $date_de_naissance_mois; 
$_SESSION['date_de_naissance_annee'] = $date_de_naissance_annee; 
$_SESSION['numero_de_rue'] = $numero_de_rue; 
$_SESSION['rue'] = $rue; 
$_SESSION['code_postal'] = $code_postal; 
$_SESSION['batiment'] = $batiment; 
$_SESSION['etage'] = $etage; 
$_SESSION['porte'] = $porte; 
$_SESSION['ville'] = $ville; 
$_SESSION['pays'] = $pays; 
$_SESSION['numero_de_telephone_fixe'] = $numero_de_telephone_fixe; 
$_SESSION['numero_de_telephone_portable'] = $numero_de_telephone_portable; 
$_SESSION['email'] = $email; 


//ICI ON REDIRIGE 
header("location:succes.php?numero_client=".$_SESSION["numero_client"]."");  
?>
Cordialement, France-Webmaster
www.france-webmaster.fr
[email protected]
--------------------------------------
Magnifique invention qu'est la base de donnée !!

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

04 janv. 2007, 17:48

Tu veux bien poser ce fichu clavier deux secondes et réfléchir à ton code ?!

c'est quoi tout ça ?!!!
echo $civilite = $data['civilite'].''.$nom = $data['nom'].''.$prenom = $data['prenom'].''.$numero_client =  

$data['numero_client'].''.$date_de_naissance_jour = $data['date_de_naissance_jour'].''.$date_de_naissance_mois =  

....
Pour quoi est-ce qu'il y a tant de "=" ?!

Comment affecte-t-on une variable ?
(Comment donne-t-on une valeur à une variable ?)

PS : le "Warning:" vient du "echo" :roll:

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 331 Messages

04 janv. 2007, 17:53

Pas de html avant une redirection.

Code : Tout sélectionner

while($data = mysql_fetch_assoc($req)) { echo $civilite = $data['civilite'].''.$nom = $data['nom'].''.$prenom = $data['prenom'].''.$numero_client =
le echo crée du html.

Le mieux remplace ceci:
while($data = mysql_fetch_assoc($req))   
    {    
echo $civilite = $data['civilite'].''.$nom = $data['nom'].''.$prenom = $data['prenom'].''.$numero_client =  

$data['numero_client'].''.$date_de_naissance_jour = $data['date_de_naissance_jour'].''.$date_de_naissance_mois =  

$data['date_de_naissance_mois'].''.$date_de_naissance_annee = $data['date_de_naissance_annee'].''.$numero_de_rue =  

$data['numero_de_rue'].''.$rue = $data['rue'].''.$code_postal = $data['code_postal'].''.$batiment =  

$data['batiment'].''.$etage = $data['etage'].''.$porte = $data['porte'].''.$ville = $data['ville'].''.$pays =  

$data['pays'].''.$numero_de_telephone_fixe = $data['numero_de_telephone_fixe'].''.$numero_de_telephone_portable =  

$data['numero_de_telephone_portable'].''.$email = $data['email'].''.$mot_de_passe = $data['mot_de_passe'];   
    }    
mysql_close(); 

// On met les variable en session
$_SESSION['civilite'] = $civilite; 
$_SESSION['nom'] = $nom; 
$_SESSION['prenom'] = $prenom;
$_SESSION['date_de_naissance_jour'] = $date_de_naissance_jour; 
$_SESSION['date_de_naissance_mois'] = $date_de_naissance_mois; 
$_SESSION['date_de_naissance_annee'] = $date_de_naissance_annee; 
$_SESSION['numero_de_rue'] = $numero_de_rue; 
$_SESSION['rue'] = $rue; 
$_SESSION['code_postal'] = $code_postal; 
$_SESSION['batiment'] = $batiment; 
$_SESSION['etage'] = $etage; 
$_SESSION['porte'] = $porte; 
$_SESSION['ville'] = $ville; 
$_SESSION['pays'] = $pays; 
$_SESSION['numero_de_telephone_fixe'] = $numero_de_telephone_fixe; 
$_SESSION['numero_de_telephone_portable'] = $numero_de_telephone_portable; 
$_SESSION['email'] = $email;  
Par ceci:
while($data = mysql_fetch_assoc($req))   
    {    
// On met les variable en session
$_SESSION['civilite'] = $data['civilite;'] 
$_SESSION['nom'] = $data['nom']; 
$_SESSION['prenom'] = $data['prenom'];
$_SESSION['date_de_naissance_jour'] = $data['date_de_naissance_jour']; 
$_SESSION['date_de_naissance_mois'] = $data['date_de_naissance_mois']; 
$_SESSION['date_de_naissance_annee'] = $data['date_de_naissance_annee']; 
$_SESSION['numero_de_rue'] = $data['numero_de_rue']; 
$_SESSION['rue'] = $data['rue']; 
$_SESSION['code_postal'] = $data['code_postal']; 
$_SESSION['batiment'] = $data['batiment']; 
$_SESSION['etage'] = $data['etage']; 
$_SESSION['porte'] = $data['porte']; 
$_SESSION['ville'] = $data['ville']; 
$_SESSION['pays'] = $data['pays']; 
$_SESSION['numero_de_telephone_fixe'] = $data['numero_de_telephone_fixe']; 
$_SESSION['numero_de_telephone_portable'] = $data['numero_de_telephone_portable']; 
$_SESSION['email'] = $data['email'];  
mysql_close(); 
}