Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Problema query e if...else

    Buonasera a tutti, vi espongo il mio problema, ho bisogno del vostro aiuto, non riesco a trovare la soluzione.
    La mia pagina index è dotata di controllo login e strutturata in modo tale che se un utente è loggato può vedere certe cose, se non loggato invece ne vede altre.

    Fin qui nessun problema.

    Io vorrei ora aggiungere una parte che, se loggato, mi fa una select dell' "user_level" dell'utente loggato e se il valore è C allora vede certe parti, altrimenti ne vede altre.

    Qui di seguito vi posto il codice per rendere più chiaro il tutto, la parte in grassetto è quella incriminata, so che sintatticamente è sbagliata, infatti vi chiedo un aiuto:

    <?php
    session_start();
    require('connessionedb.php');

    if(!isset($_SESSION['log']))
    {
    $_SESSION['log'] = 0;
    }
    if(!isset($_SESSION['username']))
    {
    $_SESSION['username'] = "Non Registrato";
    }


    if ($_SESSION['log'] != 1)
    {
    // Se non lo è procediamo come segue:
    if(isset($_POST['pass']) && isset($_POST['user']))
    {
    $qry_pass = md5($_POST['pass']);
    $qry_user = mysql_real_escape_string($_POST['user']);
    $query = "SELECT * " .
    "FROM user " .
    "WHERE user_username = '$qry_user' " .
    "AND user_password = '$qry_pass' " .
    "AND user_password = '$qry_pass' " .
    "AND user_reg = 1 ";
    $results = mysql_query($query) or die (mysql_error());

    if(mysql_num_rows($results) != 0)
    {
    $row = mysql_fetch_array($results);
    $_SESSION['log'] = 1; // utente logato
    $_SESSION['username'] = $row['user_username'];
    }
    }
    }
    echo "<span style=\"color:red\">Utente on-line: " . $_SESSION['username'] . "</span>

    "
    ?>

    .................
    .................
    .................
    ................


    <?php
    if ($_SESSION['log'] != 1)
    {
    ?>


    .................
    .................
    .................
    .................



    <?php
    } else {
    $query = "SELECT user_level " .
    "FROM user " .
    "WHERE user_username = ---->utente loggato<----";
    $results = mysql_query($query) or die (mysql_error());
    if ($results='C'){

    ?>



    ................
    ................
    ................
    ................



    <?php
    } else {
    ?>



    .............
    ............
    ............
    ............



    <?php
    }
    ?>
    </body>
    </html>


    grazie per l'attenzione

  2. #2

  3. #3
    Vi prego qualcuno mi aiuti, non riesco ad uscirne, il problema è nella parte in grassetto!!!

    Cosa sbaglio?


  4. #4
    non si capisce dove iniziano e dove terminano le pagine php.

    Se vai ad una pagina nuova devi aprire la sessione con session_start e poi utilizzare il valore che hai messo in sessione per memorizzare l'utente.

    codice:
    <?php
    session_start();
    if(!empty($_SESSION['username']) and $_SESSION['log'] == 1)   {
    
    tuo codice
    .....
    ....
    ....
    ....
    } else {
    $query = "SELECT user_level FROM user
                WHERE user_username = '{$_SESSION['username']}' ";
    
    $result = mysql_query($query) or die (mysql_error());
    
    $row = mysql_fetch_assoc($result);
    
    if ($row['user_level'] == 'C')  {
    ?>
    $result contiene il resource id#, e per comparare un risultato nella if ci vuole il doppio ==

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

  5. #5
    grazie, e già il problema era proprio il doppio uguale!!!

    Grazie mille,

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 © 2024 vBulletin Solutions, Inc. All rights reserved.