passer des variables 2 pages plus loin...
Hello tout le monde ^-^
Voilà je vais essayer de faire clair:
Formulaire d'inscription -> page de confirmation + envois d'un mail + redirection javascript -> Quizz
Mon problème, recuperer les données du formulaire (genre nom etc...) pour en faire un rappel à l'utilisateur dans la page quizz.
Sachant que mon site n'a pas de base de donnée, j'ai penser qu'il faudrai faire passer les variables par l'url mais seulement voilà comment faire?
tout ce que j'ai pu essayer jusqu'a maintenant n'a pas marché.
svp aidez moi :)
choupa choupa
Utilise les sessions, c'est le plus simple et le mieux sécurisé.
Sinon, y'a le cookie.
donc pas moyen par l'url?
les sessions j'en suis pas encore là malheureusement c'est trop compliqué pour moi...
quand au cookie je me renseigne mais ca pose le pb d'ecrire sur la machine de l'utilisateur, c'est pas très clean si?
choupa choupa
Hello,
Le mieu serait de te service d'une session (voir
le cour par la même occasion ;o). Je te conseil quelque chose comme ça sur ta page de confirmation :
Kro kro kro kronemburg
maiheuu, jé fé un bo truc et pendant ce temps ils ont dja repondu !!
La globule répond plus vite que son ombre !
Kro kro kro kronemburg
Bon pour reprendre le fil de la chose,
Par l'url c'est pas tres "propre" si jepuis dire ainsi ! Mais c'est toujours possible, il te suffi de les placer dans les url de redirection sur chaque page...
Le cookie n'a rien d'indiscret dans l'utilisation qu'on en fait ! Cela dit j'ai souvent des pb avec eux, mais c'est bien pratiques des fois.
Kro kro kro kronemburg
merci kro!
bon je vais matter le cours sur les sessions mais tu pourrais me donner un exemple concret en fonction de mon exemple pour les variable via URL sachant que da ns ma page redirection, la redirection est sous cette forme :
<script LANGUAGE="JavaScript">
window.setTimeout("document.form.time.value='3'",1000)
window.setTimeout("document.form.time.value='2'",2000)
window.setTimeout("document.form.time.value='1'",3000)
window.setTimeout("document.form.time.value='0';location=('http://www.mon sitekivaetrebien.com/tests/quizz.php');",4000)
</script>
choupa choupa
Ben par l'URL tu fais des liens de la forme :
http://www.tonsite.com/index.php?param1=toto¶m2=titi¶m3=tutu
Et dans la page index.php, tu recuperes :
$_GET['param1']
$_GET['param2']
$_GET['param3']
PS : kronemburg utilise directement le tableau $_SESSION au lieu de te prendre la tete avec des session_register.
Exemple : $_SESSION['toto'] = $_POST['toto']; (la, tu viens de créer une variable de session toto).
bon alors voici ce que j'ai :
dans le fichier de traitement :
(je recupere les donnée et je les renvois dans l'url:
<?
$_GET['requirednom'] ;
$_POST['requirednom'] ;
?>
puis en dessous en javascript j'ai mon compte a rebour puis ma redirection :
window.setTimeout("document.form.time.value='0';location=('http://www.monsiteengalere.com/tests/quizz.php?requirednom');",4000)
enfin dans la page finale du quizz je met:
<?$_GET['requirednom'] ;? >
suivit d'un :
<?php
$nom= $recupr["requirednom"];
$str = "$nom";
echo stripslashes($str);?>
Mais clairement je fais qqch de mal car le echo n'affiche rien du tout (pas de parse error cependant)
choupa choupa
Humm pas bon tout çà...
Alors, on va faire simple :
<form action="traitement.php" method="get">
<input type="text" name="truc1" />
<input type="text" name="truc2" />
</form>
<?php
// tout ton bazar de traitement
// mail
header ('location: quizz.php?truc1='.$_GET['truc1'].'&truc2='.$_GET['truc2']);
?>
<?php
echo $_GET['truc1'];
echo $_GET['truc2'];
?>
Voila pour simplifier (manque plus que les tests avec des
isset et des
empty)