ACHTUNG: Code ist noch nicht vollständig, nur für erfahrene Leute!
also... dies hier ist nur ein schnipsel, er muss ncoh erweitert werden, damit er funktioniert...
1. eine tabelle namens vms_uniquekey mit ner spalte namens pruefcode erstellen mit VARCHAR(20), und ner spalte namens ip mit VARCHAR(15)
2. eine datei namens touringcode.php erstellen:
PHP-Code:
<?
@require_once ('lib/functions.lib.php');
@db_connect();
@require_once ('lib/session.lib.php');
header ("Content-type: image/png");
function reg_code($length="6")
{
$pool = "123456789";
//$pool .= "wertzadfghjkyxcvbnm";
//$pool .= "123456789";
$pool .= "WERTZUPADFGHJKYXCVBNM";
$pass_word ='';
for($index = 0; $index < $length; $index++)
{
$pass_word .= substr($pool,(rand()%(strlen ($pool))), 1)."";
}
return $pass_word;
}
$pass_word = reg_code(4);
db_query("UPDATE `".$db_prefix."_kontodaten` SET pruefcode = '".$pass_word."' WHERE uid=".$_SESSION['uid']);
$im = ImageCreate (55,16);
$background_color = ImageColorAllocate ($im, 40, 123, 60);
$text_color = ImageColorAllocate ($im, 255, 220, 80);
ImageString ($im, 4, 4, 1, $pass_word, $text_color);
ImagePNG ($im);
db_close();
?>
wenn man nun in der register.php z.b. beim register-formular ne code-eingabe macht, und das bild einbindet, mit <img src="touringcode.php" border=0>, wird automatisch die spalte inner vms_kontodaten aktualisiert - danach muss nurnoch überprüft werden, ob der code stimmt, z.b. so:
PHP-Code:
<?php
$sql_uk = mysql_fetch_object(db_query('SELECT pruefcode FROM vms_uniquecode WHERE ip="'.$_SERVER['REMOTE_ADDR'].'" LIMIT 1'));
if ($_POST['uniquekey'] == $sql_uk) echo 'iss rüschtich!'; else echo 'iss falsch';
?>
Für die erfahrenen!!!!!
am besten bindet man noch für erfahrene user mit in der tabelle ne spalte zusätzlch mitein, wie z.b. "aktion VARCHAR(255)", und in der touringcode.php nochn parameter mit innen insert-query einfügt und mti übergibt, so dass der link dann so aussieht zum bild: <img src="touringcode.php?aktion=register" border=0 />...
somit ist dann sicher, das z.b. bei der registrierung ne andere aktion ausgewählt wird, weil wenn de ruser z.b. gleichzeitig auf "regster" und auf "forgot pw" klickt, bekommt er ja 2 vershciedene codes, aber nur einer iss dann rcihtig und das iss ja dumm^^
PS: Wer das addon aber schreibt dann, dann bitte mit verweis auf mich (Sebastian Hoinkes [SebbyPHM]) und auf meine webseite www.totaltoll.de - mehr nicht^^
viel spaß wünsch ich euch damit^^