[RESOLU] Choisir des couleurs depuis un formulaire

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Choisir des couleurs depuis un formulaire

par Invité » 23 mai 2008, 17:42

j aimerais voir ton code afin de pouvoir te venir en aide. tu nous explique cela mais on ne voit pas le code.

merci pour ta comprehension

par steph29 » 21 mai 2008, 15:31

question idiote: tu as un session_start(); sur l'ensemble de tes pages?

car au vu des ton premier post de ce topic les page formulaire et verif2 ne l'ont pas...
j'ai developpe le code etape par etape, je suis arrive a le faire en php_self avec pagination :)
Si tu veux mais apres faudra pas t'etonner de perdre les valeurs enregistrees dans ta session... :roll:

par Fredy » 21 mai 2008, 15:22

question idiote: tu as un session_start(); sur l'ensemble de tes pages?

car au vu des ton premier post de ce topic les page formulaire et verif2 ne l'ont pas...
j'ai developpe le code etape par etape, je suis arrive a le faire en php_self avec pagination :)

par steph29 » 21 mai 2008, 14:43

question idiote: tu as un session_start(); sur l'ensemble de tes pages?

car au vu des ton premier post de ce topic les page formulaire et verif2 ne l'ont pas...

par Invité » 21 mai 2008, 14:35

Je l'ai mis ainsi:

// si le formulaire a ete valide on envois les donnees
if (isset($_POST['submit'])) {
    $couleurs = $_POST['couleurs'];
    $_SESSION['couleurs'] = $couleurs; 
	}

if (isset($_POST['submit'])) {
    $fonts = $_POST['fonts'];
    $_SESSION['fonts'] = $fonts; 
	}

if (isset($_POST['submit'])) {
    $size = $_POST['size'];
    $_SESSION['size'] = $size; 
	}
	

// Si le formulaire n'a pas ete valide et que la session existe deja on attribue sa valeur
if (isset($_SESSION['couleurs'])) {
    $couleurs = $_SESSION['couleurs'];
	}

if (isset($_SESSION['fonts'])) {
    $fonts = $_SESSION['fonts'];
	}

if (isset($_SESSION['size'])) {
    $size = $_SESSION['size'];
	}
	
// Sinon, on prend les valeurs par defaut
else {
    $couleurs = "Black";
    $fonts = "Tahoma";
    $size = "5";
}

par FredoMkb » 19 mai 2008, 19:42

Bonjour :)

Fredy, le code de formulaire que j'ai posté l'autre jour n'était qu'un exemple, afin que tu puisses t'y inspirer pour corriger le tien, mais sans partager un peu plus d'infos, des données et/ou des codes, ce sera bien difficile de trouver des solutions à tes soucis Php...

Moralité, en l'état actuel des choses, c'est pas évident de te venir à l'aide :(

à+ :)

par Invité » 19 mai 2008, 18:24

Bonjour FredoMkb,

Ce que je voudrais faire est:

- Quand le visiteur choisit une couleur, un font, une taille de texte, ces criteres (couleur + font + taille) doivent etre stable au moment de navigation du visiteur, sauf qu'il les change une autre fois.

- Le bug que j'ai pour le moment, quand le visiteur saute a la 2eme page, 3eme,... ces criteres se changenet et reviennent par defaut.

Merci pour votre aide.
Faudrait peut être nous montrer to code encore une fois... nous dire comment tu récupéres tes variable sur les autres pages...
C'est une pagination ou je recupere mes donnees avec php_self

par b.jerome » 19 mai 2008, 12:15

Bonjour FredoMkb,

Ce que je voudrais faire est:

- Quand le visiteur choisit une couleur, un font, une taille de texte, ces criteres (couleur + font + taille) doivent etre stable au moment de navigation du visiteur, sauf qu'il les change une autre fois.

- Le bug que j'ai pour le moment, quand le visiteur saute a la 2eme page, 3eme,... ces criteres se changenet et reviennent par defaut.

Merci pour votre aide.
Faudrait peut être nous montrer to code encore une fois... nous dire comment tu récupéres tes variable sur les autres pages...

par Fredy » 18 mai 2008, 20:25

Bonjour FredoMkb,

Ce que je voudrais faire est:

- Quand le visiteur choisit une couleur, un font, une taille de texte, ces criteres (couleur + font + taille) doivent etre stable au moment de navigation du visiteur, sauf qu'il les change une autre fois.

- Le bug que j'ai pour le moment, quand le visiteur saute a la 2eme page, 3eme,... ces criteres se changenet et reviennent par defaut.

Merci pour votre aide.

par FredoMkb » 18 mai 2008, 19:40

Bonjour :)
Comment garder les meme criteres de selection dans ma pagination, la je les perds quand je change de de page
Bon, je n'ai pas suivi tout l'échange, mais sur cette question je peux te donner une ou deux pistes...

Voici un formulaire assez basique, avec un menu-popup et un bouton de validation :
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
	<select name="choix" id="choix">
	<option value="0">Choisissez une Option</option>
	<option value="1">1. Un</option>
	<option value="2">2. Deux</option>
	<option value="3">3. Trois</option>
	<option value="4">4. Quatre</option>
	<option value="5">5. Cinq</option>
	</select>
	<input type="submit" name="test" value="Valider" />
