estrazione mysql in base al login

iperboreo

Utente Attivo
21 Giu 2012
126
0
16
Buona sera a tutti, sono nuovo e sono felice di far parte del forum di MRWEBMASTER.
Ho un problema e spero mi possiate aiutare:
Ho un sistema di registrazione e login in php e mysql, e vorrei estrarre i dati da una tabella in mysql, ma non tutti i dati,
solamente quelli relativi all'utente loggato al momento.
Vi ringrazio per l'aiuto, attendo fiducioso e grazie a tutti.

Iperboreo (max)
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao iperboreo e benvenuto nel forum.
certo che è possibile, però dipende da come sono strutturate le tabelle del db.
dovresti postare la loro struttura
 

iperboreo

Utente Attivo
21 Giu 2012
126
0
16
Estrazione da mysql in base all'utente

Buon giorno e grazie per la risposta,
vi posto i miei file php se possono essere utili, non son perfetti ma funzionano, sto imparando.

MAIN_LOGIN : questo è form del login

HTML:
<HTML>
<HEAD>
<TITLE>prova</TITLE>
</HEAD>
<BODY>
<table border="0" cellspacing="1" cellpadding="0" width="300" align="center" bgcolor="#cccccc"><tbody>
<tr><form action="checklogin.php" method="post"> <input name="phpMyAdmin" type="hidden" value="V0N0db6Fl62QWr6eBkly75xAGn3" /><td>



<table border="0" cellspacing="1" cellpadding="3" width="100%" bgcolor="#ffffff"><tbody>
<tr>
<td colspan="3"><strong>Member Login </strong></td>
</tr>
<tr>
<td width="78">Username</td>
<td width="6">:</td>
<td width="294"><input id="myusername" name="myusername" type="text" /></td>
</tr>
<tr>
<td>Password</td>
<td>:</td>
<td><input id="mypassword" name="mypassword" type="password" /></td>
</tr>
<tr>
<td></td>
<td></td>
<td><input name="Submit" type="submit" value="Login" /></td>
</tr>
</tbody></table>
</td>
</form></tr>
</tbody></table>
</BODY>

CHECKLOGIN.PHP : QUESTA LA PAGINA DI CONTROLLO DEL LOGIN :

PHP:
<?php
$host="localhost"; // Hostname
$username="basefull"; // Mysql username
$password=""; // Mysql password
$db_name="my_basefull"; //Nome del Database
$tbl_name="registrazione"; // Nome della Tabella
// Procedimento per connettersi al Database

mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
// Nome utente e password inviate attraverso il form

$myusername=$_POST['myusername'];
$mypassword=$_POST['mypassword'];
$sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'";
$result=mysql_query($sql);



// Mysql_num_row is counting table row
$count=mysql_num_rows($result);
// If result matched $myusername and $mypassword, table row must be 1 row
if($count==1){


// Register $myusername, $mypassword and redirect to file "http://www.basefull.altervista.org/home.html"
session_register("myusername");
session_register("mypassword");
header("location:http://www.basefull.altervista.org/home.html");
}
else {
echo "Attenzione username o password errati !  altrimenti procedere con la REGISTRAZIONE";
}

?>
iscritti.php : questa pagina l'ho creata per eseguire la sessione sull'id

PHP:
<?php
session_start();

// controlliamo se è stata inizializzata la sessione
if(isset($_SESSION['id']))
{
  //controllo id con esito positivo
  echo "Benvenuto! Processo di attivazione concluso positivamente!";
header("location:http://www.basefull.altervista.org/home.html");
}else{
  //controllo sessione con esito negativo
  @header("Location: http//www.basefull.altervista.org");
}
?>



QUESTE LE PAGINE PHP INTERESSATE, NON SO COME FORMULARE LA QUERY PER LìESTRAZIONE IN MYSQL,
tipo: $sql = "SELECT * FROM images where id_utente=$session_id";

