Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2004
    Messaggi
    433

    Redirect che va a metà

    il titolo è strano lo so ma non so cosa potevo scrivere....

    allora ecco il cod
    Codice PHP:

    if((!isset($_POST['tuttisi']))&&(!isset($_POST['vedes'])))header("Location:scrivi.php?er=1");
    else{
    if(isset(
    $_POST['tuttisi']))$tutti=$_POST['tuttisi'];else
    if(isset(
    $_POST['vedes']))$destve=$_POST['vedes'];
    }
    ....
    ....
    ....
    inserisci nel db le informazioni 
    che tradotto dovrebbe essere: torna alla pagina scrivi.php con er=1 se $tuttisi e $vedes non sono settati altrimenti se è settato $tuttisi prendilo altrimenti prendi $vedes...
    giusto??

    se nel form non seleziono nessuna delle 2 opzioni mi ritorna er=1 MA cosa molto strana nel db mi ritrovo un record vuoto !!!

    non me la spiego sta cosa... se mi torna il messaggio lo script non dovrebbe continuare giusto???

    grazie
    Donerò loro dei fiori... poiché... sotto le nuvole... tutto è così rozzo e sporco

  2. #2
    per precauzione proprio per evitare questi inconvenienti io utilizzo sempre exit()
    Codice PHP:
    if((!isset($_POST['tuttisi']))&&(!isset($_POST['vedes'])))
    {
    header("Location:scrivi.php?er=1");
    exit();
    }else{
    if(isset(
    $_POST['tuttisi']))$tutti=$_POST['tuttisi'];else
    if(isset(
    $_POST['vedes']))$destve=$_POST['vedes'];
    }
    ....
    ....
    ....
    inserisci nel db le informazioni 

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2004
    Messaggi
    433
    ho capito... io ho provato (quando mi sono accorto di questa cosa) con il die("...") subito dopo header("Location:scrivi.php?er=1");
    e funzionava tutto bene....

    ho chiesto qui perche' cmq mi sembra molto strano questo comportamento visto che cmq l'ho utilizzato in tutte le altre pagine senza mai avere problemi.... per cui ho chiesto cosa non funzionava...

    qlc1 lo sa???
    Donerò loro dei fiori... poiché... sotto le nuvole... tutto è così rozzo e sporco

  4. #4
    invece di !isset() prova ad usare empty().

    POST potrebbe risultare settato ma vuoto. Con empty verifica che non sia vuoto.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2004
    Messaggi
    433
    nessun cambiamento con empty("....") o meglio mi ritorna come prima nella pagina scrivi con er=1 ma cmq il programma continua....

    devo per forza usare exit() per non proseguire...

    la domanda è:

    se mi ritorna alla pagina scrivi.php con l' errore come fa ad andare avanti nelle istruzioni della stessa pagina.... se serve vi posto il form che c'e' in scrivi.php e le istruzioni della pagina (questa) che li elabora....

    avrei già risolto il problema con la funzione exit()... ma ora sono veramente curioso di capire il perchè di sta cosa.... visto che cmq ho utilizzato queste istruzioni anche nelle altre pagine del sito e non vorrei che si verificassero altri casi come questo....

    illuminatemi....
    Donerò loro dei fiori... poiché... sotto le nuvole... tutto è così rozzo e sporco

  6. #6
    quando si decide che per qualche ragione l'utente deve uscire dallo script si apre la porta e lo si spinge fuori.... come dire che e' obbligo mettere exit.

    Ti ho suggerito empty() perche' ti trova anche gli array con indice settato ma vuoti, senza contenuto, mentre isset() no.

    per essere preciso con isset dovresti fare anche un controllo sul contenuto ... che andrebbe sempre fatto comunque.

    Comunque sia... sempre exit dopo un redirect.... appunto perche' non si sa mai ...

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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.