Pensavo ad un modulo per il login.
Ho questa classe che crea la connessione:
Codice PHP:
<?php
Class dbconn {
//proprietà
public $hosting = "http://www142.altervista.org/phpmyadmin/index.php";
public $user= "pranzi";
public $passw = "******";
public $dbname = "my_pranzi";
//function connect();
public function connect(){
$slqlconnect = mysql_connect($this->hosting,$this->user,$this->passw);{
if ($slqlconnect){
echo "connect find".'
';
}else{
$slqlconnect->connect_error;
die ("Connect Error" . $slqlconnect->connect_error );
}
}
}
public function selectdb(){
$slq = mysql_select_db($this->dbname);
if ($slq){
echo "db select".'
';
}
}
}
$conn = new dbconn();
$conn->connect();
$conn->selectdb();
echo "la classe ha gia un ogetto connessione".'
';
?>
In questa invece creo tabella, inserisco utente e password ed ho anche il modulo di login, ovviamente ho fatto tutto nella stessa classe e pagina solo per motivi didattici è chiaro che poi verrà tutto diviso.
Vorrei un parere sul codice soprattutto sulla funzione loginmodule().
Codice PHP:
include "classdb.php";
class addtable{
public function addtableintodb(){
$tablename= "userss";
$mysql = mysql_query("CREATE TABLE $tablename(
id INT (11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
user VARCHAR (20),
pasw VARCHAR (20)
)");
if ($mysql == true){
echo "table created".'
';
}
}
public function trimparam($nome,$pasw){
$hide=$_POST['hide'] = time();
echo $hide;
if ($hide == time()){
trim ($nome = addslashes($nome));
trim ($pasw = sha1($pasw));
$insert = mysql_query("INSERT INTO userss(
user,pasw)
VALUES ('$nome','$pasw')
");
if (!$insert){
echo "impossibile inserire";
}
}else{
echo "già inviato";
}
}
public function displayall(){
$conn = mysql_query ("SELECT * FROM userss");
while ($read = mysql_fetch_array ($conn)){
echo "utente" ."------". $read ['user'].'
';
echo "pasw". "----" .$read['pasw'].'
';
echo "id" . "-----" . $read ['id'].'
' ;
}
}
public function deletebyid($id){
$id = $_POST['id'];
$sl = mysql_query("DELETE FROM userss WHERE id = $id");
}
public function loginmodule($namelog,$passwlog){
$userslog = $_POST['user1'];
$pswlog = $_POST['passw1'];
if (empty ($_POST['user1']) || empty($_POST['passw1'])){
echo "per autenticarsi inserire passw e user";
}else{
$userslog = mysql_query("SELECT user FROM userss WHERE user LIKE '$userslog'");
if(!$userslog){
echo "vai a cercarew altrove";
}else{
while ($read = mysql_fetch_array($userslog)){
echo '<h4>'.$read['user'].'<h4>'.'
';
echo "utente esistente clicca per proseguire".'[url="#"]Prosegui[/url]';
//ovviamente qui verrà un header anziché ahref
}
}
}
}
}
$addtable = new addtable();
$addtable->addtableintodb();
$addtable->trimparam($nome = htmlspecialchars($_POST['user']),$pasw = $_POST['passw']);
$addtable->displayall();
$addtable->deletebyid();
$addtable->loginmodule();
?>
I form che si occupano di tutto
codice:
<form action="cratable.php" method="post">
user*<input type="text" name="user" />
pasw*<input type="password" name="passw" />
<input type="text" name="hide" value="<?PHP echo time(); ?>"/>
<input type="submit" value="INSERT" />
CAncella lista utenti
</form>
<form action="cratable.php" method="post">
delete by id<input type="number" name="id" />
<input type="submit" value="CAncellaperid" />
<h1>Login module</h1>
<form action="cratable.php" method="post">
user*<input type="text" name="user1" />
pasw*<input type="password" name="passw1" />
<input type="submit" value="INSERT" />