NEL DATABASE MYSQL ho due tabelle, una è REGISTRAZIONE (contiene i campi ID, nome, cognome, password)
e una table chiamata IMAGES, (contiene i campi ID, nome, id_utente)

POSSONO BASTARE COME INFORMAZIONI? non riesco a mettere in relazione il campo ID_UTENTE della table registrazione con la table IMAGES.

Sono mesi che tento !

Grazie per l'aiuto, buona giornata

Iperboreo
 
Ultima modifica di un moderatore:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
ci do un occhio poi ti so dire, anche se cos' ad occhio e croce c'è ualcosa che non mi torna.
comunque ricordati: quando posti del codice racchiudilo nei relativi tag, barra di formattazione post 2° riga ultime tre iconcine, nell'ordine code html php

dimenticavo:
sino a che lo script non è perfetto non usare il silent (la @) davanti alle istruzioni perchè non vedi eventuali errori
 
Ultima modifica:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
alcuni appunti e domande
non fai i controlli sui dati immessi dal form
l'importanza dei controlli esempio:
se uno nel campo del form scrive
' or password !='
e tu fai semplicemente (io uso il termine brutalmente)
$mypassword=$_POST['mypassword'];
e non fai un controllo la query risulta
....and password='' or password !=''";
uno accede alla pag. riservata senza avere l'autorizzazione
analogo per myusername

