[PHP] Reindirizzamento post Login

PietroDeRosa

Nuovo Utente
19 Mar 2018
20
0
1
31
Buonasera a tutti,

avevo neccesità di creare una pagina Login in php che autenticasse gli utenti con delle credenziali già esistenti su un db mysql.

Ho trovato online uno script che fa al caso mio, l'ho adattato al mio db con la relativa query e funziona bene (fa il suo dovere).

Ho solo un problema adesso, per i più pratici sicuramente banale ma per me che non ne mastico davvero niente mi sta mettendo in crisi; l'attuale script è strutturato in modo che dopo essersi loggati mostra un echo con "Adesso sei loggato", bene, io dovrei sostituire questo echo con un'altra pagina già esistente sempre in php. Ho provato con "include" ma non funziona, ho provato con echo "<iframe>....etc" e ugualmente non funziona (per non funziona intendo che non mi carica il contenuto che vorrei).

Sareste così gentili da aiutarmi? Vi riporto qui la parte di codice interessata.

PHP:
<?php
    $error = '';
    if(isset($_POST['is_login'])){
        $sql = "SELECT * FROM ".$SETTINGS["USERS"]." WHERE `UTEN1A` = '".mysql_real_escape_string($_POST['email'])."' AND `PSWR1A` = '".mysql_real_escape_string($_POST['password'])."'";
        $sql_result = mysql_query ($sql, $connection ) or die ('request "Could not execute SQL query" '.$sql);
        $user = mysql_fetch_assoc($sql_result);
        if(!empty($user)){
            $_SESSION['user_info'] = $user;
            /*$query = " UPDATE ".$SETTINGS["USERS"]." SET last_login = NOW() WHERE id=".$user['id'];*/
            mysql_query (/*$query,*/ $connection ) /*or die ('request "Could not execute SQL query" '.$query)*/;
        }
        else{
            $error = 'Verifica username e password inseriti.';
        }
    }
  
    if(isset($_GET['ac']) && $_GET['ac'] == 'logout'){
        $_SESSION['user_info'] = null;
        unset($_SESSION['user_info']);
    }
?>
     <?php if(isset($_SESSION['user_info']) && is_array($_SESSION['user_info'])) { ?>

        <form id="login-form" class="login-form" name="form1">

            <div id="form-content">
                <div class="welcome">
 
                    <?php  $_SESSION['user_info']['email']  ?>, Adesso sei loggato
                    <br /><br />
 <?php echo $_SESSION['user_info']['content']  ?>
                    <br /><br />
                    <a href="index.php?ac=logout" style="color:#3ec038">Logout</a>
                </div> 
            </div>
  
        </form>
      
    <?php } else { ?>
        <form id="login-form" class="login-form" name="form1" method="post" action="index.php">
            <input type="hidden" name="is_login" value="1">
            <div class="h1">Inserisci i dati per il Login</div>
            <div id="form-content">
                <div class="group">
                    <label for="email">Username</label>
                    <div><input id="email" name="email" class="form-control required" type="text" placeholder="Username"></div>
                </div>
               <div class="group">
                    <label for="name">Password</label>
                    <div><input id="password" name="password" class="form-control required" type="password" placeholder="Password"></div>
                </div>
                <?php if($error) { ?>
                    <em>
                        <label class="err" for="password" generated="true" style="display: block;"><?php echo $error ?></label>
                    </em>
                <?php } ?>
                <div class="group submit">
                    <label class="empty"></label>
                    <div><input name="submit" type="submit" value="Entra"/></div>
                </div>
            </div>
            <div id="form-loading" class="hide"><i class="fa fa-circle-o-notch fa-spin"></i></div>
        </form>
    <?php } ?> 
    </body>
</html>
Questo è quello che viene mostrato



Grazie a chi risponderà
 
Ultima modifica:

bubino8

Utente Attivo
28 Apr 2017
343
19
18
28
BZ
Ciao
molto strano che con include non vada
PHP:
<div id="form-content">
                <div class="welcome">
 
                    <?php  include ('pagina.php'); ?>
                </div>
            </div>
cosi non va?
 

bubino8

Utente Attivo
28 Apr 2017
343
19
18
28
BZ
Io sto facendo qualche test e a me funziona correttamente.

PHP:
<?php
    $db_host = "localhost";
    $db_user = "root";
    $db_pass = "";
    $db_name = "gestionale_bubi";
    $connection = mysqli_connect($db_host, $db_user, $db_pass, $db_name);
    
    $error = '';
    if(isset($_POST['is_login'])){
        $sql = "SELECT * FROM user WHERE `username` = '".mysql_real_escape_string($_POST['email'])."' AND `password` = '".mysql_real_escape_string($_POST['password'])."'";
        $sql_result = mysqli_query ($connection, $sql) or die ('request "Could not execute SQL query" '.$sql);
        $user = mysqli_fetch_assoc($sql_result);
        if(!empty($user)){
            $_SESSION['user_info'] = $user;
            /*$query = " UPDATE ".$SETTINGS["USERS"]." SET last_login = NOW() WHERE id=".$user['id'];*/
            //mysqli_query (/*$query,*/ $connection ) /*or die ('request "Could not execute SQL query" '.$query)*/;
            //print_r($_SESSION);
        }
        else{
            $error = 'Verifica username e password inseriti.';
        }
    }
 
    if(isset($_GET['ac']) && $_GET['ac'] == 'logout'){
        $_SESSION['user_info'] = null;
        unset($_SESSION['user_info']);
    }
?>
     <?php if(isset($_SESSION['user_info']) && is_array($_SESSION['user_info'])) { ?>

        <form id="login-form" class="login-form" name="form1">

            <div id="form-content">
                <div class="welcome">
 
                    <?php echo $_SESSION['user_info']['email'];  ?>, Adesso sei loggato
                    <br /><br />
                    <?php include ('pagina.php'); ?>
                    <br /><br />
                    <?php echo $_SESSION['user_info']['content']; ?>
                    <br /><br />
                    <a href="index.php?ac=logout" style="color:#3ec038">Logout</a>
                </div>
            </div>
 
        </form>
      
    <?php } else { ?>
        <form id="login-form" class="login-form" name="form1" method="post" action="index.php">
            <input type="hidden" name="is_login" value="1">
            <div class="h1">Inserisci i dati per il Login</div>
            <div id="form-content">
                <div class="group">
                    <label for="email">Username</label>
                    <div><input id="email" name="email" class="form-control required" type="text" placeholder="Username"></div>
                </div>
               <div class="group">
                    <label for="name">Password</label>
                    <div><input id="password" name="password" class="form-control required" type="password" placeholder="Password"></div>
                </div>
                <?php if($error) { ?>
                    <em>
                        <label class="err" for="password" generated="true" style="display: block;"><?php echo $error ?></label>
                    </em>
                <?php } ?>
                <div class="group submit">
                    <label class="empty"></label>
                    <div><input name="submit" type="submit" value="Entra"/></div>
                </div>
            </div>
            <div id="form-loading" class="hide"><i class="fa fa-circle-o-notch fa-spin"></i></div>
        </form>
    <?php } ?>
    </body>
</html>