Reinvio

come è possibile reindirizzare automaticamte ad una'altra pagina senza utilizzare HEADER LOCATION??perchè header location se utilizzato + di 1 volta mi da errore :

Warning: Cannot modify header information - headers already sent by (output started at C:\Programmi\Apache Group\Apache2\htdocs\script_develop\admin\install\header.php:13) in C:\Programmi\Apache Group\Apache2\htdocs\script_develop\admin\install\index.php on line 114

inviato 11 anni fa
Andrea Turso
Andrea Turso
86
X 0 X

E perché dovresti usarlo più di una volta? L'invio dell'header rimane la tecnica da preferire (ed usare correttamente...)

Comunque puoi provare o con un metatag da usare nell'header della pagina:

<meta http-equiv="Refresh" content="0; url=http://www.tuosito.it/pagina.html">

oppure con un Javascript:

<script language="JavaScript" type="text/javascript">
   window.location.href="http://www.tuosito.it/pagina.html";
</script>

 :bye:

risposto 11 anni fa
Gianni Tomasicchio
X 0 X

no nn mi sono spiegato bene.....

....scusatemi.

io ho una pagina index.php che con uno swicth cambia contenuto

in una funzione controlla i dati inviati da un form[sempre in index.php] e se sono esatti ti manda avanti se errati da errore

risposto 11 anni fa
Andrea Turso
Andrea Turso
86
X 0 X

Allora dov'è il problema? Se si è verificato l'errore invii l'header per ridirigere l'utente alla pagina di errore, altrimenti l'header porta alla pagina successiva.

Potresti anche evitare di fare una pagina per l'errore, inserendo il codice che mostra il problema direttamente nella index.php

 :bye:

risposto 11 anni fa
Gianni Tomasicchio
X 0 X

guarda forse il codice può aiutare a capire:

function check()
   {
   
   
   global $lang;
   
   
      if ($_POST['user'] == '')
       {
         echo "$lang[58]";
       }
      if ($_POST['mail'] == '')
       {
         echo "$lang[53]";
       }      
        if (substr_count(($_POST['mail']), "@") != 1 && ($_POST['mail']) != "" ||
         substr_count(($_POST['mail']), ".") != 1 && ($_POST['mail']) != "" ||
         strlen ($_POST['mail']) < 10 ||
         strlen ($_POST['mail']) > 80)
       {
      echo "$lang[53]";
       }
      else
            header ('location: index.php?action=finish');
      }
   
   function finish()
   {
   
   global $lang;
   
   include ("../config/config.php");
      
      $conn = mysql_pconnect("$db_host","$db_user","$db_pass") or die ("$lang[56]");
    
      $db = mysql_select_db("$db_name", $conn) or die("$lang[56]");

[spero di nn aver fatto cazzate :D col codice sto facendo un programmino tanto per imparare il php sono un NooB ]

in pratica se tutto è corretto ti manda a FINISH se no ti mostra il testo con l'errore

risposto 11 anni fa
Andrea Turso
Andrea Turso
86
modificato 11 anni fa
X 0 X

perché, invece di effettuare il redirect, non chiami direttamente la funzione finish?

risposto 11 anni fa
Gianni Tomasicchio
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda