JeuWeb - Crée ton jeu par navigateur
bizarre - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : bizarre (/showthread.php?tid=2006)



bizarre - alechuga - 12-11-2007

Je veux faire un onglet de choix mais cela prend toujours le choix par défaut même si l'on selectionne autre chose.

Code PHP :
<?php 
<select name="nation">
<
option value="hegemonie">Hégémonie</option>
<
option value="mediterranee">Union méditerranéenne</option>
<
option value="polaire">Alliance polaire</option>
<
option value="coralienne">République du corail</option>
</
select>

Et maintenant le code d'inscription

Code PHP :
<?php 
$nation
= htmlspecialchars($_POST['nation']);
Donc si quelqu'un veut bien m'aider, en esperant que ce soit pas un de mes oublies stupide


RE: bizarre - Plume - 12-11-2007

Merci d'utiliser un titre plus explicite

Bonjour Smile

Je ne vois pas quelle peut être la valeur par défaut.

~L~


RE: bizarre - NicoMSEvent - 12-11-2007

Pourrais-tu aussi mettre un peu plus de code? (genre le formulaire complet), et le code complet qui récupère la variable... tu as p-e mis a n endroit un = ou lieu de == (erreur de débutant qui arrive même aux meilleurs... je sais de quoi je parle Wink )


RE: bizarre - ifcody - 12-11-2007

Dans ton cas, je mettrait
Code PHP :
<?php 
var_dump
($_POST['nation']);
au tout début du script qui récupére ta variable.

Si la variable est déja vide, utilise le plugin "En-téte http en direct" de firefox pour voir ce qui est vraiment envoyé au script via le formulaire. Si la aussi tu vois un truc du genre "...&nation=&..." ca veut dire que la variable est vide et donc que c'est ton formulaire qui est mal construit. Référe toi alors à des formulaire html de base pour trouver ton erreur.

Il peut aussi s'agire d'un probléme de configuration apache ou php je crois. Essaye avec d'autre nomination genre $HTTP_POST_VAR à la place de $_POST ...


RE: bizarre - alechuga - 12-11-2007

J'ai essayé le truc de ifcody ça me marque un message d'erreur et inscrit toujours sur la valeur par défaut (la première donc hégémonie dans ce cas).
Le message d'erreur est "string(12)" puis l'option choisie.
Pour ce qui est de == à la place de = c'est un code pour lequel ça marche ailleur.
Code PHP :
<?php 
$pseudo
= htmlspecialchars($_POST['pseudo']);
$mot_passe = htmlspecialchars($_POST['mot_passe']);
$email = htmlspecialchars($_POST['email']);
$nation = var_dump($_POST['nation']);

$sql = mysql_query("SELECT COUNT(*) AS nb_pseudo FROM membres WHERE pseudo='".$pseudo."'");
if (
mysql_result($sql, 0, 'nb_pseudo') == 0)
{

$mot_passe = md5($mot_passe);


$lettres_chiffres = 'abcdefghijklmnopqrstuvwxyz0123456789';
$lettres_chiffres_melanges = str_shuffle($lettres_chiffres);
$code_confirmation = substr($lettres_chiffres_melanges, 1, 10);
$timestamp = time();


if (
$nation = hegemonie)
{
$longitude = rand(-80, -20);
$latitude = rand(10, 40);
}
elseif (
$nation = polaire)
{
$longitude = rand(110, 200);
$latitude = rand(70, 100);
}
elseif (
$nation = coralienne)
{
$longitude = rand(80, 160);
$latitude = rand(-60, 0);
}
elseif (
$nation = mediterranee)
{
$longitude = rand(-10, 20);
$latitude = rand(25, 45);
}
Pour plus de code


RE: bizarre - Plume - 12-11-2007

Tes conditions sont incorrectes, que ça marche sur d'autres ou pas.
La comparaison se fait avec le signe `==`. C'est tout.
Ensuite tu compare des variables à .. rien. Pour comparer une chaine de caractères, encore faut-il l'encadrer.
Les affectations se font avec le signe =. Donc quoi que soit hegemonie pour PHP, il arrivera forcement à l'affecter dans une variable. Donc la condition sera vraie. Donc tu rentreras toujours & sans fin dans la première boucle.
Donc tu devrais peut être penser à prendre un peu plus en considération ce que te dises les autres.
NicoMSEvent a écrit :tu as p-e mis a n endroit un = ou lieu de ==

Autre chose, avant d'utiliser une fonction donnée par un membre - qui généralement sait ce qu'il dit même si les erreurs sont humaines - il serait bien de consulter la documentation. Tu saurais que si tu as un message d'erreur, c'est parce que tu ne l'utilises pas comme il faut. Et tu ne fais même pas comme t'as indiqué ifcody ..

~L~


RE: bizarre - Zamentur - 12-11-2007

as tu essayer d'afficher avec echo (par exemple) juste après la recuperation de la variable?

Si çà affiche le choix par defaut c'est que l'erreur se trouve dans ton formulaire sinon c'est qu'elle se trouve dans le script de traitement.

Et là on voi pas le UPDATE il le faudrais pour verifier que c'est pas une erreur de traitement
Il faudrais aussi le type de la colonne dans la base de donnée au cas ou ce serais un ENUM ou un SET