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

    problema con il database

    ciao a tutti,
    ho un problema piuttosto strano ad usare un mio database con php, al fine di provare a creare gestioni. Il database è molto semplice, con le seguenti due tabelle:

    codice:
    CREATE TABLE sessioni 
    ( uid CHAR(32) NOT NULL,
     user_id INT UNSIGNED NOT NULL, 
    creation_date INT UNSIGNED NOT NULL, 
    INDEX(uid) );
    
    CREATE TABLE utenti (
       id INT UNSIGNED NOT NULL AUTO_INCREMENT,
       name VARCHAR(30) NOT NULL,
       surname VARCHAR(30) NOT NULL,
       username VARCHAR(30) NOT NULL,
       password CHAR(32) NOT NULL,
       PRIMARY KEY(id),
       INDEX(username, password)
    );
    ho chiamato il tutto gestione_sessioni.Ora se provo a eseguire il seguente pezzo di codice:

    codice:
    $database=mysql_connect("localhost","root","esameweb"); 
    if (!$database){ die('Could not connect.' . mysql_error()); } mysql_select_db("gestione_sessioni",$database) or die(mysql_error());
     $query=mysql_query( "SELECT * FROM utenti ") or die("Query failed with error: ".mysql_error());
    mi restituisce solo lo username di tutti gli utenti: è come se di tutta la tabella vedesse solo quella colonna e ciò mi impedisce di fare qualsiasi altra interrogazione.
    Vi prego qualcuno può aiutarmi ?

  2. #2
    Con il pezzo di codice che hai postato, mi sembra strano che ti restiutisca gli username degli utenti.

    Non c'è nessun "echo";


  3. #3
    niente scusate ho scritto male io una cosa ok :P il problema è un altro: quando faccio una select del tipo
    codice:
    $query=mysql_query( "SELECT * FROM  utenti WHERE username=$username ")
    e $username contiene il valore di $_POST['nome'] che gli arriva dalla form, nella pagina compare
    Query failed with error: Unknown column 'lallina' in 'where clause'

    lallina è lo username inserito. Ora è chiaro che nn esiste la colonna 'lallina', questo è un valore della colonna username e io vorrei semplicemente verificare se corrisponde a quanto scritto nella form. Il problema è perchè lui crede che sia una colonna??? Devo scrivere la query in modo differente? aiutatemi...

  4. #4
    Scrivi così:

    Codice PHP:
    $query=mysql_query"SELECT * FROM  utenti WHERE username='".$username."' "

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    14
    prova a vedere se così funziona:

    codice:
    $sql="SELECT * FROM utenti WHERE username=".$_POST['nome'];
    $query=mysql_query($sql) or die("Errore");

  6. #6
    ehi grazie così funziona !
    Però ehm avrei un altro problemino :P, una volta che la query è stata fatta ho messo
    codice:
    session_start();
    	$_SESSION['username']=$username;
    	$_SESSION['login']='OK';
    	header('Location:nuova pagina.php');
    ma mi dice

    Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\xampp\htdocs\Progetto_web\login.php:21) in C:\xampp\htdocs\Progetto_web\login.php on line 36

    qualcuno può dirmi che mastriccio ho fatto? Thanks

  7. #7
    Metti un

    Codice PHP:
    ob_start(); 
    all'inizio della pagina

  8. #8
    dunque, ho messo ob_start() all'inizio della pagina che dovrebbe essere richiamata se il login va a buon fine( andava messo lì,no?) e adesso mi dice

    Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\xampp\htdocs\Progetto_web\login.php:21) in C:\xampp\htdocs\Progetto_web\login.php on line 36

    Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\Progetto_web\login.php:21) in C:\xampp\htdocs\Progetto_web\login.php on line 39

    Cosa posso fare ?

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.