Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
PHP - Visualizzare X oggetti di X Utente / Login utente
Forum - PHP - Visualizzare X oggetti di X Utente / Login utente

Avatar
alfredom15 (Normal User)
Newbie


Messaggi: 12
Iscritto: 01/03/2014

Segnala al moderatore
Postato alle 20:07
Mercoledì, 23/04/2014
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)) .



Codice sorgente - presumibilmente Php

  1. <?php
  2.  
  3. include ("config.php");
  4.  
  5.  
  6. $nome="";
  7. @$nome=$_COOKIE['utente'];
  8.  
  9.  
  10. if($nome!="")
  11. {
  12. $query = "SELECT uid, name,email, password, crediti,autorizzazione FROM utenti WHERE name = '$nome'";
  13. $result = mysql_query($query, $myconn) or die('Errore...');
  14.  
  15.  
  16.     $resrow = mysql_fetch_row($result);
  17.     $name = $resrow[1];
  18.         $crediti = $resrow[4];
  19.         $aut = $resrow[5];
  20.  
  21.  
  22. if ($aut==1)
  23. {
  24. $grado = "amministratore";}
  25. else
  26. {
  27. $grado = "utente";
  28. }      
  29.  
  30.  
  31. echo "Bentornato $nome<br> ";
  32. echo "$crediti <img src='img/crediti.png'></img><br>";
  33. echo "Hai i privilegi da $grado<br><br>";
  34. echo "Clicca <a href='logout.php'>Qui</a> per disconnetterti";
  35.  
  36. }
  37. else
  38. {
  39.  
  40.  
  41.  
  42. @$nome = $_GET['nome'];
  43. @$password = $_GET['pass'];
  44.  
  45.  
  46. $query = "SELECT uid, name,email, password, crediti FROM utenti";
  47. $result = mysql_query($query, $myconn) or die('Errore...');
  48. $numrows = mysql_num_rows($result);
  49.  
  50.  
  51. $x=0;
  52. $flag="errato";
  53.  
  54. while($x<$numrows&&$flag=="errato"){
  55.  $resrow = mysql_fetch_row($result);
  56. if($nome==$resrow[1]&&$password==$resrow[3]){
  57. $flag="corretto";}
  58. else
  59. {
  60. $flag="errato";
  61. }
  62. $x=$x+1;
  63. }
  64. if($flag=="corretto")
  65. {
  66. $nome = $_GET['nome'];
  67.  
  68. echo "Benvenuto $nome , hai effettuato correttamente l' accesso";
  69. header('refresh: 1; url=home.php');}
  70.  
  71. else
  72.  
  73.  
  74. {
  75. echo "Nome e/o password errati , o non inseriti , redirect al login";
  76. header('refresh: 2; url=login.php');}
  77. }
  78.  
  79. setcookie("utente", @$nome, time()+3600);
  80. setcookie("crediti",@$crediti, time()+3600);
  81. setcookie("grado", @$aut, time()+3600);
  82.  
  83. ?>




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 il 23/04/2014 alle 20:14
PM Quote
Avatar
alfredom15 (Normal User)
Newbie


Messaggi: 12
Iscritto: 01/03/2014

Segnala al moderatore
Postato alle 1:22
Giovedì, 24/04/2014
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)

Codice sorgente - presumibilmente Plain Text

  1. oid---id---nome
  2.  
  3. 78---18---Sapone
  4.  
  5. 79---18---Acqua
  6.  
  7. 80---18---Latte
  8.  
  9. 81---17---Latte
  10.  
  11. 82---16---Latte
  12.  
  13. 83---16---Caffe




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

Codice sorgente - presumibilmente PHP

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



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


Ultima modifica effettuata da alfredom15 il 24/04/2014 alle 1:24
PM Quote