Suche Orakel bzw. Entscheidungshilfe Script

Hallo,

sorry er bringt diese Fehlermeldung:

Parse error: parse error, unexpected ')' in /homepages/13/d74304193/htdocs/orakel/random.php on line 12

Wenn ich das ) lösche, kommt die Fehlermeldung

Parse error: parse error, unexpected ';' in /homepages/13/d74304193/htdocs/orakel/random.php on line 13

Mache ich dieses ; in Zeile 13 raus, bringt er

Parse error: parse error, unexpected T_IF in /homepages/13/d74304193/htdocs/orakel/random.php on line 15

Naja, mit meinen Kenntnissen ist das wahrscheinlich alles Blödsinn, aber manches Rumprobieren hat schon geholfen.


Viele Grüße
fruchtgummi
 
Hallo,

habe die || alle weggemacht, da bringt er

Parse error: parse error, unexpected T_STRING in /homepages/13/d74304193/htdocs/orakel/random.php on line 9

Das ist jetzt diese Zeile bei mir

Code:
strpos(strtolower($_POST['antwort1']),strtolower($val)) !== FALSE

Was meinst du mit das letzte logische?

Viele Grüße
fruchtgummi
 
Oh, sorry..

Ein logisches Oder in PHP wird durch diese Zeichen dargestellt: "||"
Dadurch wird es möglich gemacht mehrere Bedingungen zu setzen und zu sagen, wenn Bedingung1 oder Bedingung2 oder Bedingung3 erfüllt sind, mache dies und das...

PHP:
<?php

$blacklist = Array('killen',
                'töten',
                'selbstmord');
                
foreach($blacklist AS $var => $val)
    if(strpos(strtolower($_POST['frage']),strtolower($val)) !== FALSE ||
       strpos(strtolower($_POST['antwort1']),strtolower($val)) !== FALSE ||
       strpos(strtolower($_POST['antwort2']),strtolower($val)) !== FALSE ||
       strpos(strtolower($_POST['antwort3']),strtolower($val)) !== FALSE)
        $blacklisted = 1;

if($blacklisted == 1)
    echo "Das ist keine gute Idee - das kann ich nicht durchgehen lassen!<br />
    <input type=\"button\" value=\"zurück\" onClick=\"history.back();\" />";
else
    echo $answers[rand(0,2)];
?>
 
Hallo aKraus,

jetzt ist alles in Ordnung! Vielen vielen Dank.

Als ich das Script jetzt ausprobierte, kam mir ein allerletzter Einfall, damit das Script noch mehr von einem Orakel hat. Eigentlich darf man ein Orakel eine Frage nur einmal fragen. Wenn einer jetzt mit der Antwort nicht zufrieden ist und zurückgeht und nochmal auf Anfrage abschicken, ist das nicht der Sinn der Sache.

Kann man da eine Sperre einbauen, das einer die wortwörtlich gleiche Frage nicht noch einmal stellen kann?

Also, ich meine, wenn ich jetzt total nerve und du deine Ruhe damit haben willst, finde ich das in Ordnung. Du sagst, ich soll php selber lernen, aber bis ich sowas kann, puh....

Ich habe mir gestern auch schon zwei Lehrbücher aus der FH (bin kein Student!) ausgeliehen.

Würde mich jedenfalls sehr freuen...
Viele Grüße
fruchtgummi
 
Hm, also das würde ich auf einen bestimmten zeitraum bzw. eine bestimte Anzahl von gespeicherten Fragen beschränken, da sonst die Datenmenge zu groß werden würde.

Du hast theoretisch mehrere Möglichkeiten für diese Datenspeicherung:
- Datenbank (MySQL)
- Textdatei
- Session
- Cookie

Ich weiß nicht ob du eine Datenbank zur Verfügung hast?!

Also ich würde da zu Sessions tendieren. So wird auf dem Server eine Session erzeugt, darin werden dann die gefragten Fragen gespeichert. Ein anderer User kann dieselbe Frage stellen, da diese Sessions nur einem User zugeordnet werden. Der Nachteil daran ist, dass die Session irgendwann vorbei ist und der User dann dieselbe Frage noch einmal stellen kann.

Wobei es auch ein Problem bei solchen Fragen wie "Wird es heut ein schöner Tag?" geben wird, da diese ja täglich gestellt werden könnten ohne wirklich "doppelt" gestellt zuw erden ;-) Ich hoffe du verstehst was ich meine?
 
Hallo,

so kompliziert muss es gar nicht sein.

Das ist nicht in Ordnung:
- einer ist mit der Antwort nicht zufrieden, geht zurück aufs Formular und geht nochmal auf Anfrage abschicken. Die Fragen und Antworten stehen ja noch im Formular.

Das ist völlig in Ordnung:
- einer verlässt die Orakelseite und geht kurz darauf noch einmal drauf
- einer gibt eine zweite Frage ein, lässt sich das Ergebnis mitteilen und stellt danach noch einmal die erste Frage
- einer gibt am selben Tag, in der selben Woche, Monat, Jahr nochmal die selbe Frage ein

Die meisten Leute haben in diesen Fällen sowieso nicht immer das super Gedächtnis und können die Frage gar nicht mehr genau wortwörtlich wiederholen.

Ist es jetzt einfacher?
Viele Grüße
fruchtgummi
 
Zurück