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

    log in se nome corrisponde al db

    Codice PHP:
    <?php
    session_start
    ();
    //connessione al database
    include('connect.php');

    if(
    $_POST) {
    effettua_login();
    }

    function 
    effettua_login() {

    // recupero il nome e la password inseriti dall'utente

    $teamtrim(filter_var($_POST['team'], FILTER_SANITIZE_STRING));
    $passtrim(filter_var($_POST['pass'], FILTER_SANITIZE_STRING));
    $passsha1($pass); 

    // verifico se devo eliminare gli slash inseriti automaticamente da PHP

    if(get_magic_quotes_gpc()) {

    $team stripslashes($team);
    $pass  stripslashes($pass);

    }
        
    // verifico la presenza dei campi obbligatori
        
    if(!$team || !$pass) {

    header("location:log_error.php");

    exit; }
        
    // effettuo l'escape dei caratteri speciali per inserirli all'interno della query
        
    $team mysql_real_escape_string($team);
    $pass mysql_real_escape_string($pass);

    // preparo ed invio la query
    $query "SELECT * FROM iscritti WHERE team='$team' AND password='$pass'"
    $result mysql_query($query);
    while(
    $row mysql_fetch_array($result)){
    $attivo $row['attivo']; }

    // controllo l'esito

    if (!$result) {
    die(
    "Errore nella query $query: " mysql_error()); }

    $record mysql_fetch_array($result);
    //questa è la data
    $data date("Y-m-d  H:i:s");

    if(!
    $record && $attivo == 0) {
    header("location:log_error.php");
    } else { 
    $_SESSION['username'] = $team;
    $query "UPDATE iscritti SET last_login ='$data' WHERE team='$team'";
    $result mysql_query($query) or die (mysql_error());
    $query "UPDATE SQUADRA_dati SET online = 1 WHERE team='$team'";
    $result mysql_query($query) or die (mysql_error());
    header("location:log_success.php");
    }
    }
    ?>
    Ciao a tutti...il precedente codice serve per collegare i miei utenti al mio sito...funziona benissimo,ma c'è una piccola cosa che voglio modificare.

    Adesso se il nome utente nel db è "Carlo" e uno si collega scrivendo "carlo" può riuscire a collegarsi.Vorrei che l'unico modo che cui collegarsi sia quello di scrivere correttamente "Carlo"


    Grazie e a presto

  2. #2
    Credo che basta che al posto di "=" nella clausola where utilizza RLIKE BINARY
    ovvero una riga di esempio
    Codice PHP:
    // preparo ed invio la query 
    $query "SELECT * FROM iscritti WHERE team RLIKE BINARY '$team' AND password RLIKE BINARY '$pass'"
    poi non so se ci sia una soluzione migliore...
    saluti
    Davide

  3. #3
    Grazie mille Davide...proprio quello che mi serviva

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    356
    ma perchè RLIKE e non direttamente = ?
    Jekkil

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.