redirect da pagina php chiamata da ajax

amhal

Utente Attivo
17 Feb 2011
86
1
8
ciao a tutti ho una chiamata Ajax a una pagina php, dentro la pagina php ho una serie di if ed else, quello che vorrei è quando si verifica la else, mandare dei dati in sessione e ricaricare una pagina php diversa, i dati in sessione me li mette, ma non carica la pagina php. posto il codice
PHP:
<?php

switch($_POST['submit']){

    case 'contenuti':
        if($_POST['lingua'] == NULL){
            $array = array('messaggio' => 'Inserire la lingua');
            echo json_encode($array);
        }//fine if
        elseif($_POST['progetto'] == NULL){
            $array = array('messaggio' => 'Inserire il progetto');
            echo json_encode($array);       
        }//fine elseif       
        elseif($_POST['nome'] == NULL){
            $array = array('messaggio' => 'Inserire il nome');
            echo json_encode($array);       
        }       
        elseif($_POST['cognome'] == NULL){
            $array = array('messaggio' => 'Inserire il cognome');
            echo json_encode($array);       
        }//fine elseif   
        else{
             session_start();
             $_SESSION['lingua']    = $_POST['lingua'];
             $_SESSION['progetto']    = $_POST['progetto'];
             $_SESSION['nome']        = $_POST['nome'];
             $_SESSION['cognome']    = $_POST['cognome'];
             header('LOCATION: home.php');
            }//fine if
    break;


    default: echo  'sono in default';
    
}//fine switch
quello che non funziona e header('LOCATION: home.php');
 

jonnino2004

Utente Attivo
23 Mag 2007
86
3
8
como
www.quizandoceffee.com
ciao
la chiamata header('LOCATION: home.php'); ritorna al javascript la pagina home.php non effettua il redirect come immagini.

Per farlo devi effettuare il redirect lato client, sul codice javascript dove esegui la chiamata ajax

lato server
PHP:
<?php

switch($_POST['submit']){
       ...
        else{
             session_start();
             $_SESSION['lingua']    = $_POST['lingua'];
             $_SESSION['progetto']    = $_POST['progetto'];
             $_SESSION['nome']        = $_POST['nome'];
             $_SESSION['cognome']    = $_POST['cognome'];
             echo "redirect";
            }//fine if
lato client:
Codice:
$.post( "ajax/miapagina.php", function( data ) {
  if(data=='redirect'){
      window.location.href = "nuovapagina.php";
}
});
 

amhal

Utente Attivo
17 Feb 2011
86
1
8
grazie tante ho modificato il tuo script che mi ha salvato la vita grazie tante