Random-Key im Array und Werte für DB

Begonnen von Breaker, 02 Januar 2008, 22:36:37

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

Breaker

Hi ihrs......frohes neues :)


Etwas zum Problem :

Ich habe ein Template für eine HTML-Mail, diese Mail solll 5 verschiedene Links enthalten, wovon nur 1 richtig ist, der richtige Link hat eine andere Farbe als die falschen Links
Für jeden Link wird ein Code generiert, welcher auch in die DB abgelegt wird, der richtige Code kann festgestellt werden, jedoch die 4 falschen Link kann ich nicht zuordnen, alle bisherigen Versuche sind gescheitert :(

So sieht der Code aus:



So sieht es inzwischen aus :
Zitat
         $temp_color_fake = 'black'; // farbe fue fake-links
         $temp_color_tan = 'red'; // farbe fuer richtigen link
         $random_link = mt_rand(1,5); // zufallszahl fuer position des richtigen links generieren
         for($i = 1; $i <= 5; $i++) {
            srand(microtime()*1000000);
            $tan[$i] = substr(strtoupper(md5(microtime()).$user.mt_rand(9999,999999).$k_code),0,32); // codes fuer die links erstellen, 32 Zeichen laenge
            $link[$i] = $projekturl.'/pwc_bestaetigen.php?user='.pwcStripSlashesFromSQL($user).'&pwcTan='.$tan[$i]; // link erstellen
            if($random_link == $i) {
               $pwcTan = $tan[$i]; // richtigen code zuweisen
               $temp_vorlage = str_replace('{FONT_COLOR'.$i.'}', $temp_color_tan, $temp_vorlage); // und in das mail-template schreiben (mit font-color fuer richtigen link)
            } else {
               $fake[$i] = $tan[$i]; // wie kann ich die restlichen 4 links richtig sortieren und auch zuweisen ?
               $temp_vorlage=str_replace('{FONT_COLOR'.$i.'}', $temp_color_fake, $temp_vorlage); // in das mail-template schreiben (mit font-color fuer falschen links)
            }
            $temp_vorlage=str_replace('{MAIL_LINK'.$i.'}', $link[$i], $temp_vorlage); // links ins template schreiben
         }

Der richtige Link wird mit "pwcTan" zugewiesen....wie mache ich das aber mit den restlichen 4 Links ?

Eine simple Zuweisung wie :

$link1 = $tan[1];
$link2 = $tan[2];

usw. funktioniert nicht, da der richtige Link immer an einer anderen Position im Array ist

Linux ist wie guter Sex, man kann es beschreiben oder drüber reden,
man weiß erst was es bedeutet, wenn man es erlebt hat.

StegRene

Ich bin kein Programmierer, aber vielleicht ist es der richtige Denkanstoss:

Wenn Du den richtigen Link zuordnen kannst, also weisst, wo er im Array liegt, dann musst Du doch auch die anderen Links zuordnen können? Oder fehlt mir da jetzt irgendwo der Faden?

Du müsstest doch nur eine Schleife von 1-5 laufen lassen, und da den richtigen Link "rausfischen".....

Breaker

#2
Das ist das Problem, die 4 falschen Codes werden zwar in die DB geschrieben, lassen sich aber nicht genau bestimmen, welcher Code jetzt für $link1, $link2 usw. ist, dort habe ich aktuell immer das Problem, das 1 falscher Link genauso ist wie der richtige...also im Grund habe ich 3 falsche und 2 richtige Links, was natürlich nicht passieren darf ;)

Es werden zwar 5 unterschiedliche Codes generiert und auch angezeigt, jedoch stimmt die Reihenfolge, wie sie in die DB geschrieben werden nicht mit der im Bild überein:

http://www.money-island.eu/images/forum/pwc_114/fakelinks1.png
Linux ist wie guter Sex, man kann es beschreiben oder drüber reden,
man weiß erst was es bedeutet, wenn man es erlebt hat.