poi sempre nella CHECKLOGIN.PHP (dopo aver aggiunto i controlli)
1. io metterei all'inizio anche qui
PHP:
<?php
session_start();
$host="localhost"; // Hostname
$username="basefull"; // Mysql username 
//...
?>
2. tutta la parte della connessione la scriverei in un file a parte chiamato es. connessione.php, per cui
PHP:
<?php
session_start();
require_once "connessione.php";
//...
?>
3. quando verifichi se user e pass sono giusti io estrarre anche l'id del cliente
PHP:
<?php
//....
if($count==1){
 $riga=mysql_fetch_array($result);
 //e avendo messo all'inizio session_start
 $_SESSION['id_utente']=$riga['id'];//da questo nella pag riservata puoi fare la query $sql = "SELECT * FROM images where id_utente=".$_SESSION['id_utente'];
 $_SESSION['nome']=$riga['nome'];//meglio estrarlo che usare quello che viene dal form
//...
?>
4. poi perchè rimandi (se user e pass sono giusti) alla pag. home.html? non dovresti riinviare ad una pag riservata? tra l'altro per usare i dati invitai la pag dovrebbe essere .php
io rimanderei alla home.html (o al form) se user e pass errati

per ora penso che basti
 

iperboreo

Utente Attivo
21 Giu 2012
126
0
16
Ciao, e grazie,
la silent la posso eliminare cosi vedo gli errori, ma non capisco proprio come uno possa riuscire a bypassare i controlli di nome e password. io non riesco, sembra funzionare bene.

Aggiungo il controllo ID oltre che nome e password,

ma per estrarre la foto dell utente loggato come faccio?
ho sbagliato le tabelle vero?
ho REGISTRAZIONE che racchiude tutti gli utenti, e
ho FOTO che racchiude la foto dell utente in questione.

Quando un utente si logga, mi mostra le foto di tutti gli utenti.

Non riesco a risolvere, ma so che sta tutto nelle tabelle in mysql e nella query di estrazione che pongo. giusto?
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
nella tab IMAGES, (contiene i campi ID, nome, id_utente) giustamente per collegarla alla tabella utenti hai messo id_utente, ma cosa contiene il campo nome?
poi dove vuuoi che vengano fuori le immagini dell'utente? hai una pag apposita (ricordati che deve essere .php)?

p.s.
la cross injection è una delle cose più semplici da fare e se non si fanno controlli ti può capitare.
 

iperboreo

Utente Attivo
21 Giu 2012
126
0
16
Ciao borgo italia, non riuscivo a connettermi!
la mia tabella REGISTRAZIONE contiene i campi: ID,nome,cognome,mail
la tabella IMAGES contiene i campi: ID,nome(nome della foto dell'utente), id_utente (sarebbe il campo dove credo debba automaticamente comparire l ID dell utente della tabella REGISTRAZIONE.

le foto appaiono in una pagina php chiamata FOTO. (NELLA QUAL PAGINA HO INSERITO LA QUERY: <?php $query = "SELECT * FROM images WHERE id_utente=".$_SESSION['id']."ORDER By Id"; ?>
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
se in "nome" come detto hai il nome della foto, es. pinco.jpg
ti schematizzo
PHP:
<?php
//....
$cartella="immagini/";//qui dovrai mettere il percorso rispetto allo script o no se sono nella stessa cartella
$query = "SELECT * FROM images WHERE id_utente=".$_SESSION['id']."ORDER By Id";
$ris=mysql_query($query);
if(mysql_num_rows($ris)==0){
	echo "non ci sono immagini";
}else{
	while($riga=mysql_fetch_array($ris)){
		$immagine=$riga['nome'];
		$immagine=$cartella.$immagine;
		echo "<img src=\"$immagine\" width=\"100%\" height=\"100%\" border=\"0\"title=\"quello che vuoi se hai il tit dell'imm\" / ><br />";
	}
}
//.....
?>
 

iperboreo

Utente Attivo
21 Giu 2012
126
0
16
Ciao,
facendo come suggerito, che secondo mè è giusto, mi riporta il seguente errore, invece di visualizzare la foto.
che potrebbe essere? la versione?

"You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ORDER By Id' at line 1 "
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
"You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ORDER By Id' at line 1 "
sei sicuro che nella tabella images il campo si chiami Id e non id o ID?
 

iperboreo

Utente Attivo
21 Giu 2012
126
0
16
Ciao,
si sono sicuro che ho il campo Id e il campo id_utente, scritti cosi, solo Id ha la I maiuscola

quel messaggio di errore di sintassi si riferisce ad un errore di scrittura nel comando, o in un errore nella tabella?
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao,
credo tu debba aggiungere uno spazio prima di ORDER

$query = "SELECT * FROM images WHERE id_utente=".$_SESSION['id']."ORDER By Id";

PHP:
$query = "SELECT * FROM images WHERE id_utente=".$_SESSION['id']." ORDER By Id";

al massimo stampala e vedi cosa ne esce

PHP:
echo $query;
 

iperboreo

Utente Attivo
21 Giu 2012
126
0
16
recupero dato utente loggato

Ciao, no continua a darmi l'errore anche con lo spazio.
Comunque posso togliere " order by ID " ma non va lo stesso.

Partendo da zero, con un form login funzionante, una tabella registrazione ( vi sono i dati degli utenti ) e una tabella images, ( foto dell'utente ),
come fareste a visualizzare la foto di quell utente loggato al momento? cioè se mi loggo io vedo la mia di foto, e non quella di pinco pallino, e pinco pallino se si logga lui deve vedera solo la sua di foto.

Se scrivo " select * from images " mi mostra la mia foto e quella di pinco pallino sia che mi loggo io, sia che si logga lui. Non riesco a venirne fuori, dopo mesi e mesi !
grazie per l'interessamento.
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
La logica di questa query è corretta:

PHP:
$query = "SELECT * FROM images WHERE id_utente=".$_SESSION['id']." ORDER By Id";

prova a stamparla e incolla il risultato in phpmyadmin

PHP:
echo $query;


Anzi scusa, l'ORDER BY è inutile ma non causa problemi
 
Ultima modifica:

iperboreo

Utente Attivo
21 Giu 2012
126
0
16
mi da sempre errore di sintassi, che siano sbagliate le altre pagine, quella con la sesssione id per esempio?
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Sicuro che in $_SESSION['id'] ci sia qualcosa?

puoi postare l'echo della query?
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
e inlotre perima della query metti

PHP:
var_dump($_SESSION['id'] );
e posta quello che risulta

p.s.
hai messo session_start() all'inizio della pag?
 

iperboreo

Utente Attivo
21 Giu 2012
126
0
16
Ciao eccomi,
ho una pagina chiamata iscritti.php a cui accedo dopo aver confermato l iscrizione, ed è in questa pagina iscritti.php che ho la "session id"

Che pagina dovrei avere perchè la session id funzioni?
non ho ben capito cosa devo postare, l'echo della query?

grazie
 

iperboreo

Utente Attivo
21 Giu 2012
126
0
16
estrazione in base al login

qulcuno sa estrarre i dati del solo utente loggato? ogno itente i suoi dati.

grazie
 
Discussioni simili
Autore Titolo Forum Risposte Data
E Progressbar estrazione dati da tabella mySQL Ajax 9
L estrazione dati da mysql in php e salvataggio in cartella del server PHP 51
S Php e mysql, estrazione da una tabella e inserimento in un'altra tabella PHP 14
gandalf1959 Estrazione di un singolo dato da una ricerca mysql PHP 1
N Estrazione Record multipli da MySQL in OO PHP 0
F Estrazione da db MySQL con query molto lunga PHP 13
B Estrazione Tabella MYSQL PHP 2
I estrazione valore da mysql where nome_campo è uguale alla session_id PHP 10
I estrazione immagine in 2 formati da una tabella mysql PHP 3
P Menu a discesa con estrazione dati da datbase mysql PHP 21
L Estrazione immagine database mysql PHP 1
A problema: estrazione dati da query mysql e assegnazione ad una variabile PHP 2
C Estrazione MySql da menù a tendina PHP 42
K Estrazione di più risultati da tabelle correlate PHP 5
L Estrazione dati php Database 6
L Estrazione dati casuali non doppioni MySQL 1
D Chiave unica in estrazione dati da array php PHP 0
L Estrazione valori max su più campi MySQL 4
M [PHP] Estrazione random con nomi presi dal db PHP 22
gandalf1959 Estrazione e visualizzazione del simbolo dell'euro php/mysqli PHP 0
ronny1710 Estrazione Dati Tessera Sanitaria .NET Framework 1
F Estrazione Email di persone selezionate e attive / facebook + invio di massa! Annunci servizi di Social Media Marketing 0
V Estrazione di una singola banda da file multi banda (RGB) con Python Programmazione 0
creatorweb [PHP] estrazione ciclica dati con 2 dati alla volta PHP 2
O [PHP] problema estrazione immagine da db PHP 12
Gigi87 [PHP] Estrazione dati da forum o da social network PHP 1
V [PHP] Estrazione con SQL PHP 1
M [MS Access] Estrazione record multipli MS Access 1
E [PHP] estrazione dati in modo non continuativo PHP 1
S [PHP] estrazione dal DB complicata PHP 7
asevenx [Javascript] Estrazione dal database di un valore in base ad una scelta Javascript 7
P Probelma estrazione stringa PHP 5
C Estrazione Dati da Pagine Gialle PHP 0
L Estrazione Articoli Random da Tabella senza doppioni PHP 1
A Estrazione dati da tabella sql MySQL 27
T Codice per estrazione dati da db PHP 4
F estrazione codice Javascript 0
R Javascript e html - estrazione EXIF da jpg con link per geolocalizzazione google maps Javascript 0
D php estrazione random nomi e senza ripetizione PHP 14
M Problema con estrazione coordinate da google geocoding PHP 1
L Conversione date ed estrazione PHP 0
L estrazione dati per login PHP 0
W Estrazione dati da DB PHP 20
N Problemi estrazione / visualizzazione immagini dal database con PDO PHP 2
L Estrazione dati per settimana. PHP 13
L estrazione dati e immagini in contemporanea PHP 4
B Estrazione Database valori multipli MySQL 4
M estrazione dati casuali da database Database 0
A Evitare estrazione record doppioni PHP 2
C [PHP][MY SQL] - Estrazione dati database tramite form PHP 8

Discussioni simili