2010-05-20 3 views
0

Je suis en train de faire écho l'action pour mon formulaire si un poste est égal à « paypal »PHP echo si post est égal, aide

C'est ce que j'ai:

<?php if $_POST['method'] == 'paypal' echo 'action="paypal/process.php"' else echo 'action="moneybookers/process.php" '?> 

Ai-je besoin d'imprimer la variable avant de faire ça? Qu'est-ce que je fais mal?

Je reçois cette erreur:

Parse error: syntax error, unexpected T_VARIABLE, expecting '(' in /var/www/account/credits/credit_amount.php on line 27 
+0

Quelle est l'erreur que vous obtenez ? –

Répondre

3

Il vous manque entre parenthèses autour de votre if instruction conditionnelle:

<?php if($_POST['method'] == 'paypal') 
      echo 'action="paypal/process.php"'; 
     else 
      echo 'action="moneybookers/process.php"'; 
?> 
+0

Merci, je suis nouveau à PHP. Il me manquait aussi les points-virgules; après l'écho – user342391

2

Vous devriez essayer de formater votre code correctement (ex entre parenthèses dans instruction if.):

<?php 
if ($_POST['method'] == 'paypal') { 
    echo 'action="paypal/process.php"'; 
} else { 
    echo 'action="moneybookers/process.php"'; 
} 
?> 
0

Il semble que vous l'ayez formaté de cette façon parce que y Vous affichez les résultats de ce code dans un modèle. Vous pouvez réduire la quantité de code dont vous avez besoin en utilisant un opérateur ternaire:

action="<?php echo ($_POST['method'] == 'paypal' ? 'paypal' : 'moneybookers'); ?>/process.php" 

Il est essentiellement la même chose que dire si la condition est vrai retour alors A sinon retour B