Du bist nicht eingeloggt! Möglicherweise kannst du deswegen nicht alles sehen.
  (Noch kein mods.de-Account? / Passwort vergessen?)
Zur Übersichtsseite
Hallo anonymer User.
Bitte logge dich ein
oder registriere dich!
 Moderiert von: Che Guevara


 Thema: Gehirnsalat ( wir unter uns )
« erste « vorherige 1 ... 2679 2680 2681 2682 [2683] 2684 2685 2686 2687 ... 6582 nächste » letzte »
erste ungelesene Seite | letzter Beitrag 
Wahooka

AUP Wahooka 21.09.2012
Frage Detail
 
Code:
if (isset($_POST['password'])){
$user_eingabe = $_POST['password'];
} elseif ($_COOKIE['user_progress']) {
$user_eingabe = $_COOKIE['user_progress'];
} else {
$user_eingabe = '';
}

$loesung = array(1 => "TriggerTG",2 => "SirSiggi",3 => "Zensiert",4=> "Wahooka");

	foreach($loesung as $key => $loesungswort) {
		if ($user_eingabe == $loesungswort){
			$wert_fuer_cookie = $loesungswort;
			$_GET['id'] = 1+ $key;
			}
			else Ja was?????
	}
21.03.2008 11:00:58  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Y2Keeper

Y2Keeper
Hier ist eine Variante die das Script einfach abwuergt...

if(password != 'the right answer')
{
 die('fail!');
}


/alternativ, aber das funktioniert nur wenn das Script noch nichts ausgegeben hat:

if(password != 'the right answer')
{
 header('Location: previousPage.php'); //redirect
 exit;
}
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Y2Keeper am 21.03.2008 11:09]
21.03.2008 11:06:50  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Zensiert

AUP Zensiert 28.11.2007
 
Zitat von Wahooka

 
Code:
if (isset($_POST['password'])){
$user_eingabe = $_POST['password'];
} elseif ($_COOKIE['user_progress']) {
$user_eingabe = $_COOKIE['user_progress'];
} else {
$user_eingabe = '';
}

$loesung = array(1 => "TriggerTG",2 => "SirSiggi",3 => "Zensiert",4=> "Wahooka");

	foreach($loesung as $key => $loesungswort) {
		if ($user_eingabe == $loesungswort){
			$wert_fuer_cookie = $loesungswort;
			$_GET['id'] = 1+ $key;
			}
			else Ja was?????
	}




Da du ja das aktuelle Level ueber die id mitschickst, koennte man das evtl. besser so machen :x
Ich hab das damals ein wenig dumm konstruiert :/

 
Code:
if ($user_eingabe == $loesung[$_GET['id']]) {
	$wert_fuer_cookie = $loesung[$_GET['id']];
	$_GET['id'] = 1+ $key;
}
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Zensiert am 21.03.2008 11:14]
21.03.2008 11:13:31  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Wahooka

AUP Wahooka 21.09.2012
Pfeil ... :-/
Weder das eine noch das andere kann funktionieren, da ersteres ja irgendwo den Aufbau der Seite kappt (also gar nichts mehr darstellt oder am Ende der Seite ein Fail! reinknüppelt) und das Zweite ja eine redirection braucht, die ich nirgendwoher erhalten kann. Wenn ich jetzt bei ?id=34 bin, soll er einfach bei 34 bleiben und nicht irgendwo hin redirecten - das er bei 34 ist, weiß er ja nicht.

Oder so ähnlich :D
21.03.2008 11:18:53  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Renga

renga
moin.
21.03.2008 11:21:19  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Wahooka

AUP Wahooka 21.09.2012
Pfeil Argh
Jetzt beginnt er (ohne Cookie) bei id=2 und springt bei richtiger oder falscher Antwort munter in den ids rum, Kris... :ugly:
21.03.2008 11:22:39  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Renga

renga
kannst mal deinen kompletten quelltext nopasten, ist en wenig schwer das nachzuvollziehen. :x
21.03.2008 11:25:46  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Wahooka

AUP Wahooka 21.09.2012
... Nopaste - Lieber Dopaste!
Kris nimmt sich der Sache gerade an und "nopasten" ist für mich ein unbekanntes Wort, aber danke für die Hilfe! :-x
21.03.2008 11:28:20  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Renga

renga
 
Zitat von Wahooka

Kris nimmt sich der Sache gerade an und "nopasten" ist für mich ein unbekanntes Wort, aber danke für die Hilfe! :-x



Na ...
21.03.2008 11:29:31  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Wahooka

AUP Wahooka 21.09.2012
... Nett
http://nopaste.planerd.net/1553

So? Fehlt dann nur noch der jeweilige id-include, in dem sich die Frage und das Antwortformular befinden.
21.03.2008 11:33:08  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Renga

renga
Was hat dir eigentlich an der alten version nicht gefallen? Bzw. was wolltest du jetzt aendern? Das auf eine falsche Eingabe reagiert wird?
21.03.2008 11:45:22  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Wahooka

