Code php qui ne fonctionne pas

Résolu/Fermé
Yuuto Messages postés 21 Date d'inscription dimanche 12 mai 2013 Statut Membre Dernière intervention 8 décembre 2013 - 26 sept. 2013 à 14:22
GrifOli Messages postés 2111 Date d'inscription samedi 28 juin 2008 Statut Membre Dernière intervention 26 mars 2020 - 26 sept. 2013 à 15:07
Bonjour,

Voilà, j'ai une application à effectuer par rapport à mes cours et rien à faire pour faire marcher toutes les conditions.

Je mets d'abord le code de la page html qui doit servir de transition (qui elle, marche sans soucis):

<html>
<head>
<title>Medor</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<form action="medor.php" method="post">
<table width="300" border="0" cellspacing="0" cellpadding="0">
<tr>
<td bgcolor="#85D1FA">
<div align="center"><font color="#000099" size="2" face="Arial, Helvetica, sans-serif"> Entrez un nom d'animal:</font></div></td>
</tr>
<tr>
<td height="33">
<div align="center">
<input name="valeur" type="text">
</div></td>
</tr>
<tr>
<td><div align="center">
<input type="submit" name="Submit" value="Envoyer"> </div></td>
</tr>
</table>
</form>
</body>
</html>

Voici le code:

<?php
$Medor = ($_POST['Medor']);
if ($Medor == souris)
{ echo 'Medor est une petite souris'; }
else if ($Medor == girafe)
{ echo 'Medor est une girafe'; }
else if ($Medor == elephant)
{ echo 'Medor est un elephant'; }
else if ($Medor == chien)
{ echo 'Medor est bien un chien'; }
else
{ echo 'Non, non, non Medor n\'est pas un(e) puma, mais un chien'; }
?>

Au moment ou je dois rentrer une des valeurs "souris, girafe" ou autre, ça m'envoie directement vers la condition "else" j'y suis depuis 3 heures déjà et je n'arrive pas à voir d'où vient le problème . Si je supprime la condition "else", rien ne s'affiche sur la page suivante...

Si quelqu'un pouvait m'éclairer!

Merci.

A voir également:

7 réponses

GrifOli Messages postés 2111 Date d'inscription samedi 28 juin 2008 Statut Membre Dernière intervention 26 mars 2020 591
26 sept. 2013 à 14:53
Bonjour,

Dans ton code html, tu attribues la valeur du post au nom "valeur", alors que dans ton code php, tu tentes de retrouver la valeur d'un post au nom "Medor".

Donc, dans ton code html, modifie ceci:
name="valeur"
par cela:
name="Medor"
1
Yuuto Messages postés 21 Date d'inscription dimanche 12 mai 2013 Statut Membre Dernière intervention 8 décembre 2013 3
26 sept. 2013 à 15:02
Je peux maintenant sauter de mon balcon en paix, du fait de ma stupide erreur...

En tout cas grand merci à toi, ça marche!
Merci également Priaxs de t'être attardé sur mon post' :)
0
GrifOli Messages postés 2111 Date d'inscription samedi 28 juin 2008 Statut Membre Dernière intervention 26 mars 2020 591
26 sept. 2013 à 15:07
Ça m'a fait plaisir. Bonne journée!
0
Priaxs Messages postés 9 Date d'inscription jeudi 26 septembre 2013 Statut Membre Dernière intervention 27 septembre 2013
Modifié par Priaxs le 26/09/2013 à 14:29
Bonjour,

A première vue je dirais que tu as oublié les " " ou les ' ' et quelques accolades. Essaye avec ceci :
$Medor = ($_POST['Medor']);
if ($Medor == 'souris')
{ echo 'Medor est une petite souris'; }
else
{
if ($Medor == 'girafe')
{ echo 'Medor est une girafe'; }
else
{
if ($Medor == 'elephant')
{ echo 'Medor est un elephant'; }
else
{
if ($Medor == 'chien')
{ echo 'Medor est bien un chien'; }
else
{ echo 'Non, non, non Medor n\'est pas un(e) puma, mais un chien'; }
}
}
}
?>

:)
0
Yuuto Messages postés 21 Date d'inscription dimanche 12 mai 2013 Statut Membre Dernière intervention 8 décembre 2013 3
26 sept. 2013 à 14:34
Ca ne marche pas, voilà ce qui me ressort littéralement après "envoi": $Medor = ($_POST['Medor']); if ($Medor == 'souris') { echo 'Medor est une petite souris'; } else if ($Medor == 'girafe') { echo 'Medor est une girafe'; } else if ($Medor == 'elephant') { echo 'Medor est un elephant'; } else if ($Medor == 'chien') { echo 'Medor est bien un chien'; } else { echo 'Non, non, non Medor n\'est pas un(e) puma, mais un chien'; } ?>

je désespère :')
0
Priaxs Messages postés 9 Date d'inscription jeudi 26 septembre 2013 Statut Membre Dernière intervention 27 septembre 2013
Modifié par Priaxs le 26/09/2013 à 14:43
Après chaque else tu dois avoir une accolade ouvrante je t'ai mis un bout de code sur le post d'avant ça doit fonctionner

Sinon


<?php

$i = $_POST['Medor'] ;
switch ($i) {
case 'souris':
echo "Medor est une souris";
break;
case 'girafe':
echo 'Medor est une girafe';
break;
case 'elephant':
echo 'Medor est un elephant';
break;
case "chien":
echo 'Medor est un chien';
break;
default : echo 'Non non' ;
}
?>
0

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

Posez votre question
Yuuto Messages postés 21 Date d'inscription dimanche 12 mai 2013 Statut Membre Dernière intervention 8 décembre 2013 3
26 sept. 2013 à 14:43
Le truc c'est que j'ai eu plusieurs applications à faire, j'ai pris modèle sur les cours pour les codes. Toutes les appli' ont marché, sauf celle-ci. (Dans mes cours je n'ai pas d'accolades sur les autres else if et les autres appli' marchent quand même?? Je suis perdu)
Je viens de ré essayer avec ton code et ça ne marche pas non plus.
0
Priaxs Messages postés 9 Date d'inscription jeudi 26 septembre 2013 Statut Membre Dernière intervention 27 septembre 2013
26 sept. 2013 à 14:44
Essaye avec le 2ème ^^
0
Yuuto Messages postés 21 Date d'inscription dimanche 12 mai 2013 Statut Membre Dernière intervention 8 décembre 2013 3
26 sept. 2013 à 14:50
Même souci que sur le mien, ça me met toujours le dernier "else" :rage:
0