Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    1,258

    cambiare pagina in caso di login corretto

    Ciao a tutti, non riesco a trovare un modo di cambiare pagina in modo automatico
    se il login ha successo, dove sbaglio? Funziona solo se clicco sul pulsante aggiorna
    del browser. grazie.

    codice:
    <?php session_start(); ?>
    <?php if(isset($_SESSION["user"])){
      header("Location: partita.php");
      exit;
    } else {
    ?>
    <html>
    <body>
      <FORM ACTION="login.php" method="POST">
      <label>User: </label><input TYPE="TEXT" NAME="user"/><br>
      <label>Password: </label><input TYPE="TEXT" NAME="password"/><br>
      <input type="submit">
      </FORM>
    <?php 
    
    
    
    
    //esegui la query solo se i campi sono stati compilati
    if(isset($_POST["user"]) && isset($_POST["password"])){
          $conn = pg_connect("host=localhost dbname=mydata user=postgres password=wer")
            or die("NON CONNESSO AL DB");
          $u = $_POST["user"];
          $p = $_POST["password"];
    
    
          $query = "SELECT * from Utente where idutente ='$u'";
          $select_query = pg_query($conn, $query) or die("problema nell'eseguire la query");
            $riga = pg_fetch_array($select_query);
            $us = $riga["idutente"];
            $pw = $riga["password"];
          if(pg_num_rows($select_query)==1 && strcmp($pw, $p)==0){
            print("<b>Utente: $u connesso </b>");
    	$_SESSION["user"] = $u;
          } else if(pg_num_rows($select_query)==1 && strcmp($pw, $p)!=0){
    	print("<b>Password non corretta</b>");
          } else {
            print("<b>Non ci sono utenti con questo user</b>");
          }
    } }
    
    
    ?>
     
    </body>
    </html>

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Nell'if che dice che il login è andato a buon fine devi mettere un redirect verso la pagina che vuoi mostrare.
    Adesso non ti manda da nessuna parte perché non gli dici dove deve andare.

    Usa la funzione
    header("location:nomepagina.php");

    Dovrai togliere l'echo, altrimenti header() non funzionerà.

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    1,258
    grazie

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.