AUP Wahooka 21.09.2012
Pfeil Bug
Was heißt hier nicht gefallen? Es ist einfach so, daß er bei einer falschen Formulareingabe, also einem falschen Passwort, einfach auf den Index zurückspringt - so war das eigentlich nicht gedacht.
21.03.2008 11:48:59  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
kinglui69

AUP kinglui69 10.12.2007
hai gays
21.03.2008 12:00:33  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
SirSiggi

SirSiggi
Boah, scheiss auf die Weltwirtschaft, der Dollerkurs darf ruhig nochmal ein ganzes Stück fallen!
21.03.2008 12:02:34  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
kinglui69

AUP kinglui69 10.12.2007
wie kommste denn jetzt da drauf? :X
brauchste was aus amiland?
21.03.2008 12:23:43  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
SirSiggi

SirSiggi
Brauchen nicht unbedingt. Aber es gibt so ein paar Dinge die schon sehr verlockend sind. Schon beim aktuellen Dollarkurs.
21.03.2008 12:30:36  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Renga

renga
...
21.03.2008 12:52:31  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
rABBI

Arctic
 
Zitat von Wahooka

Ohne jetzt nochmal auf den Code geschaut zu haben, die Frage, ob ein if password = false do nothing existiert?


if !($password == $richtige_lösung) {}

aber das will man nicht. zum grundgedanken dahinter: beim imperativen programmieren sagt man der maschine, was sie tun soll und wenn man schweigt, dann geht die maschinen in nen ruhemodus oder kümmert sich um was anderes. fakt ist jedenfalls, dass man der maschine immer sagt, was sie tun soll und nie, was sie lassen soll. geht auch schwer. man müsste ja blacklists von handlungen und befehlen erstellen, die dann nicht ausgeführt werden dürften. also sag der maschine, was sie tun soll (richtiges passwort? neue seite!) und den rest erledigt das ding von alleine.

ich glaub, du willst dir auch erstmal in pseudocode ne struktur aufschreiben. das sieht reichlich chaotisch aus, was du da schrobst.

 
Code:
if isset($cookie) -> $level = $cookie else $level = 1
if $userpasswort = passwortliste[$level+1] -> $cookie = $cookie + 1, $level = $level +1
include($level)


so in der art sollte das grundkonzept sein. standardmäßig zeigst du das erste rätsel an, wenn ein cookie gesetzt ist, dann eben das höhere. und wenn ein richtiges passwort zum aktuellen level übergeben wurde, dann erhöhe den aktuelle level (und cookie) und zeig das zugehörige rätsel an. immer erstmal schlicht anfangen und dann ausschmücken, sonst verfranst man sich viel zu leicht.
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von rABBI am 21.03.2008 12:55]
21.03.2008 12:54:06  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
TriggerTG

TriggerTG
Hi. Ich geh ins Bett. Gute Nacht.
21.03.2008 13:41:17  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
rABBI

Arctic
ja nee is klar, ne. und ich dachte, ich hätte nen kaputten rythmus.
21.03.2008 14:16:18  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Mobius

AUP Mobius 30.12.2023
 
Zitat von Mobius

So, Vorschläge sind raus. Hoffentlich nehmen sie die Vorschläge, dann muss ich keine neuen machen.



Abgelehnt und auf Vorgaben verwiesen. Wollen eine riesengroße Bilddatei als Hintergrundbild...
21.03.2008 14:22:53  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Wahooka

AUP Wahooka 21.09.2012
... \o/
Juhu, es klappt jetzt!

Riddle-Skelett

Kris hat richtig gute Arbeit geleistet! Dann werde ich beizeiten mal mit dem Content beginnen.

Danke noch für den Kommentar, rabbi.
21.03.2008 14:32:34  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
rABBI

Arctic
kannst ja noch einbauen, dass man bescheid bekommt, dass die antwort falsch war.
und im zweifelsfalle würde ich mal über case insensitive und levenshtein nachdenken.
21.03.2008 14:42:56  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Wahooka

AUP Wahooka 21.09.2012
... hmm
 
Zitat von rABBI

kannst ja noch einbauen, dass man bescheid bekommt, dass die antwort falsch war.


Das werde ich vielleicht noch angehen - klingt ja nicht so kompliziert.
 
Zitat von rABBI

und im zweifelsfalle würde ich mal über case insensitive...


Geht das über eine einfache RegEx-Kiste?
 
Zitat von rABBI
... und levenshtein nachdenken.


DAS klingt ja superkompliziert. :-o
21.03.2008 15:28:51  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Zensiert

AUP Zensiert 28.11.2007
 
Zitat von Wahooka

 
Zitat von rABBI

kannst ja noch einbauen, dass man bescheid bekommt, dass die antwort falsch war.


 
Zitat von rABBI

und im zweifelsfalle würde ich mal über case insensitive...


