Remplir toutes les cases...

Résolu
graffx -  
graffx Messages postés 6506 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,


J' ai une petite colle a mon tour, rien de bien mechant je pense.


Mon visiteur arrive sur ma page et la on lui demande son nom.

Il tape son nom, et une fois valider, ca doit mener sur une page ou se trouve un texte, et dans ce texte, toutes les cases blanches (enfin la ou doit se trouver son nom) apparait son nom .


Une petite idée?


Je pense que la meilleure solution est une variable $pseudo, mais j' ai du mal a m' imaginer ce truc tout simple.


Merci de vos conseils

17 réponses

Utilisateur anonyme
 
Salut,
tu fais tout simplement un formulaire avec la méthode POST :

<form action="TAPAGE.php" method="post">
<table>
<tr>
<td><span class ="connexion"> Prénom : </span> </td>
<td><input type="text" name="prenom"/></td>
</tr>
</table>
</form>

et dans ton autre page tu déclares par exemple une variable $prenom qui prend le prénom entré par la personne :

<?php
$prenom=$_POST['prenom'];
?>

Et chaque fois que tu veux remplacer un endroit du texte par le prenom entré, tu tapes :

<?php echo $prenom ; ?>

à+
1
Utilisateur anonyme
 
Re,
si bien sûr, avec le système des cookies. Et dans le code que j'ai mis plus haut j'ai oublié le bouton de submit ;) .
<input type="submit" value="Valider"/>
1
Utilisateur anonyme
 
Bon alors :
revenons sur les cookies. Un cookie a une durée de vie limitée, tu choisis sa durée de vie avec un timestamp
time() + temps_en_secondes

time() récupère le temps actuel
temps_en_secondes correspond à combien de temps tu veux que ton cookie reste sur l'ordinateur. Par exemple : 30*24*3600 = 30 jours.
Le code de création d'un cookie doit toujours être placé avant le code HTML, un peu comme le système des sessions.
Donc après avoir demandé à l'utilisateur d'entrer son prenom par la méthode post, dans la page cible tu insères ceci avant le code HTML :
<?php
$prenom=$_POST['prenom']; 
$expiration = time() + 30*24*3600; // Le cookie expirera dans 30 jours
setcookie('prenom', '$prenom', $expiration); // On écrit un cookie pour le prenom
setcookie('level', '1', $expiration); 
// On écrit un cookie pour le level en cours, 1 -> level 1
?>

Ensuite sur les pages d'après il faudra que tu écrases le cookie level par ce code, toujours placé avant le code HTML :
<?php
$expiration = time() + 30*24*3600; // Le cookie expirera dans 30 jours
setcookie('level', '2', $expiration);
 // On écrit un cookie pour le level en cours, 2 -> level 2
?>

Puis level2,level3... et ainsi de suite pour le nombre de pages de ton histoire.

Ensuite pour récupérer le variable du level quand le visiteur revient sur ton site :
<p>Salut <?php echo $_COOKIE['prenom']; ?>.</p>


Pour lui proposer de continuer on va ensuite un peu feinter.
<form action="<?php 
switch($_COOKIE['level'])
{
       case 1:
       echo "level1.php";
       case 2:
       echo "level2.php";
       ...
}?>" method="post">
<input type="submit" value="Continuer"/>
</form>


à+
1
graffx Messages postés 6506 Date d'inscription   Statut Contributeur Dernière intervention   1 975
 
j essaie demain et je te dis ca, mais pourtant c' est logique!


Merci pour ce precieux coup de patte :)

par contre en attendant d' éssayer, le pc du visiteur ne va pas se rappeler le pseudo tapé a chaque fois?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
 
Peux-tu t'expliquer un peu plus ^^, j'ai pas bien compris ta question.
0
graffx Messages postés 6506 Date d'inscription   Statut Contributeur Dernière intervention   1 975
 
Desolé j' ai mal formulé,


si le visiteur qui a tapé son pseudo et voit son nom apparaitre , quitte son navigateur, il n' y pas un moyen lorsqu' il revient, d' avoir son pseudo memorisé? :)
0
graffx Messages postés 6506 Date d'inscription   Statut Contributeur Dernière intervention   1 975
 
ok ca confirmait ce que je pensais, hélas va falloir que je m' y plonge a nouveau ^^


