web-dev-qa-db-fra.com

Comment rediriger l'utilisateur vers une page après la soumission du formulaire

J'ai trois filtres déroulants sur le site avant pour sélectionner le pays, le territoire et la région et je dois rediriger l'utilisateur vers la page du pays/territoire/région en fonction des valeurs du filtre en cliquant sur le bouton Soumettre.

Pour votre information, j'ai des pages avec le même slug.eg- exemple.com/nom-pays/numéro-territoire/nom_région

J'essaie d'utiliser wp_redirect( $final_url ); exit; mais il lance un avertissement-

Avertissement: impossible de modifier les informations d'en-tête - en-têtes déjà envoyés par (sortie démarrée sous E:\chemin\dossier\répertoire racine\wp-includes\class.wp-styles.php: 154) dans E:\chemin\répertoire\racine dossier\wp-includes\pluggable.php à la ligne 1121

S'il vous plaît aider.

Quelqu'un peut-il me suggérer un meilleur moyen?

// Edit- voici mon code

if(isset($_POST['submit']) and $_POST['action']=='findurl')
    {
        //Result $POST Array ( [countrySelect] => 1 [territorySelect] => 1 [regionSelect] => 2 )
        if (isset($_POST['countrySelect'])){

            $rows_country_url = $wpdb->get_results("select url from country where id=".$_POST['countrySelect']."");
        }

        if (isset($_POST['territorySelect'])){

            $rows_territory_url = $wpdb->get_results("select url from territory where id=".$_POST['territorySelect']."");
        }

        if (isset($_POST['regionSelect'])){

            $rows_region_url = $wpdb->get_results("select url from region where id=".$_POST['regionSelect']."");
        }


        if($rows_country_url[0]->url !=''){
        $final_url = home_url('/').$rows_country_url[0]->url;}

        if($rows_territory_url[0]->url !=''){
        $final_url = $final_url.'/'.$rows_territory_url[0]->url;}

        if($rows_region_url[0]->url !=''){
        $final_url = $final_url.'/'.$rows_region_url[0]->url;}

        echo $final_url;

        if($final_url!=''){ 
        wp_redirect( home_url() ); exit;
        echo "not blank";
        }else{ echo "Please select values";}
    }
1
user2443437

Assurez-vous qu'il n'y a pas de sortie de données ou d'espaces vides au-dessus de wp_redirect( $final_url ); exit;, sinon cet avertissement apparaîtra toujours.

Aussi éventuellement vous pouvez utiliser

<?php
//Php code 
 ?>
<script type="text/javascript">
      document.location.href="http://example.com";
</script>
<?php
//php code
?>
1
TBI Infotech

Ma solution est.

  1. Créez une fonction pour la redirection javascript.

    fonction rm_redirect ($ url) {$ string = ''; $ string. = 'window.location = "'. $ url. '"'; $ string. = ''; echo $ string; }

  2. Appelez cette fonction quand vous le souhaitez.

    rm_redirect (' http://example.com ');

0
Rubel Miah