Submitted by anka on
j'ai un problème de redirection dans drupal; j'ai créé un noeud, et codé directement en php: le code qui suit qui fonctionne très bien en localhost(esayphp) et non qd il est dans drupal:
<?php
if(isset($_GET['OK'])){
$codepromo = $_GET['codepromo'];
$nb = $_GET['nb'];
if($codepromo=="coca"){
$idtarif="11050";
}elseif($codepromo=="vassco"){
$idtarif="12580";
}elseif($codepromo=="COPAA"){
$idtarif="12582";
}elseif($codepromo=="duRant"){
$idtarif="12584";
}elseif($codepromo=="MEDPLUS"){
$idtarif="12586";
}
$id = $idtarif;
header("Location: http://www.autresite.com/index.php?idtarif=".$id."&code=".$codepromo);
}else{
$codepromo ="";
$nb ="";
}
print '<form method="get" action="" ';
print 'Code entreprise : <input type="text" name="codepromo" size="10" maxLength="10" />';
print 'Nombre de participant : ';
print '<input type="text" name="nb" size="5" maxLength="3" />';
print '<br />';
print '<input type="submit" name="OK" value="Envoyer" />';
print '</form>';
?>
Ma redirection ne fonctionne pas du tout dans drupal.Pour le même code ça fonctionne en localhost. Je galère depuis deux jours; du coup je n'arrive pas à transmettre mes paramètres dans l'url car une fois le formulaire validé, lapage du noeud est réaffiché;
d'où peut venir le problème
Je vous remercie encore
Merci
Ce n'est pas très
Permalien Soumis par Damien Tournoud le 25 Avril, 2008 - 11:50
Ce n'est pas très "Drupalien" comme façon de faire (sous Drupal on aurait pu utiliser le FormAPI).
Néanmoins, est-ce que les paramètres s'affichent bien à la fin de l'url lorsque vous validez le formulaire ?
Merci pour ta réponse, Je
Permalien Soumis par anka le 25 Avril, 2008 - 12:02
Merci pour ta réponse,
Je sais que c'est très drupalien, ne connaissant pas bieen Drupal je préfere aller au plus vite pour le moment quitte à l'améliorer après.
Lorsque je valide le formulaire, ce qui se passe:
-le header() ne fonctionne pas
-L'url de la page de drupal s'affiche avec les paramètres, mais un paramètre que je dois transmettre et comme par hasard le plus important ne s'affiche pas:
c'est l'idtarif.
Essaye un print_r($_GET)
Permalien Soumis par Damien Tournoud le 25 Avril, 2008 - 12:39
Essaye un print_r($_GET) pour voir ce que ton script voit comme entetes lors de la soumission du formulaire.
Bon, je pense que le
Permalien Soumis par anka le 25 Avril, 2008 - 16:54
Bon,
je pense que le problème vient maintenant du header qui doit etre normalement placé tt au début de la page, donc la redirection ne se fait pas daéns drupal! comment faire alors alors qu'en localhost ça fontionne nickel?
Lorsque je rajoute ce bout de code dans drupal
j'ai l'idtarif qui apparait
par contre au niveau de l'url j'ai ça une fois le formulaire soumis:
http://siteActueldrupal.net/autresite.com/index.php??idtarif=13334&code=...
j'ai l'adresse du site actuelle qui se place devant l'adresse du site de redirection!
Est t'il possible alors en utilisaant l'API Form de Drupal de faire une redirection vers un autre nom de domaine et de passer les paramètres et leurs valeurs dans l'url une fois que le formulaire est soumis ?