merci beaucoup :)
0
Utilisateur anonyme
 
Héhé oui c'est sur ^^, faut s'y remettre un jour ou l'autre :p
Oublie pas de cocher résolu ;)
A+
0
graffx Messages postés 6506 Date d'inscription   Statut Contributeur Dernière intervention   1 975
 
Allez une derniere question et je vous laisse tranquille ^^


En fait, mon projet est:

1ere page : le visiteur tape son nom
2eme page : debut d' une histoire


et l' utilisateur choisi la suite de l' histoire en cliquant sur des liens, comment faire pour que si il quitte apres etre venu a la 4eme page de l' histoire, il puisse y revenir facilement en cliquant sur un bouton ou un lien "continuer".


Merci :)
0
graffx Messages postés 6506 Date d'inscription   Statut Contributeur Dernière intervention   1 975
 
arf ben visiblement ca marche a un detail prés, lorsque je tape un nom (en tant que visiteur), a toute les page j' ai "salut, $prenom"



alors je te met ce que j' ai mis si je t' ai bien suivi:

index.php
------------


<?php
$prenom=$_POST['prenom'];
$expiration = time() + 30*24*3600; // Le cookie expirera dans 30 jours
setcookie('prenom', '$prenom', $expiration); // On écrit un cookie pour le prenom
setcookie('level', '1', $expiration);
// On écrit un cookie pour le level en cours, 1 -> level 1
?>


j' ai mis ca avant le doctype et donc avant le <html>


et ceci entre les balise <body>
---------

<form action="intro.php" method="post">
<table>
<tr>
<td><span class ="connexion"> Prénom : </span> </td>
<td><input type="text" name="prenom"/></td>
</tr>
</table>
</form>



ensuite sur la page intro.php j' ai ca:
------------------


salut a toi, <?php echo $_COOKIE['prenom']; ?>




resultat apres avoir tapé un nom et validé:


salut a toi, $prenom


je trouve pas la boulette :/
0
Utilisateur anonyme
 
Héhé, la boulette ne vient pas de toi mais de moi ^^.
Mais cette fois-ci je vais te laisser chercher :
<?php 
$prenom=$_POST['prenom']; 
$expiration = time() + 30*24*3600; // Le cookie expirera dans 30 jours 
setcookie('prenom', '$prenom', $expiration); // ERREUR ICI :)
setcookie('level', '1', $expiration); 
// On écrit un cookie pour le level en cours, 1 -> level 1 
?> 


Et oublie pas de rajouter un bouton pour valider ici :
<form action="TAPAGE.php" method="post"> 
     <table> 
          <tr> 
               <td><span class ="connexion"> Prénom : </span> </td> 
               <td><input type="text" name="prenom"/></td> 
          </tr> 
     </table>
     <input type="submit" value="Valider"/>
</form> 
0
graffx Messages postés 6506 Date d'inscription   Statut Contributeur Dernière intervention   1 975
 
hehe je cherche je cherche

j' ai bien compris qu' a la place de $prenom de dois dire au cookie d aller chercher le pseudo tapé...


reste a trouver ^^
0
graffx Messages postés 6506 Date d'inscription   Statut Contributeur Dernière intervention   1 975
 
jvai surement dire une connerie mais a la place de pseudo > $_POST['pseudo'] ??
0
Utilisateur anonyme
 
Nan, bon tant pis ^^, voici la correction :
setcookie('prenom', $prenom, $expiration); // fallait enlever les simples côtes

J'ai le droit à mon résolu maintenant? ^^
à+
0
graffx Messages postés 6506 Date d'inscription   Statut Contributeur Dernière intervention   1 975
 
arf hé non ca serait trop facile, j' avais bien essayé comme ca, mais je n' ai plus rien d' affiché maintenant enfin plus la ou devrait etre le pseudo une fois validé :p



hihi
0
graffx Messages postés 6506 Date d'inscription   Statut Contributeur Dernière intervention   1 975
 
arf il est parti ><'
0
graffx Messages postés 6506 Date d'inscription   Statut Contributeur Dernière intervention   1 975
 
mon ami? :s
0
graffx Messages postés 6506 Date d'inscription   Statut Contributeur Dernière intervention   1 975
 
probleme resolu :)
0