Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    63

    problemi con la funzione header

    sto utilizzando la funzione header ma mi da questo tipo di errore :

    Warning: Cannot modify header information - headers already sent by (output started at C:\www\validazione_reg.php:2) in C:\www\validazione_reg.php on line 29

    di seguito riporto il codice in cui la utilizzo:

    <?php

    if(empty($_POST["nome"]) or !eregi("[a-z]+", $_POST["nome"]) or eregi("[0-9]+", $_POST["nome"]) or eregi("[[unct:]]+", $_POST["nome"]))
    {
    $name= "errore";
    }


    else
    {
    $name = $_POST["nome"];
    }



    if(empty($_POST["cognome"]) or !eregi("[a-z]+", $_POST["cognome"]) or eregi("[0-9]+", $_POST["cognome"]) or eregi("[[unct:]]+", $_POST["cognome"]))
    {
    $surname= "errore" ;
    }

    else
    {
    $surname = $_POST["cognome"];
    }

    if ($name=="errore" or $surname=="errore")
    {
    header("Location:regerror.php?nom=$name&cogn=$surn ame");
    }

    else
    {
    echo "la registrazione ha avuto successo...........";
    echo "$name $surname" ;

    }

    ?>

    qualcuno sa dirmi come mai ho questo tipo di errore e/o consigliarmi una funzione che svolge lo stesso lavoro di header..............?

  2. #2
    prova a togliere gli spazi e la riga dopo l'apertura del tag php.
    fallo diventare
    <?php if(empty ecc ecc

    ovviamente uno spazio tra <?php e il seguito va comunque lasciato.

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    63
    mi da sempre lo stesso errore
    ho modificato il codice come di seguito:


    <?php if(empty($_POST["nome"]) or !eregi("[a-z]+", $_POST["nome"]) or eregi("[0-9]+", $_POST["nome"]) or eregi("[[unct:]]+", $_POST["nome"]))
    {
    $name= "errore";
    }
    else
    {
    $name = $_POST["nome"];
    }
    if(empty($_POST["cognome"]) or !eregi("[a-z]+", $_POST["cognome"]) or eregi("[0-9]+", $_POST["cognome"]) or eregi("[[unct:]]+", $_POST["cognome"]))
    {
    $surname= "errore" ;
    }
    else
    {
    $surname = $_POST["cognome"];
    }
    if ($name=="errore" or $surname=="errore")
    {
    header("Location:regerror.php?nom=$name&cogn=$surn ame");
    }
    else
    {
    echo "la registrazione ha avuto successo...........";
    echo "$name $surname" ;
    }
    ?>

    ma nn esiste una funzione simile ad header?

  4. #4
    a me il tuo codice funziona

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    63
    anche a me funzionava ma adesso nn funziona più!!!!!!!!!
    nn so cosa pensare
    ma allora nn conosci nessun altra funzione simile ad header..........che faccia il suo stesso lavore?

  6. #6
    sei arci sicuro che prima dell'header non ci siano spazi bianchi,tag,invii etc.. ????

  7. #7
    Dal messaggio di errore, direi che c'e' una riga vuota prima del tag <?php

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    63
    ho provato a fare una nuova funzione, te la invio vedi un pò se è giusta e se ti funziona :


    <?php

    if(empty($_POST["nome"]) or !eregi("[a-z]+", $_POST["nome"]) or eregi("[0-9]+", $_POST["nome"]) or eregi("[[unct:]]+", $_POST["nome"]))
    { $name= "errore";}

    else
    { $name = $_POST["nome"]; }

    if(empty($_POST["cognome"]) or !eregi("[a-z]+", $_POST["cognome"]) or eregi("[0-9]+", $_POST["cognome"]) or eregi("[[unct:]]+", $_POST["cognome"]))
    { $surname= "errore" ; }

    else
    { $surname = $_POST["cognome"]; }

    if ($name=="errore" or $surname=="errore")
    {header("Location:regerror.php?nom=$name&cogn=$sur name");}

    else
    { echo "la registrazione ha avuto successo...........";
    echo "$name $surname" ; }

    ?>

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    63
    K.B hai pienamente ragione............
    adesso funziona

    ma potresti darmi un pò di delucidazione su questo fatto................

    grazie a tutti per l'aiuto

  10. #10
    Gli header devono essere le prime cose inviate al client, e non ci puo' essere nulla prima. Se tu lasci una riga vuota prima del codice php, inizi l'output html e non puoi piu' inviare header.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.