Visualizzazione risultati 1 fino 17 di 17

Discussione: Redirect

  1. #1
    Guest

    Predefinito Redirect

    Ho un problema con il redirect:
    praticamente...se si prova a fare il login e i dati non esistono nel db...non puoi loggarti.
    E dovrebbe ritornare alla pagina di login.

    Invece rimane alla pagina di controllo.
    premetto che il codice in locale funziona.

    posto il codice:

    if($user!=$user1 && $pass!=$pass1)
    {

    echo "<script>

    function doRedirect() {
    location.href = 'index.php';
    }
    window.setTimeout('doRedirect()', 500); //

    </script>";



    }

  2. #2
    Guest

    Predefinito

    non fai prima a fare header("Location: index.php"); ??
    praticamente fai il redirect direttamente con il php

  3. #3
    Guest

    Predefinito

    E quindi sarebbe
    Codice PHP:

    if($user!=$user1 && $pass!=$pass1)
    {
    header("Location: index.php");
    }

  4. #4
    Guest

    Predefinito

    per assicurarsi che il codice della pag non viene eseguito basta fare:
    Codice PHP:

    if($user!=$user1 && $pass!=$pass1)
    {
    header("Location: index.php");
    exit;
    }
    ciaoo

  5. #5
    Ospite Guest

    Predefinito

    Il problema non credo sia nel redirect, il codice per il reindirizzamento sembra essere corretto.
    Piuttosto, visto che in locale lo script è correttamente funzionante, potrebbe contenere parti, in altre sezioni del codice o in eventuali altri scripts inclusi, che fanno uso di funzioni non supportate o bloccate sui server AlterVista.
    Visualizzi qualche errore / pagina bianca?
    Fai un controllo.

  6. #6
    Guest

    Predefinito

    Codice PHP:
    if($user!=$user1 && $pass!=$pass1)
    {
    header("Location: index.php");
    exit;
    }
    cosa che n centra molto... cmq la dico: questo codice ha una falla enorme... cioè se io inserisco il nome utente giusto ma la pass sbagliata loggo ugualmente...

    Codice PHP:
    if($user!=$user1 || $pass!=$pass1)
    {
    header("Location: index.php");
    exit;
    }
    così è già meglio

  7. #7
    Guest

    Predefinito

    Allora facciamo così:P
    Codice PHP:
    if($user!=$user1 || $pass!=$pass1)
    {
    header("Location: index.php");
    exit;
    }else if (
    $user!=$user1 && $pass!=$pass1){
    header("Location: index.php");
    exit;
    }

  8. #8
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    L'else è inutile.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  9. #9
    Guest

    Smile

    allora...la falla non esiste perchè il codice funziona alla perfezione...ho evitato di usare mille sessioni e 100 get..per rendere il codice leggere...bastaa un if con un db è il gioco è fatto!!
    Mi appare la pagina bianca e rimane ferma li.Anche se aggiungo exit;

    Magari sono i server di Altervista?
    NOn so cosa provare..potrei fare il controllo sulla stessa pagina..ma non mi sembra molto corretto.
    Grazie a tutti cmq.

  10. #10
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Se al posto di header... metti un echo "ciao";, te lo stampa?
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  11. #11
    Guest

    Predefinito

    in remoto no!! nemmeno se metto un alert.

  12. #12
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Vuol dire che l'if è sbagliato. Scrivi tutto il codice che utilizzi.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  13. #13
    Guest

    Cool

    Codice PHP:
    <?
    session_start
    ();

    include(
    "dbmanagement.php");
    $user1=$_POST['user'];
    $pass1=$_POST['pass'];




    if(isset(
    $_POST['post'])){

    $db=new database;
    $db->connetti();
    $sql="SELECT * FROM login where user='$user1' AND pass='$pass1';";
    if(
    $db->esegui($sql)){
    for(
    $i=0;$i<$db->righe();$i++)
    {
    $user=$db->leggi($i,'user');
    $pass=$db->leggi($i,'pass');


    }
    //echo $user;
    //echo $pass;

    if($user!=$user1 && $pass!=$pass1)
    {

    echo
    "<script>

    location.href='index.php';

    </script>"
    ;



    }
    }






    if(
    $user==$user1 && $pass==$pass1)
    {
    echo
    "<script>
    alert('stai per accedere alla nostra area riservata');
    location.href='dir/index2.php';

    </script>"
    ;
    $_SESSION['user']=$user1;
    $_SESSION['pass']=$pass1;

    }}
    ?>
    questo è il codice...di controllo...se poi avete un altra alternativa che ben venga...cmq grazie funcool
    Ultima modifica di funcool : 05-10-2007 alle ore 08.52.21

  14. #14
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Prova così:
    Codice PHP:
    <?php
    session_start
    ();

    if (isset(
    $_POST['user']) && isset($_POST['pass'])) {
    $user1=mysql_escape_string($_POST['user']);
    $pass1=mysql_escape_string($_POST['pass']);
    $risultato=mysql_query("SELECT * FROM login WHERE user='{$user1}' AND pass='{$pass1}'");
    if (
    mysql_num_rows($risultato)==1) {
    $_SESSION['user']=$user1;
    $_SESSION['pass']=$pass1;
    Header("Location: dir/index2.php");
    exit;
    }
    }

    Header("Location: index.php");

    ?>
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  15. #15
    Guest

    Predefinito

    Ma io nel mio foglio di connessione al db non ho le funzioni
    mysql_escape_string e nemmeno

    mysql_num_rows???

    Non so?

  16. #16
    Guest

    Predefinito

    Sono funzioni proprie del php...

  17. #17
    Ospite Guest

    Predefinito

    Citazione Originalmente inviato da fantacalta Visualizza messaggio
    Ma io nel mio foglio di connessione al db non ho le funzioni
    mysql_escape_string e nemmeno

    mysql_num_rows???

    Non so?
    La classe che citi è stata probabilmente progettata per funzionare in maniera diversa utilizzando procedimenti diversi.
    Per questo probabilmente non vengono utilizzate quelle funzioni, magari non sono necessarie nella struttura dello script.
    Se comunque vuoi avere maggiori informazioni riguardo il loro uso e funzionamento:
    mysql_num_rows()
    mysql_escape_string()

    Ciao!

Regole di scrittura

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