Geht das über eine einfache RegEx-Kiste?



Das einfachste waere wohl, einfach die Usereingabe und die Antworten in lowercase (strtolower) umzuwandeln und dann zu vergleichen.
21.03.2008 15:30:59  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Wahooka

AUP Wahooka 21.09.2012
Pfeil kk
 
Code:
$loesungen = array(
	1 => 'TriggerTG',
	2 => 'SirSiggi',
	3 => 'Zensiert',
	4 => 'Wahooka'
);
$loesungen = strtolower($loesungen);

/*....und...*/

$userEingabe = strtolower($userEingabe);


Oder muss ich die loesungen-Variable anders umwandeln, weil sie ein array ist?
21.03.2008 15:37:07  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
rABBI

Arctic
if (levenshtein(strtolower($usereingabe),strtolower($lösung))<=2) { return "sieg!"; }
sollte wohl ganz gute ergebnisse bringen.
21.03.2008 15:41:26  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Zensiert

AUP Zensiert 28.11.2007
 
Zitat von Wahooka

 
Code:
$loesungen = array(
	1 => 'TriggerTG',
	2 => 'SirSiggi',
	3 => 'Zensiert',
	4 => 'Wahooka'
);
$loesungen = strtolower($loesungen);

/*....und...*/

$userEingabe = strtolower($userEingabe);


Oder muss ich die loesungen-Variable anders umwandeln, weil sie ein array ist?



Weil es ein Array ist musst du das mit

$loesung = strtolower($loesungen[$_SESSION['level']]);

machen und dementsprechend auch den if-Bedingung abaendern
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Zensiert am 21.03.2008 15:45]
21.03.2008 15:44:43  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
rABBI

Arctic
anmerkung: man will so sachen wie "strtolower" normalerweise nur für vergleiche heranziehen und nicht auf komplette arrays anwenden. grund nummer eins: performance. warum bei jedem scriptaufruf 200 items konvertieren anstatt nur die beiden zu vergleichenden und grund nummer zwei: man verliert information. das kann man bewusst machen, weil man sich eine unschärfe bei ner vergleichsoperation wünscht, aber man will sich das unterscheidungsmerkmal von informationen eigentlich immer so lange wie möglich aufheben.
21.03.2008 15:44:57  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Wahooka

AUP Wahooka 21.09.2012
Pfeil =>
Guter Ansatz.

Wenn ich aber aus:
if ($userEingabe == $loesungen[$_SESSION['level']]) {
...ein:
if (levenshtein(strtolower($userEingabe),strtolower($loesungen[$_SESSION['level']]))<=2) {
...mache, kommt er nicht mehr mit dem Level parat.

Er zieht sich schliesslich aus der Position des Antwort-arrays die Level-ID heraus.
21.03.2008 15:49:03  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
 Thema: Gehirnsalat ( wir unter uns )
« erste « vorherige 1 ... 2679 2680 2681 2682 [2683] 2684 2685 2686 2687 ... 6582 nächste » letzte »

mods.de - Forum » Webdesign & Coding » 

Hop to:  

Thread-Tags:
Mod-Aktionen:
23.08.2018 12:40:15 TriggerTG hat den Thread-Titel geändert (davor: "Wiederbelebungssalat")
09.03.2017 08:55:19 TriggerTG hat den Thread-Titel geändert (davor: "Gehirnsalat")
21.05.2014 16:08:26 Redh3ad hat den Thread-Titel geändert (davor: "Hochzeitssalat")
10.05.2014 09:43:28 Redh3ad hat den Thread-Titel geändert (davor: "Gehirnsalat")
19.10.2013 21:43:03 [DK]Peacemaker hat diesen Thread repariert.
04.10.2013 20:11:45 TriggerTG hat den Thread-Titel geändert (davor: "Damiferkel-Salat")
29.08.2013 19:59:27 [DK]Peacemaker hat den Thread-Titel geändert (davor: "HerpDerpSalat")
19.08.2013 10:04:19 TriggerTG hat den Thread-Titel geändert (davor: "SirSiggiSalat")
13.08.2013 18:43:13 TriggerTG hat den Thread-Titel geändert (davor: "Kamelwochensalat")
05.08.2013 09:47:37 TriggerTG hat den Thread-Titel geändert (davor: "Gehirnsalat")
24.06.2013 16:30:39 TriggerTG hat den Thread-Titel geändert (davor: "cmssalat")
20.06.2013 12:58:35 TriggerTG hat den Thread-Titel geändert (davor: "Krissalat")
13.06.2013 10:59:25 TriggerTG hat den Thread-Titel geändert (davor: "Gehirnsalat")
08.06.2013 11:28:06 TriggerTG hat den Thread-Titel geändert (davor: "rABBIntensalat")
03.06.2013 09:56:52 TriggerTG hat den Thread-Titel geändert (davor: "Gehirnsalat")

| tech | impressum