codice:
for($i=0; $i<8; $i++) $str .= (string) mt_rand(0,9);
generi un codice di 8 caratteri numerici con i numeri che vanno da 0 a 9
codice:
mysql_query("INSERT INTO tabella VALUES(0, '{$str}', UNIX_TIMESTAMP());");
inserisci il codice nel database
codice:
$last_id = mysql_insert_id();
recuperi l'ultimo id inserito
codice:
echo "<img src="login_code.php?id={$last_id}>";
nella tua sessione di lavoro salvi l'id richiesto
quindi nell'array $_SESSION
dopo di che nello script leggi usando sempre le query e poi scrivi usando le funzioni GD il testo con un tuo font sull'immagine e la visualizzi
nella pagina che riceve il form estrai la riga recuperando l'id dalla sessione corrente
(oppure invece di usare il database potresti benissimo salvare tutto dentro la sessione corrente e ti eviti le query)
confronti il codice inserito con quello generato, se corrisponde ok, altrimenti richiedi il login rigenerando il codice
credo che adesso dovresti essere in grado di realizzare il tutto
inoltre, se non erro, ci dovrebbe essere una pillola sulla cosa