Aide sur code PHP

payhens Messages postés 21 Date d'inscription jeudi 5 juillet 2007 Statut Membre Dernière intervention 22 avril 2010 - 22 avril 2010 à 08:55
Zut13 Messages postés 50 Date d'inscription dimanche 6 mai 2007 Statut Membre Dernière intervention 14 novembre 2011 - 22 avril 2010 à 13:01
bonjour,
J'ai télécharger le script MyCart :
dans la page index.php j'ai (une partie du code)

if ($UID == "") {
$dt=date("YmdHis");
$UID="$dt$REMOTE_ADDR";
echo $UID;
$date=date("z");
mysql_query("INSERT INTO Users VALUES ('$UID','$date')");
Header("Location: $PHP_SELF?UID=$UID");

}
Je sais que je rentre bien dans cette boucle et si je mets la derniere ligne de code (header) en commentaire ca marche....mal mais ca marche
par contre si je laisse cette ligne j'ai la phrase

Firefox a détecté que le serveur redirige la demande pour cette adresse d'une manière qui n'aboutira pas.

* La cause de ce problème peut être la désactivation ou le refus
des cookies.
Merci de votre aide

1 réponse

Zut13 Messages postés 50 Date d'inscription dimanche 6 mai 2007 Statut Membre Dernière intervention 14 novembre 2011
22 avril 2010 à 13:01
Salut,

Alors déjà quelques corrections :

if ($UID == "") { <<< c'est correct mais c'est à éviter, utilise plutôt :
if (empty($UID)) {

ensuite > $UID="$dt$REMOTE_ADDR"; n'est pas correct rajoute un point entre les deux variables et $REMOTE_ADDR devient $_SERVER["REMOTE_ADDR"]

Pour finir ton probleme de boucle est logique, tu fait un header sur ta page actuelle, donc quand tu va sur la page il te renvoi sur la même page or le header s'exécutera de nouveau ce qui forme une boucle infinie puisque que $_SERVER["REMOTE_ADDR"] renvoi la page courante.

Script final :
if (empty($UID)) {
$dt = date("YmdHis");
$UID = $dt.$_SERVER["REMOTE_ADDR"];
echo $UID;
$date = date("z");
mysql_query('INSERT INTO Users VALUES ('.$UID.','.$date.')');

Header('Location: '.$_SERVER['PHP_SELF'].'?UID='.$UID.'');
}


Ps: j'ai pas vérifié le fonctionnement.
@('(°)_(°) )@
0
Rejoignez-nous