| ||||||||
Astucien | Bonjour, Je tente de passer des données en utilisant des session (en local), mais ça ne fonctionne pas. Mon script de saisie :
Mon script de vérification de la saisie (vérifier.php): <?php Et déjà là, si je vérifie la valeur de la session $_SESSION['nom']; elle est vide ! J'ai créer un répertoire "sessions" à la racine de mon site, et un en parallèlle aux scripts de saisie et vérification (au cas où ... ) Quelqu'un peut m'aider Merci | |||||||
Publicité | ||||||||
| ||||||||
Petit astucien | Bonsoir, Donc si je comprends bien, tu as un formulaire qui, une fois soumis, envoie les données par méthode POST sur index.php qui appel la page vérifier dans une div certainement et tu aimerais que ces informations soit ensuite stockées dans des variables de session ? (désolé pour le pavé ^^) Il me semble que dans "verifier.php" tu devrais faire : $_SESSION['name'] = $_POST['name']; Après si je peux me permettre un conseil, pour l'affichage de ton formulaire, l'utilisation des echo comme ça c'est assez pesant pour la relecture, sâche que tu peux fermer la zone php pour taper directement du html puis rouvrir dès que tu fais du php, par example :
C'est juste un conseil, chacun ses préférences ;) | |||||||
![]() ![]() | cedders => bien que ta remarque soit tout à fait pertinente, le souci que tu évoques là vient de bien plus loin : t671 a trop tendance à mélanger toutes les couches de programmation, en mélangeant requête SQL, traitement PHP et affichage HTML ... t671 => fais un print_r($_SESSION); juste en dessous de chaque session_start(); tu verras alors tout le contenu du tableau de session et tu verras à quel moment de la page les données ne sont plus là. Visiblement tu inclues une page externet (cryptomachin) : cette page a-t-elle aussi un session start ? | |||||||
Astucien | Ce que j'inclu : $cryptinstall="../livredor/crypt/cryptographp.fct.php"; include $cryptinstall; est un script qui permet de générer un code à recopier, et quiest là pour éviter le spasm. Je l'ai pris et recopié tel quel d'une autre site que j'ai fait, et qui fonctionne, mais là, rien à faire ..... Si je met print_r($_SESSION); dans mon script de vérification (vérifier.php => session_start(); $_SESSION['nom']=$nom; $_SESSION['mail']=$mail; $_SESSION['message']=$message; print_r($_SESSION); ), j'ai : Array ( [cryptdir] => ../livredor/crypt [configfile] => cryptographp.cfg.php [cryptcode] => 9dc2b1751588fd2ea1ce148cff83682b [crypttime] => 1276274216 [cryptcptuse] => 4 [nom] => [mail] => [message] => ) Le chiffre 4 correspond au nombre d'essaie que je fais ! Même résultat pour le script add.php. Je vais me rabbatre à passer mes données par URL à la place de Sessions ! Mais dommage .... j'aurais aimé savoir pourquoi ça ne fonctionne pas alors que pour un autre site, ça fonctionne ..... | |||||||
![]() ![]() | ya pas un retour à la ligne qq part en trop ? (hors balise PHP) | |||||||
Astucien | Bon, ben je vais faire avec passage des variables URL .... J'essaye donc :
mais mes variables ne passent pas au script add ! J'ai du faire une erreur dans le header, non ?
| |||||||
![]() ![]() | avant d'utiliser header(machin), affiche le "machin" ... C'est un réflexe que tu devrais avoir. si ça ne marche pas, faut afficher ce qui ne marche pas. et si par hasard "machin" ne présente pas tout, ça veut dire que $_POST n'est pas complet. Donc pareil, affichage du POST. echo '<pre>', print_r($_POST), '</pre>'; et là tu vois ce que ton $_POST contient (clés/valeurs). Tant que t'as pas ce réflexe de remonter à la source tu perdras ton temps à dire "ça marche pas" ... Comme t'as récupéré comme un bourrin tes variables, t'étonne pas si ça plante. Vivement qu'un PHP6 (res)sorte que ce type de comportement génère des fatal error ...
PHP est faiblement typé, et ne pas déclarer ses variables n'affiche pas toujours d'erreur, ce qui fait qu'un code comme le tien présentant des lacunes de conception passera. Qu'est-ce que le serveur doit traiter si on soummet un formulaire vide ? Nous n'avons pas le code complet donc difficile de tirer des plans sur la comète, mais un code propre, c'est un code initialement qui est bien conçu et qui est bien déclaré. J'ai du mal à percevoir ta conception, et visiblement les déclarations c'est pas ton fort. En gros t'es en train de rouler avec une voiture sur laquelle tu ne vérifies jamais que tes ampoules, tes freins et ta ceinture marchent ... donc ça marche jusqu'au jour où ça foire, et comme tu ne vérifies pas, tu te plantes. | |||||||
|
Les bons plans du moment PC Astuces | Tous les Bons Plans | ||||||||||||||||||
|