redirection si erreur

Eléphant du PHP | 56 Messages

12 juin 2007, 23:02

Bonjour à tous


voilla j'ai un formulaire avec plusieur champ que j'envoie à un autre fihier et
je voudrais mettre un code de facon à ce que si les champ son vide on renvoi le client au formulaire

j'ai essayer ca mais ca ne marche pas
if (($Nom <> "") && ($Prenom <> ""))
      {
           tep_redirect(tep_href_link('createPOaccount.php' 'error_message=' . urlencode("Un des champs est vide"), 'SSL', true, false)); 			
j'ai cette erreur qui s'affiche
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING
merci d'avance

Invité
Invité n'ayant pas de compte PHPfrance

13 juin 2007, 02:14

en php l'opérateur de comparaison "différent" s'écrit !=

http://www.manuelphp.com/php/language.o ... arison.php

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

13 juin 2007, 07:45

Est-ce que le code que tu nous montres correspond à la ligne indiquée dans le message d'erreur ?
Ce genre de message d'erreur me fait penser à une " ou un ' mal fermé :-k

NB : en PHP, il est possible d'utiliser != ou <> ;)
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 56 Messages

13 juin 2007, 09:54

bonjour à tous

bon c'est vrai que je m'etait tromper

le code c'est ca
if (($Nom == "") && ($Prenom == "")) 
      { 
           tep_redirect(tep_href_link('createPOaccount.php' 'error_message=' . urlencode("Un des champs est vide"), 'SSL', true, false));
mais rien à fair j'ai toujour l'erreur
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /???.fr/nom du fichier_return.php on line 4
aparament c'est tep_redirect etc.. qui pose probleme

merci

Mammouth du PHP | 684 Messages

13 juin 2007, 10:17

tep_href_link('createPOaccount.php' 'error_message=' . urlencode("Un des champs est vide")
Je ne connais pas le prototype de ta fonction mais :
Soit il te manque une ',' car il faut trois parametres,
tep_href_link('createPOaccount.php',  'error_message=' . urlencode("Un des champs est vide")
Soit il te manque un '.' car tu veux concatener la chaine.
tep_href_link('createPOaccount.php' . 'error_message=' . urlencode("Un des champs est vide")
Zigz4g

Eléphant du PHP | 56 Messages

13 juin 2007, 10:29

j'ai essayer les deux mais toujour la meme erreur


je ne sais vraiment pas[/php]

Mammouth du PHP | 684 Messages

13 juin 2007, 10:39

En meme temps, on n'a pas le fichier sous les yeux, c'est dure pour nous de dire si c'est bien en ligne 4.
Tu a quoi apres ton if car la je pourrais dire que tu a une accolade en trop.
Tu ne sais pas quels parametres prend ta fonction ?
Zigz4g

Eléphant du PHP | 56 Messages

13 juin 2007, 10:43

oui desoler voici le fichiier en entier
<?
if (($Nom == "") && ($Prenom == "")) 
      { 
tep_href_link('createPOaccount.php',  'error_message=' . urlencode("Un des champs est vide")  

require('includes/application_top.php');
require(DIR_WS_MODULES . 'payment/cofidis_ZhenIT.php');
$cofidis=new cofidis_ZhenIT();
$cofidis->trace("Desde: ".$_SERVER['REMOTE_ADDR']." pide:".$_SERVER['REQUEST_URI']);
if($_REQUEST['referencia']=='')
	//tep_redirect(tep_href_link('checkout_process1.php', '', 'SSL'));
	tep_redirect(tep_href_link('checkout_process1.php', '', 'SSL'));
$cofidis->answer($_REQUEST['referencia'],
               $_REQUEST['accept'],
               $_REQUEST['numcuotas']
                );
//tep_redirect(tep_href_link(FILENAME_CHECKOUT_PROCESS, 'SSL', true, false));
?>
merci

Mammouth du PHP | 684 Messages

13 juin 2007, 10:55

<?php //mieux avec php
if ($Nom == "" && $Prenom == "") { 
    tep_href_link('createPOaccount.php',  'error_message=' . urlencode("Un des champs est vide"); // ; ici  
    require('includes/application_top.php');
    require(DIR_WS_MODULES . 'payment/cofidis_ZhenIT.php');
    $cofidis = new cofidis_ZhenIT();
    $cofidis->trace("Desde: ".$_SERVER['REMOTE_ADDR']." pide:".$_SERVER['REQUEST_URI']);
    if ($_REQUEST['referencia'] == '')
        //tep_redirect(tep_href_link('checkout_process1.php', '', 'SSL'));
        tep_redirect(tep_href_link('checkout_process1.php', '', 'SSL'));
    $cofidis->answer($_REQUEST['referencia'],
        $_REQUEST['accept'],
        $_REQUEST['numcuotas']);
     //tep_redirect(tep_href_link(FILENAME_CHECKOUT_PROCESS, 'SSL', true, false));
} // Manque une accolade. Pense a l'indentation, ca aide.
?>
Zigz4g

Eléphant du PHP | 56 Messages

13 juin 2007, 12:28

je suis desoler mais non toujour pas
<?php //mieux avec php 
if ($Nom == "" && $Prenom == "") {  
    tep_href_link('createPOaccount.php',  'error_message=' . urlencode("Un des champs est vide"); // ; ici   
    require('includes/application_top.php'); 
    require(DIR_WS_MODULES . 'payment/cofidis_ZhenIT.php'); 
    $cofidis = new cofidis_ZhenIT(); 
    $cofidis->trace("Desde: ".$_SERVER['REMOTE_ADDR']." pide:".$_SERVER['REQUEST_URI']); 
    if ($_REQUEST['referencia'] == '') 
        //tep_redirect(tep_href_link('checkout_process1.php', '', 'SSL')); 
        tep_redirect(tep_href_link('checkout_process1.php', '', 'SSL')); 
    $cofidis->answer($_REQUEST['referencia'], 
        $_REQUEST['accept'], 
        $_REQUEST['numcuotas']); 
     //tep_redirect(tep_href_link(FILENAME_CHECKOUT_PROCESS, 'SSL', true, false)); 
} // Manque une accolade. Pense a l'indentation, ca aide. 
?> 
j'ai l'erreur suivant
Parse error: syntax error, unexpected ';' in /???.fr/cofidis_ZhenIT_return.php on line 3
et si j'enlever le ; j'ai l'erreur précedente

merci

Mammouth du PHP | 684 Messages

13 juin 2007, 12:45

tep_href_link('createPOaccount.php',  'error_message=' . urlencode("Un des champs est vide")); // Et une parenthese.
Zigz4g

Eléphant du PHP | 56 Messages

13 juin 2007, 12:52

j'ai trouvez
<?php //mieux avec php 

require('includes/application_top.php'); 

if ($numerocle < "2") {  
tep_redirect(tep_href_link(FILENAME_CREATEPOACCOUNT )); 
}
?> 
<?php

    require(DIR_WS_MODULES . 'payment/cofidis_ZhenIT.php'); 

    $cofidis = new cofidis_ZhenIT(); 
    $cofidis->trace("Desde: ".$_SERVER['REMOTE_ADDR']." pide:".$_SERVER['REQUEST_URI']); 
     
if ($_REQUEST['referencia'] == '') 
        //tep_redirect(tep_href_link('checkout_process1.php', '', 'SSL')); 
        tep_redirect(tep_href_link('checkout_process1.php', '', 'SSL')); 
    $cofidis->answer($_REQUEST['referencia'], 
        $_REQUEST['accept'], 
        $_REQUEST['numcuotas']); 
     //tep_redirect(tep_href_link(FILENAME_CHECKOUT_PROCESS, 'SSL', true, false)); 

?> 
mais meintenent même si je met une valeur il me redirectione automatiquement