Premetto che ho cercato l'argomento svariate volte ma non sono riuscito a capire granchè.. sono agli inizi e sono stupido!
Allora.. Vorrei realizzare un'area riservata all'interno del mio sito personale (con la quale gestire l'inserimento di alcuni dati) utilizzando esclusivamente php e mysql. Ho letto su questo forum che c'è un modo per farlo con asp ma per adesso non ho nessuna intenzione di intraprendere lo studio di un altro linguaggio (almeno non prima d'aver capito php).
Da quanto poi credo di aver appreso qua e là è che si dovrebbero usare php e mysql soprattutto se si intende gestire l'area riservata per più utenti. e che il meccanismo principale sia quello di registrare inizialmente gli utenti attraverso un form che a sua volta registra i dati nel database, che infine verranno recuperati in fase di login..
vabbè.. nel mio caso (l'unico utente sono io) ho ritenuto opportuno saltare la fase di registrazione tramite form ed ho creato una tabella nel database con tre campi(colonne) e una sola riga.
e
Così per sperimentare ho creato un form che manda i dati inseriti al file login.php che li confronta con quelli della tabella Users e nel caso coincidano li mostra in output. Ovviamente nel caso avesse funzionato mi sarei ingegnato per ottenere un risultato diverso (come il reindirizzamento ad un'altra pagina) però..
Il file login.php è il seguente
Probabilmente di errori ce n'è più d'uno ma io non riesco proprio a vederli.. Probabilmente è proprio il meccanismo che non ha proprio senso. Ma se qualcuno mi indicasse la via.. lo ringrazierei in eterno!!
Allora.. Vorrei realizzare un'area riservata all'interno del mio sito personale (con la quale gestire l'inserimento di alcuni dati) utilizzando esclusivamente php e mysql. Ho letto su questo forum che c'è un modo per farlo con asp ma per adesso non ho nessuna intenzione di intraprendere lo studio di un altro linguaggio (almeno non prima d'aver capito php).
Da quanto poi credo di aver appreso qua e là è che si dovrebbero usare php e mysql soprattutto se si intende gestire l'area riservata per più utenti. e che il meccanismo principale sia quello di registrare inizialmente gli utenti attraverso un form che a sua volta registra i dati nel database, che infine verranno recuperati in fase di login..
vabbè.. nel mio caso (l'unico utente sono io) ho ritenuto opportuno saltare la fase di registrazione tramite form ed ho creato una tabella nel database con tre campi(colonne) e una sola riga.
Codice:
CREATE TABLE Users
(user_id INTEGER AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50),
pass VARCHAR(50)
)
e
Codice:
INSERT INTO Users (name, pass)
VALUES (ciccio, pasticcio)
Così per sperimentare ho creato un form che manda i dati inseriti al file login.php che li confronta con quelli della tabella Users e nel caso coincidano li mostra in output. Ovviamente nel caso avesse funzionato mi sarei ingegnato per ottenere un risultato diverso (come il reindirizzamento ad un'altra pagina) però..
Il file login.php è il seguente
Codice:
<?php
require_once('db_info.inc');
$connessione = @new mysqli($serv,$me,$mep,$datab);
if (mysqli_connect_errno() != 0)
{
$errno= mysqli_connect_errno();
$errmsg=mysqli_connect_error();
echo "Connessione non riuscita: <br/>($errno) $errmsg<br/>\n";
exit;
$connessione->query("SET NAMES 'utf8'");
//difesa SQL Injection fa l'escape dei dati inseriti nel form di provenienza
$nome=trim($_POST['nome']);
$nome=@connessione->real_escape_string($username);
$pswd=trim($_POST['pass']);
$pswd=@connessione->real_escape_string($pswd);
$q_str = "SELECT * FROM Users WHERE 'name'='$nome' AND 'pass'='$pswd'";
$result = $connessione->query($q_str);
if ($result === FALSE)
{
$errno= $connessione->errno;
$errmsg= $connessione->error;
echo "Connessione non riuscita: <br/>($errno) $errmsg<br/>\n";
$connessione->close();
exit;
}
else
{
$row= @$result->fetch_assoc();
echo <<<ROW
<p> riga 1: {$row['user_id']}</p>
<p> riga 2: {$row['name']}</p>
<p> riga 3: {$row['pass']}</p>
ROW;
}
$result->close();
}
$connessione->close();
?>
Probabilmente di errori ce n'è più d'uno ma io non riesco proprio a vederli.. Probabilmente è proprio il meccanismo che non ha proprio senso. Ma se qualcuno mi indicasse la via.. lo ringrazierei in eterno!!
Ultima modifica: