Premetto che il quesito rimane lo stesso: dove salvo i dati??
Provo a farti un esempio veloce sulle alternative che ti ho accennato prima:
Scrivere/leggere da file:
codice:
/*per scrivere su file*/
$immagineScelta=$_GET['immagine'];
$utente="tizioCaio";
$nuovoRecord=$utente."|".$immagineScelta."\n";//usi un semplice separatore
$file=fopen('./miofile.txt','a+');
fwrite($file,$nuovoRecord);
fclose($file);
/*per leggere file*/
$utenteRicercato="tizioCaio";
$filename="./miofile.txt";
$fp = fopen($filename, "r");
$aux = fread($fp,filesize($filename));
$righe=explode("\n",$prova);//suddividi il file in righe
foreach ($righe as $riga) {
$valori=explode("|",$riga);//ottieni i singoli valori
if($valori[0]==$utenteRicercato)
echo 'Utente: '.$valori[0].'<br>Immagine scelta: '.$valori[1].'<br>';
}
Scrivere/leggere database:
codice:
/*scrivo file su database*/
/*utilizzo un server MYSQL utilizzando le funzioni PDO*/
//ACCEDO AL MIO DATABASE
try {
$hostname = "xxx";
$dbname = "xxx";
$user = "xxx";
$pass = "xxx";
$db = new PDO ("mysql:host=$hostname;dbname=$dbname", $user, $pass);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
echo "Errore: " . $e->getMessage();
die();
}
$immagineScelta=$_GET['immagine'];
$utente="tizioCaio";
try {
$db->beginTransaction();
$sql = "INSERT INTO miaTabella(utente,immagine) VALUES(:utente,:immagine)";
$stmt = $db->prepare($sql);
$stmt->bindParam(':immagine', $immagineScelta);
$stmt->bindParam(':utente', $utente);
$stmt->execute();
$db->commit();
} catch (PDOException $e) {
$db->rollBack();
echo $e->getMessage();
}
/*leggo database*/
$utente=$_GET['utente'];
$sql = 'select immagine from miaTabella where utente=:utente';
$stmt = $db->prepare($sql);
$stmt->bindValue(':utente', $utente);
$stmt->execute();
if($stmt->rowCount()>0){
$rows=$stmt->fetchAll(PDO::FETCH_ASSOC);
echo "L'utente ".$utente." ha scelto: ".$rows[0]['immagine'];
}
Giusto degli esempi, senza entrare nel merito delle varie funzioni usate nel codice (potrebbero tutte essere migliorate, ovviamente).
Se posso aggiungere un "problema", è il fatto che per ora da quello che hai detto non c'è ombra del tracciamento utente. Ovviamente per associare la scelta all'utente va registrato qualcosa di lui.
Per mostrarti lo stesso il codice ho "finto" di ricevere il suo nome tramite GET oppure l'ho scritto manualmente come stringa.