</form>
Maintenant, on souhaite afficher le choix de l'utilisateur, à chaque recharge de la page ou d'une page à l'autre du site, voici une proposition de code Php pour faire ça :
<?php
// Pour afficher la selection du menu
$selected = ' selected="selected"';
// Valeur par defaut du menu
$defaut = 0;
// Session
session_start();  

// Si le formulaire a ete valide, on prend sa valeur
// et on la memorise dans la session
if (isset($_POST['test'])) {
	$choix = $_POST['choix'];
	$_SESSION['choix'] = $choix; 

// Si le formulaire n'a pas ete valide 
// et que la session existe, on prend sa valeur
} elseif (isset($_SESSION['choix'])) {
	$choix = $_SESSION['choix'];

// Sinon, on prend la valeur par defaut
} else {
	$choix = $defaut;
}
?>
Enfin, on doit modifier notre formulaire de départ pour pouvoir afficher le choix de l'utilisateur sur le menu-popup, voici ce que ça donnerait :
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
	<select name="choix" id="choix">
	<option value="0"<?php if ($choix == 0) { echo $selected; } ?>>Choisissez une Option</option>
	<option value="1"<?php if ($choix == 1) { echo $selected; } ?>>1. Un</option>
	<option value="2"<?php if ($choix == 2) { echo $selected; } ?>>2. Deux</option>
	<option value="3"<?php if ($choix == 3) { echo $selected; } ?>>3. Trois</option>
	<option value="4"<?php if ($choix == 4) { echo $selected; } ?>>4. Quatre</option>
	<option value="5"<?php if ($choix == 5) { echo $selected; } ?>>5. Cinq</option>
	</select>
	<input type="submit" name="test" value="Valider" />
</form>
Voilà, en te basant sur cet exemple, je pense que tu arriveras à modifier ton code pour arriver à obtenir le fonctionnement que tu souhaitais... je l'espère du moins ;) :D

à+ :)

par Fredy » 18 mai 2008, 16:19

Comment garder les meme criteres de selection dans ma pagination, la je les perds quand je change de de page

par Fredy » 16 mai 2008, 12:37

Hmmmmm ca bug quand je change de page, en mode de pagination

par Fredy » 16 mai 2008, 12:36

j ai mis le code ainsi:
<?
session_start(); 
$_SESSION['fonts'] = isset($_POST['fonts']) ? $_POST['fonts'] : 'Tahoma';
$_SESSION['size'] = isset($_POST['size']) ? $_POST['size'] : '4';
$_SESSION['couleurs'] = isset($_POST['couleurs']) ? $_POST['couleurs'] : 'Black';  
?>
et dans la form comme suite:

 <form action="<? $_SERVER['PHP_SELF'] ?>" METHOD="post"> 
<table width="500" border="0" align="center">
  <tr>
    <td>
  <select name="fonts" size="1">  
  <option>Fonts</option>
  <option value="Times New Roman">Times New Roman</option>
  <option value="Tahoma">Tahoma</option>
  <option value="Arial">Arial</option>
  </select>
    </td>
    <td>
  <select name="size" size="1">
  <option>Taille</option>
  <option value="4">4</option>
  <option value="5">5</option>
  <option value="6">6</option>
  <option value="10">10</option>
  </select>
    </td>
    <td>

  <select name="couleurs" size="1">
  <option>couleurs</option>
  <option value="Red">Red</option>
  <option value="Blue">Blue</option>
  <option value="Green">Green</option>
  <option value="White">White</option>
  </select>

<input type="submit" class="button" value=go />
 </form>
et pour le moment ca bug pas, merci beaucoup b.jerome

par b.jerome » 14 mai 2008, 21:18

Tu ne nous donne les infos que par petit bout. On ne vois pas ton code... est-ce que tu es sur de tes select ? je pense que le souci doit etre à cet endroit. Puisque tu dois avoir plusieurs select, il faut enlevé l'événement "onchange" et mettre un "input" de type button ou submit.

par Fredy » 14 mai 2008, 16:48

voila je le developpe en couleurs, fonts et tailles ainsi:
<?
session_start(); 
$_SESSION['fonts'] = isset($_POST['fonts']) ? $_POST['fonts'] : 'Arial';
$_SESSION['size'] = isset($_POST['size']) ? $_POST['size'] : '4';
$_SESSION['couleurs'] = isset($_POST['couleurs']) ? $_POST['couleurs'] : 'black';  
?>
echo '<font face="'.$_SESSION['fonts'].'" size="'.$_SESSION['size'].'" color="'.$_SESSION['couleurs'].'">'.$phrase. '</font>';
Apparament il y a une confusion entre ces code, par exemple:

quand je veux choisir font1 avec taille3 et couleur6, je les selectionne et ca doit etre en cet ordre:

Code : Tout sélectionner

<font face="font1" size="taille3" color="couleur6">ma phrase ici</font>
mais apparament il me donne un resultat comme ca a la fin de ma selection:

Code : Tout sélectionner

<font face="font2" size="taille4" color="couleur6">ma phrase ici</font>
il garde seulement la derniere selection et les autres reviennent au normal