header qui ne redirige pas vers l'url désignée

la fripouille
Invité n'ayant pas de compte PHPfrance

15 juil. 2006, 16:45

Bonjour à tous,

J'ai un petit problème avec un header qui ne me redirige pas vers l'url désignée, c'est la 1ère fois que je rencontre ce problème :shock:

Et j'en déduis que le header fonctionne bien, puisqu si je fais un echo juste avant, j'ai donc l'erreur normale.

Voici mon code :
<?php

session_start();

$a = require_once('./inc/abbrev.php');
$b = require_once('./id/idbdd.php');
$c = require_once('./inc/biblio.php');

$structure = require_once('./inc/structure.php');

if( !$a || !$b || !$c || !$structure ) exit('Une erreur s\'est produite lors de l\'affichage de la page');

// soumission du form ajouter.inc.php
$name = 'auteur,cat,quest,r1,r2,exact';
$opt_name = 'r3,r4,r5';
$ajout = verif_champ('envoi', 'Valider votre question', $name);

if( $ajout )
{
    $values = val_champ($name);
    $opt = val_champ($opt_name);
    if( $opt ) $values += $opt; 
    $champs = 'auteur,cat,question,r1,r2,reponse';
    
    $n = count($values);
    // champs optionnels
    if( $n == 7 ) $champs .= ',r3';
    if( $n == 8 ) $champs .= ',r3,r4';
    if( $n == 9 ) $champs .= ',r3,r4,r5';
    $insert = $db -> insert($values, 'qcm', $champs);
}
else
{
    $url = implode('=1&', champs_vides($name));
    $url = $_SERVER['REQUEST_URI'] . '&' . $url . '=1';
    header('location :' . $url);
}

$cat = $db -> req("SELECT DISTINCT(cat) FROM qcm ORDER BY cat");

entete('Questions à choix multiples');

menu();

inc('act');

pied();

?>
Donc dans mon else, la condition est bien réunie, si je fais un echo de $url, j'obtiens :
/projet/qcm.php?act=ajouter&r1=1&r2=1&exact=1
Sachant que la page en cours à cette url :
/projet/qcm.php?act=ajouter
Qu'est ce qui pourrait faire que mon header ne me redirige pas vers la même page avec les nouveaux gets en paramètres ?

Merci de votre aide :D

_______________________________________
:idea: Qui suis-je réellement :?:

ViPHP
ViPHP | 2291 Messages

15 juil. 2006, 17:01

header('location :'. $url);
J'ai eu le même problème et il à été régler en ne mettant pas d'espace !

Mais bon je suis expert :lol:
ImageCe que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.

la fripouille
Invité n'ayant pas de compte PHPfrance

15 juil. 2006, 17:27

Ah oui, c'était ça, bizarre quand même.

Merci ;)

Votre message a été identifié comme étant du spam (publicité).

Si votre message contient du code PHP, veuillez le placer entre les balises [ php] et [/php ]
S'il contient du HTML, du SQL ou tout autre language informatique, veuillez le placer entre les balises [ code] et [/code ]
Sinon, veuillez vous inscrire pour confirmer votre identité, puis réessayez.
Notez que certains termes ou URLs nécessitent d'avoir au moins 5 messages à son actif pour être utilisés.
Euh, je suis pas un spammeur :lol:

_______________________________________
:idea: Qui suis-je réellement :?: