Ciao per ora lo sto usando in locale con apache. Anch'io avevo pensato ai cookie ma non so come fare per usarli.
Ti metto qua il codice del form di compilazione per autenticarsi e inserire dei post.
inserisci.php
Codice PHP:
<?php
require("config.php"); require("funzioni.php");
?>
<html>
<head>
<title><?php echo $titolo ?></title>
<link rel="stylesheet" type="text/css" href="stile.php" />
</head>
<body>
<?php if ($_SERVER["REQUEST_METHOD"] == "GET") {
?>
<h1>Invia un post</h1>
<form method="post" <?php echo "action=\"",
$_SERVER["PHP_SELF"], "\""; ?> >
Username: <input type="text" name="utente" size="10"/>
Password: <input type="password" name="password" size="10"/>
<hr/>
Titolo: <input type="text" name="titolo" size="50"/>
Contenuto:
<textarea name="contenuto" rows="10" cols="60"></textarea>
<input type="submit" value="Pubblica"/>
</form>
<?
}
else
if (!utenteValido($_POST["utente"], $_POST["password"])) {
?>
<h2>Errore</h2>
Non sei autorizzato all'inserimento. Torna al [url="indice.php"]blog[/url].</p>
<?
} else {
registra($_POST["titolo"], $_POST["contenuto"]);
echo "Il post è stato pubblicato. Torna al <a
href=\"indice.php\">Blog</a>.</p>";
}
?>
</body>
</html>
Qui metto le funzioni a cui fa riferiemento il codice (utenteValido,registra e dbConnect)
Codice PHP:
function registra($titolo, $testo) {
$conn = dbConnect();
$titolo = nl2br(htmlentities($titolo));
$testo = nl2br(htmlentities($testo));
$data = date("Y-m-d H:i:s");
$sql = "INSERT INTO posts(data, titolo, testo) VALUES('"
. $data . "', '" . $titolo . "', '" . $testo . "')";
mysql_query($sql) or die("Errore nella query: "
. $sql . "\n" . mysql_error());
mysql_close($conn);
}
function utenteValido($utente, $password) {
$conn = dbConnect();
$sql = "SELECT password FROM utenti WHERE utente = '"
. $utente . "'";
$risposta = mysql_query($sql) or die("Errore nella query: "
. $sql . "\n" . mysql_error());
if (mysql_num_rows($risposta) == 0)
return FALSE;
$riga = mysql_fetch_row($risposta);
mysql_close($conn);
return (md5($password) == $riga[0]);
}
function dbConnect() {
$conn = mysql_connect("localhost","pwlsblog","segreta")
or die("Errore nella connessione al db:" .mysql_error());
mysql_selectdb("pwlsblog")
or die("Errore nella selezione del db:" .mysql_error());
return $conn;
}