Visualizzazione risultati 1 fino 12 di 12

Discussione: redirect che non funziona

  1. #1
    Guest

    Predefinito redirect che non funziona

    Il problema non sta qui su av, ma su un'altro spazio. Siccome là non c'è un forum, posto qua perchè mi avete risolto molti problemi.
    Se scrivo:
    Codice PHP:
    header("Location: http://".$_SERVER['SERVER_NAME']."/index.php?page=guestbook");
    Non funziona. Non capisco perchè, dato che in locale fa tutto perfettamente. Pagina di prova: http://crashinside.net/?page=guestbook provate a lasciare un messaggio nel guestbook (senza xss, tanto sono fixate) e vedrete che non fa il redirect verso la pagina del guestbook.

  2. #2
    Guest

    Predefinito

    Prova a stampare http://".$_SERVER['SERVER_NAME']."/index.php?page=guestbook e vedi cosa viene fuori.


    ciao!

  3. #3
    Guest

    Predefinito

    Ecco il risultato:
    Codice:
    http://crashinside.net/index.php?page=guestbook
    Ovviamente deve essere così

  4. #4
    Guest

    Predefinito

    Nella pagina di test non riesco a fare nulla perchè richiede la registrazione.

    PS: ma non viene restituito nessun errore o altri tipo di messaggio?

    PPS: ho riprovato ora a visitare quella pagina, non mi resistuisce nulla, pagina completamente bianca. Forse il server su cui ti appoggi ha qualche down...


    Ciao!

  5. #5
    Guest

    Predefinito

    No ero io a fare delle prove
    Ti mando un pm per un'account di prova

  6. #6
    Guest

    Predefinito

    Ho provato ad inserire un messaggio: mi porta alla pagina http://crashinside.net/index.php?pag...tbook&ac=write e rimane ferma lì.

    Ma quando chiami l'header, sicuro che non fai nessun'altro output?


    Ciao!

  7. #7
    Guest

    Predefinito

    posto il source che riguarda quella parte:
    Codice PHP:
    <?php
    switch($_GET['ac']) {
    case
    "write":
    $nome = $_POST['nome'];
    $email = $_POST['email'];
    $testo = $_POST['testo'];
    $sito = $_POST['sito'];
    $date = date("l d F Y, H:i:s");
    if (!
    eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\.[a-z]{2,4}$", $email)) {
    echo
    "L'email non va bene!";
    } else {
    $testo = htmlentities($testo);
    if (
    $sito == "") {
    $header = "$nome, <a href=\"mailto:$email\">e-mail</a> ha scritto:<br>";
    } else {
    if(
    eregi("http://",$sito) && eregi(".",$sito)) {
    $header = $nome.", <a href=\"".$sito."\">sito web</a>, <a href=\"mailto:".$email."\">e-mail</a> ha scritto:<br>";
    } else {
    $header = $nome.", <a href=\"http://".$sito.".it\">sito web</a>, <a href=\"mailto:".$email."\">e-mail</a> ha scritto:<br>";
    }
    }
    $fp = fopen("guestbook/database.txt", "a+");
    fwrite($fp, $header.$testo."<br><br>");
    fclose($fp);
    header("Location: http://".$_SERVER['SERVER_NAME']."/index.php?page=guestbook");
    }
    break;
    }
    ?>
    Comunque in locale funziona, non capisco perchè lì non faccia.
    Ho provato ad inserire un messaggio: mi porta alla pagina http://crashinside.net/index.php?pag...tbook&ac=write e rimane ferma lì.
    Infatti è quello il problema

  8. #8
    Guest

    Predefinito

    Ma come faccio a vedere la pagina con il menu ecc se non fai nessun output?
    Ci deve essere qualche inlusione di file esterno che ti annulla l'header.


    Ciao!

  9. #9
    Guest

    Predefinito

    Si inserisco 3 file per il template.
    E' quella la causa?
    Se si è strano, perchè in locale funziona

  10. #10
    Guest

    Predefinito

    Sì, è quella la causa.
    Come è scritto nella guida e un po' ovunque nel web, prima dell'header (quidi anche setcookie) non deve esserci nessun out html, nemmeno spazi bianchi.


    Ciao!

  11. #11
    Guest

    Predefinito

    Però in locale (php 5.2.6) il redirect funziona, e non capisco perchè su quel server non faccia (hanno php5 anche lì).
    Comunque quando rimetto online un'altra versione del sito ci metterò una scritta tipo "messaggio inserito con successo" in stile phpBB.
    Grazie comunque

  12. #12
    Guest

    Predefinito

    Io ho fatto un guestbook...e quando inserisce il mex fa il redirect...
    Ciao! ^^
    PS. Scusami ma se $_SERVERNAME corrisponde a http://www.sito.com/?guestbook
    Non ha senso scrivere http://$_SERVERNAME/?guestbook...
    Devi scrivere solamente $_SERVERNAME! :)
    Ciao! ^^

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •