Ein php/mysql Computer erstellen
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
alt
antwort
break
buchstabe
computer
computersystem
control
dan
eingabeformular
erkennung
formular
fragen
freundliche frager
manual
netter versuch
quellen
schleifen
schreibung
spalten
textfeld
-
Ich m?chte gerne ein php/mysql computer coden.
Doch wie soll ich das machen? Mit schleifen oder wie?
Also ich m?chte das man auf eine Startseite kommt wo dan steht:
Willkommen,
was m?chtest du wissen?
[hier dann ein textfeld]
Wenn man jetzt bsp. eingibt: wie hei?t du?
Dann soll das script ausgeben ich habe keinen Namen, binn nur ein computer.
Wenn man aber eingibt : wie alt bist du?
Dann sagt das script ich wurde 2005 gecodet rechne selber.
Wenn man dan eingbt: du bl?der computer
Dann sagt d?s script: Ich kann nicht bl?d sein, bin nur eine maschine!
Wie soll ich das machen? Mit Schleifen? Suchen in mysqldatenbanken?
Vielen dank
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
genau so mit if schleifen w?rde es am einfachsten zu machen gehen...
du k?nntest auch mit ner datenbank arbeiten,
dann pr?fen ob der datensatz z.B. ne Frage nach Alter beinhaltet dann soll er das und das ausgeben -
wie sieht den so eine if schleife dan aus? oder die mysql variante?
Was ist aber wenn ich in der if schleife alles klein schreibe aber der user nomen gro? schreibt? Dann wird ein fehler ausgegeben. Genau das will ich nicht. -
so doll kennsch mich leider auch net aus, auf jedenfall kannst du es erm?glichen das die usereingabe automatisch in kleinbuchstaben umgewandelt wird, daher ist die sache schon erledigt mit dem gro? und kleinschreiben.
dann z.B.
<?php
if ($i == 0) {
echo "i ist gleich 0";
} elseif ($i == 1) {
echo "i ist gleich 1";
} elseif ($i == 2) {
echo "i ist gleich 2";
}
oder so:
switch ($i) {
case 0:
echo "i ist gleich 0";
break;
case 1:
echo "i ist gleich 1";
break;
case 2:
echo "i ist gleich 2";
break;
}
?>
meine Quelle:
http://manuals.phpforum.de/php/control-structures.switch.php
-
Hallihallo!
Erst mal: Es gibt keine If-Schleifen!
http://www.php-faq.de/q/q-terminologie-if.html
Des Weiteren:
Ein solches Frage-Antwort-System l?sst sich in seiner primitivsten Form durch einen Haufen von vorgefertigten Antworts?tzen realisieren. Das Eingabeformular muss nach bestimmten Stichw?rtern ausgewertet werden. Der Antwortsatz, dessen Stichwortliste am besten zu den Stichw?rtern in der Anfrage passt, wird zur?ckgeliefert. Allerdings merkt ein durchschnittlich intelligenter Frager meist ziemlich schnell, dass da am anderen Ende ein Computer hockt. Komplexere Systeme benutzen f?r die Frage-Erkennung kompliziertere Methoden.
Die Tabelle:
Im einfachsten Fall enth?lt die Datenbanktabelle zwei Spalten. Spalte Eins enth?lt die Stichwortliste, Spalte 2 den Antwortsatz.
Stichwortvergleich:
Mit normalen String-Funktionen wird man hier nicht weit kommen. Regul?re Ausdr?cke d?rften besser funktionieren.
Die deutsche Online-Anleitung zu allen PHP-Befehlen:
http://de.php.net/manual/de/
Schleifen:
In einem Browser-Server-System kann immer nur eine Frage gestellt werden (per HTML-Formular), die wird dann vom Server-System beantwortet. Schickt der Server in seiner Antwort-Seite ein weiteres HTML-Formular mit, kann der Fragende dann seine n?chste Frage stellen. Also immer sch?n eine Frage und Antwort pro HTML-Seite (HTTP-Request).
MfG
alopex -
<?php
if ($i == wie hei?t du) {
echo "ich bin ein computer";
} elseif ($i == wie alt bist du) {
echo "habe kein alter";
} elseif ($i == wer bist du) {
echo "ich bin ein computersystem, dass auf den lima-city server pr?sent ist";
}
und so weiter.....
w?rde das so gehen?
-
politica schrieb:
<?php
if ($i == wie hei?t du) {
echo 'ich bin ein computer';
} elseif ($i == wie alt bist du) {
echo 'habe kein alter';
} elseif ($i == wer bist du) {
echo 'ich bin ein computersystem, dass auf den lima-city server pr?sent ist';
}
und so weiter.....
w?rde das so gehen?
<?php
if ($i == "wie hei?t du") {
echo 'ich bin ein computer';
} elseif ($i == "wie alt bist du") {
echo 'habe kein alter';
} elseif ($i == "wer bist du") {
echo 'ich bin ein computersystem, dass auf den lima-city server pr?sent ist';
}
so sollte das funktionieren!
Die Strings m?ssen bei der if-Abfrage in Anf?hrungszeichen stehen! -
ach ihr mit euren ifs etc. :P
machs doch so
$frage = array();
$antwort = array();
$frage[] = "Wie heisst du?";
$antwort[] = "Ich bin ein Computer!";
$frage[] = "Wie alt bist du?";
$antwort[] = "Ich bin stolzer 1-j?hriger!";
$frage[] = "Wieso bla?";
$antwort[] = "Darum bla xD!";
// usw. halt
for ($i = 0; $i >= count($fragen); $i++) {
if($frage[$i] == $_GET["frage"]) {
echo $antwort[$i];
}
}
so ganz simpel :) -
Das enth?lt aber auch eine If-Abfrage ...
Und wenn jetzt der freundliche Frager fragt:
Wie hei?en Sie?
Wie alt sind Sie?
(oder gar:)
Alopex, wie alt bist du?
Da helfen einfache String-Vergleiche wenig, versucht es mal lieber mit preg_match() oder preg_match_all():
$frage = $GET['frage'];
$frage_elemente = array(
'/wie\s+alt\s+(bist|sind)\s+(du|sie)/i'
// hier weitere m?gliche Frages?tze
);
if( preg_match($frage_elemente, $frage) {
//reagiere auf Frage
}
else {
// sage, dass du die Frage nicht
// verstanden hast.
}
Ist nur ein L?sungsansatz. Hope you get the idea ...
MfG
alopex
(P.S.: Netter Versuch ... ) -
Das enth?lt aber auch eine If-Abfrage ...
aber nich sooooooo viele :D
ok ich h?t korrekter weise elseif`s sagen solln ^^
Wie hei?en Sie?
Wie alt sind Sie?
(oder gar:)
Alopex, wie alt bist du?
solltest du sowas coden w?rd das jeder fragen :P
aber dein l?sungsansatz sieht gut aus :)
k?nntest du vllt ma nen tut oder so ?ber diesen regul?ren quak machen? xD
w?rd mich gern mehr damit besch?ftigen, aber irgendwie fehlt mir ein guter einstieg ^^ -
nachdem ich ja nun den php code habe:
<?php
if ($i == "wie hei?t du") {
echo 'ich bin ein computer';
} elseif ($i == "wie alt bist du") {
echo 'habe kein alter';
} elseif ($i == "wer bist du") {
echo 'ich bin ein computersystem, dass auf den lima-city server pr?sent ist';
}
ist jetzt nur noch die frage wie ich das textfeld zum eingeben der fragen mache.
Kann ich den mit java auch gro?schreibung und ? sperren? -
hier die Java l?sung:
<input type="text" size=40 value="" onChange="javascript:this.value=this.value.toLowerCase();">
Hier die PHP, die w?rd ich bevorzugen
<?php
$frage = "BrAtWuRsT?";
$klein = strtolower($frage);
echo "Frage: $wort<BR>";
echo "kleine Frage: $klein";
?>
-
was bewirkt den der jajvascript text?
das gro?buchstaben ganz gespertt sind?
wie mach ich so ein textfeld der mit
compactdisc schrieb:
politica schrieb:
<?php
if ($i == wie hei?t du) {
echo 'ich bin ein computer';
} elseif ($i == wie alt bist du) {
echo 'habe kein alter';
} elseif ($i == wer bist du) {
echo 'ich bin ein computersystem, dass auf den lima-city server pr?sent ist';
}
kombiniert wird? -
HTML teil:
<html>
<body>
<form action="frage_antwort.php" method="post">
<input type="text" size=40 name="frage">
<input type="submit" value="fragen!">
</body>
</html>
PHP teil: (Datei sollte frage_antwort.php heissen, oder du passt den html teil an)
<?php
$frage = $HTTP_POST_VARS["frage"];
$kleine_frage = strtolower($frage);
if ($kleine_frage == wie hei?t du) {
echo 'ich bin ein computer';
} elseif ($kleine_frage == wie alt bist du) {
echo 'habe kein alter';
} elseif ($kleine_frage == wer bist du) {
echo 'ich bin ein computersystem, dass auf den lima-city server pr?sent ist';
}
?> -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage