problemi con Header dopo una message box

  • Creatore Discussione Creatore Discussione vodka
  • Data di inizio Data di inizio

vodka

Utente Attivo
25 Giu 2010
128
0
0
Vi posto il codice
PHP:
if (!IsSet($_SESSION['nome']))
{
	echo '<script langage=\"Javascript\">alert("Devi prima effettuare il Log In!");</script>';
	header ("Location: filmup.php");
}

capite che il significato di questo script è che nel caso la condizione è falsa deve comparire una message box e di conseguenza deve essere effettuato l'header che riporta alla pagina iniziale.
Invece l'header non viene eseguito.
Qual è il problema?
 
non mi dà errori, il problema è ke nn mi reindirizza alla pagina filmup.php e mi visualizza la pagina in cui sono presente, cioè praticamente non esegue l'istruzione di header
 
ciao
strano che non ti dia errori
non si scrive IsSet ma isset,
poi l'header vine dopo un output html (l'echo) e quindi dovrebbe darti un altro errore
 
ciao
ho copiato pari pari il tuo scrptnino
doppo l'alert da
Warning: Cannot modify header information - headers already sent by (output started at C:\AppServ......
come immaginavo.
prova a scriverlo così

PHP:
<?php
ob_start();
if (!isset($_SESSION['nome'])) 
{ 
    echo '<script langage=\"Javascript\">alert(\"Devi prima effettuare il Log In!\");</script>'; 
    header ("Location: filmup.php"); 

}  
ob_end_flush();
?>
 
modificando il codice in questo modo :
PHP:
ob_start();
if (!isset($_SESSION['nome']))
{
	echo '<script langage=\"Javascript\">alert("Devi prima effettuare il Log In!");</script>';
	header ("Location: filmup.php");
}

ob_end_flush();
non mi dà nessuna message box ma mi riporta alla pagina di header.
non cè un modo per far comparire la message e poi riportarmi alla pagina di header?
 
ciao
non vedi il messaggio perche non fai in tempo a vederlo.
si c'e un sistema, ma non ricordo esattemante la sintassi
header ("Refresh; content=3; filmup.php"); (????)
la cerco (o interviene alex) poi ti so dire (spero)
 
in questo modo non mi effettua il reindirizzamento e mi visualizza la pagina in cui sono presente dopo la message.
 
ok ho risolto funziona! non avevo aspettato i 5 secondi e credevo nn funzionasse ;)
ho impostato ad 1 e funziona tutto correttamente .
grazie mille!!
 
ciao
sei sicuro?
ho fatto questa pagina rimando.php
PHP:
<?php
ob_start();
if (!isset($_SESSION['nome'])) 
{ 
    echo 'SONO PRIMA'; 
    //header ("Location: pagina.php"); 
	header( "refresh:5;url=pagina.php" );
	echo ' SONO DOPO'; 
}  
ob_end_flush();
?>

chiamando rimando.php appare la sritta SONO PRIMA SONO DOPO e dopo 5 secondi vengo reindirizzato alla pagina.php dove leggo SONO IN PAGINA
verifica che non sia un problema di percorsi
 

Discussioni simili

G
Risposte
4
Visite
1K
PHP
giuseppederossi
G