Suche Orakel bzw. Entscheidungshilfe Script

fruchtgummi

Mitglied
Hallo ihr Lieben,

zu gerne möchte ich auf meiner Homepage ein Orakel bzw. eine Entscheidungshilfe anbieten. Das sieht so aus: Der User gibt eine Frage und drei verschiedene Antwort-Möglichkeiten ein wie z.B. Frage: "Soll ich mir das Programm kaufen? Antworten: Ja - sofort, Ja - lass dir Zeit, Nein.

Der Zufallsgenerator "haut" dann irgendeine Antwort raus.

Ich bin nicht so gut im php programmieren und ich habbe im großen WWW bei Seiten mit freien Downloads nix gefunden! Könnt ihr mir helfen?

Bitte bitte bitte keine Anmerkungen zum Sinn oder Unsinn det Ganzen schreiben. Spart euch die Zeit dafür.

Viele Grüße
fruchtgummi
 
fruchtgummi hat gesagt.:
Bitte bitte bitte keine Anmerkungen zum Sinn oder Unsinn det Ganzen schreiben. Spart euch die Zeit dafür.

mal was ganz was anderes ;)

PHP:
$answers = new array();
$answers[0] = "Ja - sofort";
$answers[1] = "Ja - lass dir Zeit";
$answers[2] = "Nein";
 
echo $answers[rand(0,2)];
 
Hi und DANKE!

den zweiten Teil deines Scripts habe ich nicht verstanden und angewendet, aber dafür funzte der erste Teil. Habe aber, damit es keine Fehermeldung gab, einfach die Zeile
$answers = new array();
gelöscht. Wenn das irgendwelche schlimme Auswirkungen haben sollte oder der zweite Teil doch dringend gebraucht wird, bitte poste mir nochmal. Aber wie gesagt, es klappt ja alles bestens.

Im Formular habe ich die drei Fragetextfelder antwort1, antwort2 und antwort3 genannt.

Code:
<?php
$answers[0] = "$antwort1";
$answers[1] = "$antwort2";
$answers[2] = "$antwort3";

echo $answers[rand(0,2)]; 
?>

Falls sich später mit anderen Formatierungen Probleme ergeben, z.B. wenn ich Fehlermeldungen einbauen will, wenn einer keine Frage oder nicht genügend Antwoten eingibt, kann ich ja noch mal hierrein schreiben. Aber für heute bin ich erst mal glücklich :-)

Viele Grüße
fruchtgummi
 
Von der Frage nach Sinn und Unsinn eines solchen Scripts mal abgesehen wuerde ich aber doch darauf achten, dass Fragen die die Worte "Selbstmord" oder "umbringen" enthalten grundsaetzlich mit "Nein" beantwortet werden.

Ansonste liest vielleicht irgendeine weinende Mutter mal folgenden Abschiedsbrief:

Abschiedsbrief hat gesagt.:
Liebe Mutti,

mein Leben war schrecklich, darum habe ich mit dem Gedanken gespielt diesem ein Ende zu setzen.
Ich konnte mich nicht recht entscheiden und habe das Orakel-Script auf http://www.hassenichgesehn.de zu Rate gezogen. Dieses hat mir auch prompt bestaetigt, dass ich meinem miserablen Leben ein Ende setzen sollte.

Ich wuensch Dir und Papa alles Gute. Weint nicht um mich.

Euer Adalbert
 
*hust* ...wenn du schon den Teufel an die Wand malst sollten aber noch einige andere böse Worte gefiltert werden...

Wo wir grad dabei sind, solltest du dich viell. irgendwo von den Ratschlägen deines Scriptes distanzieren, sonst zieht dich noch irgendeiner für diese Antworten zur Verantwortung! ...klingt komisch, aber so ist das :mad:
 
Hallo Ihr,

doch noch vielen tausend Dank für eure Hinweise zu Sinn und Unsinn. Daran habe ich gar nicht gedacht, da muss ich wohl noch ein paar Sätze unter dem Script platzieren und einige Worte auch wie Mord, morden, töten, killen etc. sperren.

Das liegt mir alles so fern und ich find es schrecklich, dass ich mich in Zusammenhang mit einem lieb gemeinten Script damit beschäftigen muss.

Viele Grüße
fruchtgummi
 
Mehrere Worte auf einmal sperren

Hallo Ihr Lieben,

wie mache ich das, mehrere Worte auf einmal zu sperren? Ich habe nur ein Script in petto, das folgendermaßen aussieht. Muss ich natürlich auch für die Antworten programmieren.

Code:
if ( $frage == "killen") {
echo "$falsch";
exit;
}

$falsch="<Diese Eingabe ist nicht erlaubt<br><br><br>
		<input type=button value=zurück onClick=history.back()>";

Außerdem muss ja egal, ob jemand killen Killen oder KILLEN schreibt, die Fehlrmeldung kommen.

Würde mich sehr freuen, wenn ihr mir weiterhelft.
Viele Grüße
fruchtgummi
 
Tja, man mag es manchmal nicht wahrhaben, aber die Welt ist schlecht... :(

Naja, wie auch immer...

PHP:
$blacklist = Array('killen',
                'töten',
                'selbstmord');
                
foreach($blacklist AS $var => $val)
{
    if(str_pos(strtolower($_POST['eingabe']),strtolower($val)) !== FALSE)
    {
        $blacklisted = 1;
    }
}

if($blacklisted = 1)
{
    //Böse Frage!
}
else
{
    //Alles Okay!
}

...so könnte es funktionieren (ungetestet) ;-)
 
Hallo Zusammen

:) :) Hmmm bin eben erst auf diesen Thread aufmerksam geworden und erkläre hiermit ausdrücklich, dass ich mich von Deiner Seite distanziere ;) ;) ;)
Also falls Deine Ratschläge nicht weiterhelfen bitte nicht an mich verweisen.

Gruß
Das Orakel

P.S.: Das Posting net ernst nehmen. Aber bei dem Thema "Suche Orakel" konnte ich mir einen Reply nicht verkneifen.
 
Zuletzt bearbeitet:
Hallo,
habe das Script umgeschrieben, aber es klappte nicht - folgende Fehlermeldung:

Fatal error: Call to undefined function: str_pos() in /homepages/13/d74304193/htdocs/orakel/random.php on line 15

Kenn mich nicht so gut aus :-/

Code:
<?php
	
$answers[0] = "$antwort1";
$answers[1] = "$antwort2";
$answers[2] = "$antwort3";

echo $answers[rand(0,2)]; 

$blacklist = Array('killen',
                'töten',
                'selbstmord');
                
foreach($blacklist AS $var => $val)
{
    if(str_pos(strtolower($_POST['$frage']),strtolower($val)) !== FALSE)
    {
        $blacklisted = 1;
    }
}

if($blacklisted = 1)
{
echo "Das ist keine gute Frage - das kann ich nicht durchgehen lassen";
//hier wäre ein Zurückbutton gut, aber er hat zuerst in der Zeile einen Fehler gebracht
//<input type=button value=zurück onClick=history.back()>";

}
?>

Wo im ursprünglichen Script "Eingabe" stand, muss ich ja was anderes hinschreiben, z.B. "$frage" vom Formularfeld.

Wenn eine Frage in Ordnung war, d.h. ohne Blacklistworte, soll es keinen Hinweis geben. Sondern nur eine von den drei angegebenen Antworten geben.

Viele Grüße
fruchtgummi
 
Zurück