problème de synthaxe que je n'arrive pas a régler

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 : problème de synthaxe que je n'arrive pas a régler

par hannao » 02 juin 2009, 19:03

merci pour ces précision je comprends mieux maintenant l'inutilité dans ce cas de mon while

par Ryle » 02 juin 2009, 17:21

En fait, le while est effectivement une boucle qui va tourner tant que la condition n'est pas respectée, mais tu ne spécifies pas d'intervention de l'utilisateur pour modifier sa "carte", ni de changement de valeur pour les variables dans ta boucle... du coup php risquait de tourner longtemps :)

La notion de "à chaque fois que l'utilisateur fait appel au script" n'est pas à gérer avec php, elle est implicite du fait de l'appel à ta page. Du coup, tout ce qui va t'intéresser avec php, c'est lorsque le script va s'exécuter, SI tu as bien un "choix" de spécifier, sinon si tu n'as pas de code de spécifié, alors afficher le message... et là, pas besoin de while :)

par hannao » 02 juin 2009, 15:45

merci Ryle effectivement je voulais utiliser ce elseif et je pensais utiliser un while pour dire tant que le mot de passe n'est pas le bon écrire entrer le mot de passe.
Je vais essayer de ce pas ta solution.

par Ryle » 02 juin 2009, 15:01

Tout dépend de ce que tu veux faire, mais à priori, le elseif était bon, c'est juste la condition qui manque et qui apparait dans un while où elle n'a à mon avis pas sa place :
    elseif ((isset($_POST['carte'])) && ($_POST['carte']!="good")){ 
        echo'entrez votre code'; 
    } 
Sans ça, si jamais le test de ton while est vrai, cela va engendrer une boucle sans fin qui va afficher "entrez votre code" tant qu'il y aura des ressources sur le serveur :)

par albat » 02 juin 2009, 14:39

remplace ton elseif par un else

problème de synthaxe que je n'arrive pas a régler

par hannao » 02 juin 2009, 14:34

bonjour tous le monde,


voilà, je fais des exercices en php et je me retrouve devant une erreur de syntaxe apparemment que je n'arrive pas à comprendre
voilà mon code il est très simple, le sujet est une personne qui va faire le plein de sa voiture donc j'essaie de faire toutes les étapes
<html>
<head>
  <title>Carburant</title>
<head>
<body>Merci d'avoir choisi vroum vroum <br/>
<form action="TP1.php" method="POST"/>
choisissez votre carburant : <br/>
Gazole, SuperSP ou GPL<br/>
<input type='text' name='choix' size=20 value='' /><br/>
<input type='submit' value='valider' />
</form>

<?php

  //reaction lorsqu'il y a un utilisateur
  if ((isset($_POST['choix'])) && ($_POST['choix']!="")){
    $choix = $_POST['choix'];
    echo 'vous avez choisi : '.$choix.'<br/>';
    echo 'entrez votre numéro de carte bleue';
    echo "<input type='text' name='carte' size=20 value='' />";
    }
    elseif { 
      while((isset($_POST['carte'])) && ($_POST['carte']!="good")){
        echo'entrez votre code';
        } 
    }
?>
</body>
</html>
Voilà ce code me donne une erreur
Parse error: parse error, expecting `'('' in C:\wamp\www\TutoPHPDeb\TP1.php on line 22

j'ai bien chercher en ligne 22 j'ai juste le debut du elseif {

Avant j'ai bien tous les ; pour finaliser les lignes, enfin voilà ce doit être surement très simple mais j'avoue que je sèche (en plus il fait chaud, lol)