Undefined variable [Résolu]

Signaler
Messages postés
3
Date d'inscription
mercredi 3 mai 2006
Statut
Membre
Dernière intervention
18 mai 2006
-
Messages postés
947
Date d'inscription
mercredi 19 novembre 2003
Statut
Membre
Dernière intervention
5 avril 2008
-
Bonjour,

premiere chose je suis nul !!! Mais j'ai pas trop le temps de plancher sur le php. Si vous pouviez m'aidez je vous en serait reconnaissant.

C'est un tout chti problème en plus. C'est sur...

Alors voilà, j'ai une page html avec un lien :

[./switcher.php?change=1 Essai de variable]

et j'ai un ptit fichier php : (switcher.php)

<?php
setcookie ("sitestyle", "$change");
$ref = $_SERVER['HTTP_REFERER'];
header("Location: $ref" );
?>

Et j'ai toujours cette erreur :
Notice: Undefined variable: test ect...

Voilà... Franchement y a plus simple... Ben même ça j'y arrive pas... J'ai pas besoin d'apprendre tous le php, c'est juste pour faire un switcher de style css pour le site d'un collège. (http://www.alistapart.com/articles/phpswitch/)

Si vous avez une idée je suis preneur. Merci d'avance.

6 réponses

Messages postés
624
Date d'inscription
mardi 6 mai 2003
Statut
Membre
Dernière intervention
14 décembre 2009
1
rajoute dans ta page switcher.php

$change = $_GET['change'];
Messages postés
624
Date d'inscription
mardi 6 mai 2003
Statut
Membre
Dernière intervention
14 décembre 2009
1
salut !
le message de l'erreur parle de lui-meme

Notice: Undefined variable: test ect...
=> ta variable "test ect..." n'est pas déclarée ...
Messages postés
3
Date d'inscription
mercredi 3 mai 2006
Statut
Membre
Dernière intervention
18 mai 2006

Merci de te pencher sur le probleme.

Alors je redonne le message d'erreur en entier :
Notice: Undefined variable: change in c:\documents and settings\francois.garnier\mes documents\site\easyphp\www\switcher.php on line 2

la variable c'est bien "change" et pas "test" lol.

Sinon comment je fais pour la declarer ?
Parce que si je met un :

$GLOBALS['change']= "style1";

ben ma variable elle sera toujours egal à "style1"...

Merci
Messages postés
3
Date d'inscription
mercredi 3 mai 2006
Statut
Membre
Dernière intervention
18 mai 2006

délire !!!

Merci beaucoup
Messages postés
947
Date d'inscription
mercredi 19 novembre 2003
Statut
Membre
Dernière intervention
5 avril 2008
3
Salut,

Sa risque de reafficher le warning et donc d'alterer aux reponses HTTP du serveur.

<?php

if (isset($_GET['change'])) {
if (!setcookie ('sitestyle', $change)) {
// Erreur de creation du cookie
}
}

$ref = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : 'http://...com/jai_pas_recu_de_referer';

if (!@header('Location: '.$ref)) {
// Erreur d'envoie du header, ont affiche un lien hypertexte:
echo 'Une erreur est survenue, cliquer ['.$ref.' ici]';
}
?>

Fait attention, certains clients HTTP (navigateur wouebe) desactive l'envoie du REFERER pour eviter de ce faire pister.

Si une erreur aparait sur le cookie, remplace le header() par:
!@header('Location: '.$ref,false)
Messages postés
947
Date d'inscription
mercredi 19 novembre 2003
Statut
Membre
Dernière intervention
5 avril 2008
3
Ops desolé, je suis lent a ecrire.

if (isset($_GET['change'])) {
if (!setcookie ('sitestyle', $change)) {

J'ai fait une erreur: if (!setcookie ('sitestyle', $_GET['change'])) {