Willkommen |
|
myGully |
|
Links |
|
Forum |
|
|
|
 |
10.03.10, 04:31
|
#1
|
Ist öfter hier
Registriert seit: Jan 2010
Ort: Where you live? Ich lebe momentan auf Kosten des Steuerzahlers
Beiträge: 189
Bedankt: 242
|
Bekommt einer dieses S***** zum Laufen ?
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
Ich habe das mal zusammengesetzt. Es will aber nciht laufen, enferne ich eine Fehlermeldung kommt die Nächtste.
Ich habe wohl irgendwas komplett verkehrt gemacht. So groß ist das S***** ja nicht, kann das mal jemand zusammensetzen bzw. die fehlenden Buttons etc. hinzufügen.
Ich bastel mal wieder die ganze Nacht durch und komme nicht weiter.  
|
|
|
10.03.10, 07:29
|
#2
|
PC Doktor
Registriert seit: Apr 2009
Ort: 127.0.0.1
Beiträge: 1.885
Bedankt: 901
|
Dann gib mal bitte hier den code, wie du ihn zusammengesetzt hast. denn so kann man ja nix verbessern
__________________
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
"95% aller Computerprobleme befinden sich zwischen Tastatur und Stuhl"
|
|
|
10.03.10, 10:47
|
#3
|
Ist öfter hier
Registriert seit: Jan 2010
Ort: Where you live? Ich lebe momentan auf Kosten des Steuerzahlers
Beiträge: 189
Bedankt: 242
|
<?php
if($_GET['action'] == "send")
{
if($_POST['number'] != md5($_POST['arithmetic']))
{
$err_text .="Die Rechenaufgabe wurde falsch gelöst!";
}
?>
<?php
$Zahl_1 = intval(rand(1, 5));
$Zahl_2 = intval(rand(1, 5));
?>
Wieviel ist <?php echo $Zahl_1; ?> plus <?php echo $Zahl_2; ?>?
<?php
echo'
<form method="post" action="'.$_SERVER["PHP_SELF"].'?'.$_SERVER['QUERY_STRING'].'">
<input name="number" type="hidden" id="number" value="<?php echo md5(( $Zahl_1 + $Zahl_2 )); ?>"/>
<input name="arithmetic" type="text" id="arithmetic"
style="width:250px" onfocus="if(this.value=='Das Ergebnis bitte hier
hinein...')this.value=''" onblur="if(this.value=='')this.value='Das
Ergebnis bitte hier hinein...'" value="Das Ergebnis bitte hier
hinein..."/>
<input type="submit" name="button" value="Absenden" class=rahmen>
</form>
');
?>
|
|
|
10.03.10, 18:29
|
#4
|
Mitglied
Registriert seit: Aug 2009
Ort: void* (*wtf[])(void **);
Beiträge: 453
Bedankt: 137
|
Code:
value="<?php echo md5(( $Zahl_1 + $Zahl_2 )); ?>"/>
hier liegt der fehler.... weil, du bist immer noch immerhalb der echo-anweisung.
heisst da müsste stehen:
Code:
value="' . md5( $Zahl_1 + $Zahl_2 ) . '" />
und: vorletzte zeile ist die ')' zuviel.
und2: zwischen echo und "'" fehlt anscheinend ein leerzeichen.
__________________
entropie erfordert keine wartung
|
|
|
11.03.10, 05:51
|
#5
|
Ist öfter hier
Registriert seit: Jan 2010
Ort: Where you live? Ich lebe momentan auf Kosten des Steuerzahlers
Beiträge: 189
Bedankt: 242
|
Kann noch mal einer drüber gucken ? Das Formular funktioniert jetzt zwar einwandfrei, aber die er gibt den text der if schleife nicht aus aus bzw. die If schleife funktioniert nicht.
<?php
if($_GET['action'] == "send")
{
if($_POST['number'] != md5($_POST['arithmetic']))
{
$err_text .="Die Rechenaufgabe wurde falsch gelöst!";
echo "hallo";
}
}
?>
<?php
$Zahl_1 = intval(rand(1, 5));
$Zahl_2 = intval(rand(1, 5));
?>
Wieviel ist <?php echo $Zahl_1; ?> plus <?php echo $Zahl_2; ?>?
<?php
echo'
<form method="send" action="'.$_SERVER["PHP_SELF"].'?'.$_SERVER['QUERY_STRING'].'">
<input name="number" type="hidden" id="number" value="' . md5( $Zahl_1 + $Zahl_2 ) . '" />
<input name="arithmetic" type="text" id="arithmetic"/>
<input type="submit" name="send" value="Absenden" class=rahmen>
</form>
';
?>
|
|
|
11.03.10, 06:11
|
#6
|
Erfahrener Newbie
Registriert seit: Nov 2009
Beiträge: 120
Bedankt: 38
|
Ein kurzer genereller Tipp von mir:
Wenn du das S***** testest, also die Seite mit dem S***** im Browser offen hast, dann schau dir auch immer (vor und nach dem absenden des Formulars) den Quelltext an (z.B. im Firefox ctrl+u).. dann siehst du schon mal, ob benötigten Felder (Inputfelder, etc.) überhaupt ausgefüllt sind und wenn ja, mit welchen Werten sie befüllt sind.
Somit kannst duch immer näher an den Fehler rantasten..
Dein Problem dürfte vermutlich auch noch hier stecken:
[...]="if(this.value=='Das Ergebnis bitte hier
hinein...')this.value=''" onblur="if(this.value=='')this.value='Das
Ergebnis bitte hier hinein...'" [...]
mit den Hochkommas (value=='Das Ergbegnis...) unterbrichst du ja dein Echo String.
Das gesamte Formular würde ich nicht in einem Echo ausgeben, sondern:
<?php
if($_GET['action'] == "send")
{
if($_POST['number'] != md5($_POST['arithmetic']))
{
$err_text .="Die Rechenaufgabe wurde falsch gelöst!";
echo "hallo";
}
}
else
{
?>
Hier das Formular in normalem HTML
<?php
}
?>
|
|
|
11.03.10, 06:24
|
#7
|
Ist öfter hier
Registriert seit: Jan 2010
Ort: Where you live? Ich lebe momentan auf Kosten des Steuerzahlers
Beiträge: 189
Bedankt: 242
|
was soll das denn ändern, ob echo oder ncht echo ? ich denke eher, dass die übergabevariablen falsch deklariert sind und deswegen die IF Schleife nicht läuft.
|
|
|
11.03.10, 07:44
|
#8
|
Erfahrener Newbie
Registriert seit: Nov 2009
Beiträge: 120
Bedankt: 38
|
Was es ändert?
Es wird übersichtlicher (z.B. syntaxhighlighting im editor). Übersicht ist für Anfänger sicher nicht schlecht.
|
|
|
11.03.10, 08:04
|
#9
|
Anfänger
Registriert seit: Jul 2009
Beiträge: 4
Bedankt: 1
|
Es gibt keine If-Schleifen 
Wenn deine If-Abfrage nicht funktioniert, gib doch vorher einfach mal die Werte mit echo aus, dann kannst du sehen was er da vergleicht und findest eventuell den Fehler.
|
|
|
11.03.10, 08:33
|
#10
|
Ist öfter hier
Registriert seit: Jan 2010
Ort: Where you live? Ich lebe momentan auf Kosten des Steuerzahlers
Beiträge: 189
Bedankt: 242
|
ich komm eifnach nicht drauf. aber irgendwas stimmt nicht. weiß einer von euch weiter ?
|
|
|
11.03.10, 14:25
|
#11
|
Erfahrener Newbie
Registriert seit: Nov 2009
Beiträge: 120
Bedankt: 38
|
Hab hier im moment kein PHP Parser zu Verfügung, werde es mir morgen Abend mal laden und anschauen.
|
|
|
11.03.10, 18:20
|
#12
|
Newbie
Registriert seit: Feb 2010
Beiträge: 70
Bedankt: 7
|
bei
[HTML]<form method="send" action="'.$_SERVER["PHP_SELF"].'?'.$_SERVER['QUERY_STRING'].'">[/HTML]
das methoden-Atribut mit post ausstatten.
Am besten auch dass if awas prüft ob die rechung stimmt mit einen
PHP-Code:
&& (isset($_POST['number']) && isset($_POST['arithmetic']))
erweitern
|
|
|
11.03.10, 18:50
|
#13
|
Mitglied
Registriert seit: Aug 2009
Ort: void* (*wtf[])(void **);
Beiträge: 453
Bedankt: 137
|
irolight war schneller.
aber 2 formulierungen können ja nicht schaden...
a) es gibt keine if-schleifen. sondern nur if-abragen.
b)
<form method="send"
gibt es nicht. es gibt als method entweder "get" oder "post"
c)
du hast keine form-variable namens action definiert.
desshalb wird das erste if ($_GET['action'] == "send")
schon scheitern.
das if sollte so aussehen:
Code:
if ($_POST['number']) {
// das formular wurde abgeschickt, weil der POST parameter number existiert.
...
}
und weiter unten sollte
<form method="post" .... >
__________________
entropie erfordert keine wartung
|
|
|
Forumregeln
|
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren
HTML-Code ist Aus.
|
|
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:13 Uhr.
().
|