Oppure

Loading
23/04/14 18:07
alfredom15
Dopo aver iniziato ad apprendere le basi del mysql+php , sto facendo alcuni siti di prova e mi sono sorti due problemi, seppur non troppo complessi (credo):

1. Nel sito che sto attualmente progettando c'è un negozio con determinati oggetti (inseriti in una tabella "oggetti dal database), ogni utente ,tramite crediti , può acquistare questi oggetti . Ora il problema è il seguente:
Come faccio a creare una pagina in cui mostro tutti gli oggetti acquistati dall' utente connesso?

2. Per effettuare il login ho messo due semplici form in html che attraverso il get , mandano i valori ad una pagina php (cioè la home) che a sua volta fa un semplice confronto tra i campi del database e i valori inseriti.


Vi posto tutto il codice di home.php (all' inizio controllo attraverso i cookie se l' utente ha già effettuato l'accesso o se deve/si e' appena registrato (ditemi se esiste un modo più semplice o comunque più efficace)) .



<?php

include ("config.php");


$nome="";
@$nome=$_COOKIE['utente'];


if($nome!="")
{
$query = "SELECT uid, name,email, password, crediti,autorizzazione FROM utenti WHERE name = '$nome'";
$result = mysql_query($query, $myconn) or die('Errore...');

 
    $resrow = mysql_fetch_row($result);
    $name = $resrow[1];
	$crediti = $resrow[4];
	$aut = $resrow[5];


if ($aut==1)
{
$grado = "amministratore";}
else
{
$grado = "utente"; 
}	


echo "Bentornato $nome<br> ";
echo "$crediti <img src='img/crediti.png'></img><br>";
echo "Hai i privilegi da $grado<br><br>";
echo "Clicca <a href='logout.php'>Qui</a> per disconnetterti";

}
else
{



@$nome = $_GET['nome'];
@$password = $_GET['pass'];


$query = "SELECT uid, name,email, password, crediti FROM utenti";
$result = mysql_query($query, $myconn) or die('Errore...');
$numrows = mysql_num_rows($result);


$x=0;
$flag="errato";

while($x<$numrows&&$flag=="errato"){
 $resrow = mysql_fetch_row($result);
if($nome==$resrow[1]&&$password==$resrow[3]){
$flag="corretto";}
else
{
$flag="errato";
}
$x=$x+1;
}
if($flag=="corretto")
{
$nome = $_GET['nome'];

echo "Benvenuto $nome , hai effettuato correttamente l' accesso";
header('refresh: 1; url=home.php');}

else


{
echo "Nome e/o password errati , o non inseriti , redirect al login";
header('refresh: 2; url=login.php');}
}

setcookie("utente", @$nome, time()+3600);
setcookie("crediti",@$crediti, time()+3600);
setcookie("grado", @$aut, time()+3600);

 mysql_close() 
?>



Il tutto mi sembra abbastanza "instabile" a livello di sicurezza , qual' è il modo più sicuro e/o utilizzato per login ?



-Spero di essermi spiegato bene , e grazie in anticipo- :k:
Ultima modifica effettuata da alfredom15 23/04/14 18:14
aaa
23/04/14 23:22
alfredom15
Sono riuscito a trovare una soluzione (Lo scrivo in modo che se a qualcuno che raggiunge il sito dovesse servire , può essergli d' aiuto) :

E' molto semplice, basta creare una tabella nel database con un campo "id" in cui viene inserito l' id dell utente che ha acquistato l' oggetto . ("oid" ovviamente e' l' id dell oggetto)

oid---id---nome 

78---18---Sapone

79---18---Acqua

80---18---Latte

81---17---Latte

82---16---Latte

83---16---Caffe



Dopo , quando andiamo a visualizzare , usiamo la funzione WHERE, in questo modo

$id = $_COOKIE['id'];
echo "<center><br><hr> I TUOI OGGETTI </CENTER>";
$query = "SELECT  nome FROM o_utenti WHERE id = '$id' ";
$result = mysql_query($query, $myconn) or die('Errore...');



Qualcuno può aiutarmi sulla seconda domanda? Grazie :k:

Ultima modifica effettuata da alfredom15 23/04/14 23:24
aaa