pdo con login

luigi777

Utente Attivo
14 Feb 2008
1.086
1
38
42
Massa, Italy
Salve, sapete mica perché non funziona ho meglio funziona per meta ?

Ho una funziona che controlla se c'è la password è questa funziona...ma la parte dell'login che setta le sessioni e fa un while non mi funziona.
La pagina e richiamata da blog.php?a=login ..

e il codice è questo:
PHP:
try {
   
    $login = $db->prepare('SELECT * FROM setting WHERE password=:password');
	$login->bindParam(':password', $password);
	$password = md5($_POST["password"]);
	$login->execute();
	
	
	 if ($login->rowCount() > 0){	
            while($row = $login->fetch()){
	     $_SESSION["login"] = true;
	
	}
	}		
	else
	{
	 $error = "No";
	}
}
catch(PDOException $e){}

uso md5 e il form è questo:
PHP:
<form name="<?php echo $_SERVER["PHP_SELF"]; ?>" method="POST">
<fieldset>
<legend>Login</legend>
<?php
 if(isset($error)){ echo "<p class=\"error\">".$error."</p>";}
if(isset($msg)){ echo $msg;} else {
?><br />
<label for="admin">Admin:</label>
 <input type="password" name="password" value="<?php if(isset($_POST['password'])){echo $_POST['password'];}else { echo $password; }?>" size="50">
<label for="invia"></label>
<input type="submit"   name="submit" value="Login"/>
</fieldset>
</form>
<?php } ?>

non saprei e delle ore che cerco di capire .. ma non so come mai.. poi è la prima volta che faccio con pdo e sqlite.

idee?
grazie mille e buona giornata.
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Intanto ti consiglio di dare una sistemata a tutto lo script:

PHP:
<?php

if ('POST' === $_SERVER['REQUEST_METHOD']) {
    $stm = $db->prepare('SELECT * FROM setting WHERE password = ?');
    $stm->execute(array(md5($_POST['password'])));

    $error = null;

    try {
        $stm->execute();
    } catch (PDOException $e) {
        $error = 'Errore durante il login.';
    }

    if (null === $error) {
        if ($stm->rowCount() > 0) {
            $_SESSION['login'] = true;
        } else {
           $error = 'Credenziali non corrette.';
        }
    }
}

$error_html = $error ? "<p class=\"error\">{$error}</p>" : '';

echo <<<EOF
<form action="{$_SERVER['REQUEST_URI']}" method="post">
    <fieldet>
        <legend>Login</legend>
    </fieldet>

    {$error_html}

    <div>
        <label for="password">Password:</label>
        <input type="password" name="password">
    </div>

    <button type="submit">Login</button>
</form>
EOF;

Così dovrebbe funzionare. Controlla che effettivamente il record sia presente nel database.
 
Ultima modifica:
Discussioni simili
Autore Titolo Forum Risposte Data
L login con pdo/mysql PHP 2
S Problema di login con PDO PHP 2
L pdo (stampare un valore con ritorno a funzione) PHP 0
M [PHP] Interrompere DROP TABLE con PDO PHP 0
M [PHP] Alternativa a datagrid con PDO PHP 6
M [PHP] Creare un menu a tendina con pdo PHP 18
3_g errore con mysql insert in PDO PHP 29
Fredyss redirect a altra pagina php dopo commit su postgresql con PDO PHP 1
neo996sps [PHP e funzioni con PDO] Funzione per generare corpo tabella PHP 1
N Problemi estrazione / visualizzazione immagini dal database con PDO PHP 2
L Paginazione con pdo. PHP 8
borgo italia query con PDO PHP 11
K [PHP] PDO.bindingParam PHP 2
M [PHP] Array di array - PDO PHP 2
W [PHP] Creazione classe PDO PHP 4
F PHP, PDO e visualizzazioni errori e/o eccezioni PHP 3
3_g [PHP] mvc, pdo e classi... PHP 7
F Help-PDO copiare Database MySQL PHP 3
F php PDO mysql connessione(select_db) PHP 3
K Non trovo l'errore! PDO MYSQL UPDATE PHP 2
C [PHP] PDO prepared statement - select query errore PHP 7
ANDREA20 [PHP] Errore $this->db_connection = new PDO PHP 0
CristianB72 Non riesco a connettermi al DB tramite PDO Database 10
MarcoGrazia [PHP][PDO][MySQL] Non registra ma non da nemmeno errori. PHP 0
MarcoGrazia [PHP][PDO] Come connettersi al database Snippet PHP 0
MarcoGrazia [PDO][PHP[MySQL] Piccolo modulo di ricerca in un sito tramite l'operatore LIKE Snippet PHP 1
Marco_88 fetchAll() PDO PHP 13
D Paginazione dati PDO PHP 8
R Organizzazione PHP Mysql PDO PHP 15
M PDO e mysqli PHP 1
MarcoGrazia [PDO][MySQL] L'update non avviene PHP 1
MarcoGrazia [PDO] insert che non inserisce e non da errori PHP 1
Monital PDO e connessioni a più database PHP 4
Monital Da mysql a PDO PHP 3
S PDO accertarsi del avvenimento della query PHP 1
voldemort PHP PDO: non c'ho capito niente PHP 1
L [RISOLTO]PDO if per "non ci sono dati" PHP 8
L pdo e sistema crud PHP 1
L PDO : bindParam PHP 3
B Esercizio PDO PHP 20
B Pdo PHP 6
S Meglio mysqli o PDO ? PHP 2
borgo italia classe pdo PHP 9
M PDO prepare PHP 1
L da mysql a pdo PHP 4
F Cerco Hosting con VECCHIE versioni di php Hosting 0
C Come ricreare questo calcolatore di prezzi a step con woocommerce? WordPress 0
C Segnalo barra laterale di navigazione ASSENTE con Chrome Comunicazioni dallo Staff 5
G Guadagna dalla Vendita di Articoli Sponsorizzati con GuestPostMax.com! Guadagnare col Sito 0
P Hosting multidominio con Plesk Hosting 0

Discussioni simili