• User

    problema codice php di query al database

    Ciao a tutti..
    Ho un problema: non fa quello che dovrebbe fare il codice qui sotto!!In particolare vorrei che una volta che il login va a buon fine, viene modificata una colonna "dormiente" e passa da si a no...Ma il tutto non funziona..
    Grazie mille a chi avrà voglia di guardarlo e di darmi qualche consiglio!!
    :ciauz:

    if (!isset($_SESSION)) {
    session_start();
    }
    $loginFormAction = $_SERVER['PHP_SELF'];
    if (isset($_GET['accesscheck'])) {
    $_SESSION['PrevUrl'] = $_GET['accesscheck'];
    }
    if (isset($_POST['username'])) {
    $loginUsername=$_POST['username'];
    $password=$_POST['password'];
    $MM_fldUserAuthorization = "";
    $MM_redirectLoginSuccess = "home page_log.php";
    $MM_redirectLoginFailed = "errore iscrizione.php";
    $MM_redirecttoReferrer = false;
    mysql_select_db($database_database_iscritti, $database_iscritti);

    $LoginRS__query=sprintf("SELECT username, password FROM iscritti WHERE username='%s' AND password='%s'",
    get_magic_quotes_gpc() ? $loginUsername : addslashes($loginUsername), get_magic_quotes_gpc() ? $password : addslashes($password));

    $LoginRS = mysql_query($LoginRS__query, $database_iscritti) or die(mysql_error());
    $loginFoundUser = mysql_num_rows($LoginRS);

    $dormi = "no";
    mysql_select_db($database_database_iscritti, $database_iscritti);
    $update_query=sprintf("UPDATE iscritti SET dormiente='%s' WHERE username='%s' AND password='%s'",
    get_magic_quotes_gpc() ? $dormi : addslashes($dormi), get_magic_quotes_gpc() ? $loginUsername : addslashes($loginUsername), get_magic_quotes_gpc() ? $password : addslashes($password));

    $update = mysql_query($update_query, $database_iscritti) or die(mysql_error());
    

    $updatedormente = mysql_num_rows($update);

    if ($loginFoundUser && $updatedormente ) {
    $loginStrGroup = "";
    //declare two session variables and assign them
    $_SESSION['MM_Username'] = $loginUsername;
    $_SESSION['MM_UserGroup'] = $loginStrGroup;
    if (isset($_SESSION['PrevUrl']) && false) {
    $MM_redirectLoginSuccess = $_SESSION['PrevUrl'];
    header("Location: " . $MM_redirectLoginSuccess );
    }
    }

    else {
    header("Location: ". $MM_redirectLoginFailed );
    }
    }


  • User

    Ciao a tutti!
    smanettando un pochino sono andato avanti nel mio problema ma mi manca comunque l'ultimo pezzo. In particolare, con il codice che incollo qui sotto mi viene fatto tutto quello che voglio che venga fatto tranne una cosa...indirizzare alla pagina a cui dovrebbe indirizzare alla fine delle varie operazioni....è strano perchè, pur facendo tutte le operazioni non fa l'ultimo passaggio che comunque poi fa se clicco su un'altra pagina del mio sito e poi torno indietro..
    Please help me!!!!!😢

    <?php require_once('Connections/database_iscritti.php'); ?>
    <?php
    // *** Validate request to login to this site.
    if (!isset($_SESSION)) {
    session_start();
    }
    $loginFormAction = $_SERVER['PHP_SELF'];
    if (isset($_GET['accesscheck'])) {
    $_SESSION['PrevUrl'] = $_GET['accesscheck'];
    }
    if (isset($_POST['username'])) {
    $loginUsername=$_POST['username'];
    $password=$_POST['password'];
    $MM_fldUserAuthorization = "";
    $MM_redirectLoginSuccess = "home page_log.php";
    $MM_redirectLoginFailed = "errore iscrizione.php";
    $MM_redirecttoReferrer = false;

    mysql_select_db($database_database_iscritti, $database_iscritti);
    $LoginRS__query=sprintf("SELECT username, password FROM iscritti WHERE username='%s' AND password='%s'",
    get_magic_quotes_gpc() ? $loginUsername : addslashes($loginUsername), get_magic_quotes_gpc() ? $password : addslashes($password));

    $LoginRS = mysql_query($LoginRS__query, $database_iscritti) or die(mysql_error());
    $loginFoundUser = mysql_num_rows($LoginRS);

    if ($loginFoundUser) {
    $loginStrGroup = "";

    //declare two session variables and assign them
    $_SESSION['MM_Username'] = $loginUsername;
    $_SESSION['MM_UserGroup'] = $loginStrGroup;

    mysql_select_db($database_database_iscritti, $database_iscritti);
    $update_query=sprintf("UPDATE iscritti SET dormiente='no' WHERE username='%s' AND password='%s' ",
    get_magic_quotes_gpc() ? $loginUsername : addslashes($loginUsername), get_magic_quotes_gpc() ? $password : addslashes($password));

    $update = mysql_query($update_query, $database_iscritti) or die(mysql_error());
    $updatedormente = mysql_num_rows($update);

    if($updatedormente) {
    if (isset($_SESSION['PrevUrl']) && false) {
    $MM_redirectLoginSuccess = $_SESSION['PrevUrl'];
    header("Location: " . $MM_redirectLoginSuccess );
    }
    }
    }
    else {
    header("Location: ". $MM_redirectLoginFailed );
    }
    }


  • Super User

    else {
    header("Location: ". $MM_redirectLoginFailed );
    }

    è questo che non va?


  • User

    @Il_Rappo said:

    else {
    header("Location: ". $MM_redirectLoginFailed );
    }

    è questo che non va?

    no...è quell'altro...quello nel caso in cui il login riesce...


  • Super User

    header( "Location: $MM_redirectLoginSuccess" );

    Prova così 😛


  • User

    @Il_Rappo said:

    header( "Location: $MM_redirectLoginSuccess" );

    Prova così 😛

    non va lo stesso..............continua a dirmi

    information - headers already sent by (output started at C:\AppServ\www\home page.php:40) in C:\AppServ\www\home page.php on line 45:x


  • User

    @Il_Rappo said:

    header( "Location: $MM_redirectLoginSuccess" );

    Prova così 😛

    Sono riuscito a risolvere da solo..scusa però un'altra cosa..io vorrei che ogni volta che l'utente si logga il valore "no" venga scritto sul database, in modo tale che nello stesso un'altra colonna, che ho impostato con la data corrente, si modifichi e mi segni la data e l'ora dell'ultimo accesso..In questo modo, come ho fatto io, il valore sì si modifica passando da sì a no e correttamente viene inserita la data del passaggio da sì a no, ma negli accessi successivi la data non si riaggiorna....come devo fare???
    Grazie mille!!!!!:ciauz: