CronJob-Service
bei SELFPHP mit ...
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden
28.08.2008, 23:08:03
Anfänger
Registriert seit: Aug 2008
Alter: 68
Beiträge: 8
Formular für Logical
Hallo,
ich möchte gerne ein Formular zur Lösung von
Logicals entwerfen. Das Formular soll aus 25 Feldern bestehen. In jedem Feld soll man aus 5 Antworten wählen können, bzw. das Feld leer lassen.
Jetzt habe ich mal ein Testskript entworfen, dass die gewählten Antworten an ein PHP-Skript übergibt. Das PHP-Skript zählt dann die richtigen Antworten.
Bis hierhin habe ich keine Probleme. Jetzt möchte ich aber, dass die Anzahl der richtigen Antworten auf der html-Seite angezeigt wird. Entweder als Alert oder als normaler Text. Im Moment ist es so, dass, wenn ich eine Ausgabe im PHP-Skript mache, die auf einer neuen Seite erscheint.
Wie kann ich es erreichen, dass die Ausgabe auf der bisherigen html-Seite erscheint?
Hier ist mal der bisherige HTML-Code:
Code:
<form method="post" action="logical.php">
A 1: <select name="0" size="1">
<option>leer</option>
<option>Test 1</option>
<option>Test 2</option>
<option>Test 3</option>
<option>Test 4</option>
<option>Test 5</option>
</select>
B 1: <select name="1" size="1">
<option>leer</option>
<option>Test 1</option>
<option>Test 2</option>
<option>Test 3</option>
<option>Test 4</option>
<option>Test 5</option>
</select>
...
D 5: <select name="23" size="1">
<option>leer</option>
<option>Test 21</option>
<option>Test 22</option>
<option>Test 23</option>
<option>Test 24</option>
<option>Test 25</option>
</select>
E 5: <select name="24" size="1">
<option>leer</option>
<option>Test 21</option>
<option>Test 22</option>
<option>Test 23</option>
<option>Test 24</option>
<option>Test 25</option>
</select><br /><br />
<input type="submit" name="senden" value="Senden">
</form>
Und hier der PHP-Teil:
PHP-Code:
<title>Logical.php</title><?php $anzahlfelder = 25 ; $feld = array ( "Test 1" , "Test 2" , "Test 3" , "Test 4" , "Test 5" , "Test 6" , "Test 7" , "Test 8" , "Test 9" , "Test 10" , "Test 11" , "Test 12" , "Test 13" , "Test 14" , "Test 15" , "Test 16" , "Test 17" , "Test 18" , "Test 19" , "Test 20" , "Test 21" , "Test 22" , "Test 23" , "Test 24" , "Test 25" ); $fehler = 0 ; $richtig = 0 ; // Formulare aus logical.html als array speichern $eingabe =array(); $i = 0 ; while( $i <= 25 ) { $eingabe [ $i ]= $_POST [ $i ]; $i ++; } // Antworten vergleichen und die richtigen zählen $i = 0 ; while( $i < count ( $feld )) { if ( $feld [ $i ] == $eingabe [ $i ]) { $richtig ++; } $i ++; } if ( $richtig == $anzahlfelder ) echo "<br />Alles richtig." ; else { $fehler = $anzahlfelder - $richtig ; echo "<br />$fehler Angaben sind noch falsch." ; } ?>
Vielen Dank schon im voraus für eure Hilfe.
Geändert von Cujo (28.08.2008 um 23:30:45 Uhr)
31.08.2008, 22:40:24
Anfänger
Registriert seit: Aug 2008
Alter: 68
Beiträge: 8
AW: Formular für Logical
Ich bin jetzt schon ein gutes Stück weitergekommen, habe dafür aber 2 neue Probleme.
Hier ist erst mal der Code:
PHP-Code:
<?php $options1 = array( 'leer' => 'leer' , 'Test 1' => 'Test 1' , 'Test 2' => 'Test 2' , 'Test 3' => 'Test 3' , 'Test 4' => 'Test 4' , 'Test 5' => 'Test 5' ); $options2 = array( 'leer' => 'leer' , 'Test 6' => 'Test 6' , 'Test 7' => 'Test 7' , 'Test 8' => 'Test 8' , 'Test 9' => 'Test 9' , 'Test 10' => 'Test 10' ); $options3 = array( 'leer' => 'leer' , 'Test 11' => 'Test 11' , 'Test 12' => 'Test 12' , 'Test 13' => 'Test 13' , 'Test 14' => 'Test 14' , 'Test 15' => 'Test 15' ); $options4 = array( 'leer' => 'leer' , 'Test 16' => 'Test 16' , 'Test 17' => 'Test 17' , 'Test 18' => 'Test 18' , 'Test 19' => 'Test 19' , 'Test 20' => 'Test 20' ); $options5 = array( 'leer' => 'leer' , 'Test 21' => 'Test 21' , 'Test 22' => 'Test 22' , 'Test 23' => 'Test 23' , 'Test 24' => 'Test 24' , 'Test 25' => 'Test 25' ); echo 'A 1: <select name="0"><br />\n' ; foreach ( $options1 as $value => $text ) { if ( $_REQUEST [ '0' ] == $value ) { echo '<option value="' . $value . '" selected="selected">' . $text . '</option>' ; } else { echo '<option value="' . $value . '">' . $text . '</option>' ; } } echo '<br />' ; echo "<br />" ; echo '<br />\n' ; echo "<br />\n" ; echo 'B 1: <select name="1">' ; foreach ( $options1 as $value => $text ) { if ( $_REQUEST [ '1' ] == $value ) { echo '<option value="' . $value . '" selected="selected">' . $text . '</option>' ; } else { echo '<option value="' . $value . '">' . $text . '</option>' ; } } ... echo 'D 5: <select name="23">' ; foreach ( $options5 as $value => $text ) { if ( $_REQUEST [ '23' ] == $value ) { echo '<option value="' . $value . '" selected="selected">' . $text . '</option>' ; } else { echo '<option value="' . $value . '">' . $text . '</option>' ; } } echo 'E 5: <select name="24">' ; foreach ( $options5 as $value => $text ) { if ( $_REQUEST [ '24' ] == $value ) { echo '<option value="' . $value . '" selected="selected">' . $text . '</option>' ; } else { echo '<option value="' . $value . '">' . $text . '</option>' ; } } ?>
Das Script funktioniert auch soweit. Nur 2 zwei eigentlich ganz profane Dinge funktionieren nicht:
1. Wird nur bei dem ersten Feld der Text vor der Auswahlliste (also z. b. A 1 ausgegeben)
2. Kriege ich es nicht hin, einen Zeilenumbruch zu machen (z. B. hinter dem Feld A 1)
Ich habe schon alles versucht. Ich habe mal einen Screenshot gemacht, damit ihr wißt, was ich meine.
Hier könnt ihr euch auch das Script direkt mal angucken:
http://www.raetselstunde.de/logical.html
Miniaturansicht angehängter Grafiken
Geändert von Cujo (28.10.2008 um 08:57:10 Uhr)
01.09.2008, 01:31:46
Junior Member
Registriert seit: Mar 2007
Beiträge: 202
AW: Formular für Logical
du musst am ende der options select wieder mit </select> schließen
__________________
Ein guter Freund würde dich aus dem Knast holen.
Dein bester Freund würde neben dir sitzen und sagen, verdammt war das geil.
01.09.2008, 22:02:20
Anfänger
Registriert seit: Aug 2008
Alter: 68
Beiträge: 8
AW: Formular für Logical
Zitat:
Zitat von
The Serious Sam
du musst am ende der options select wieder mit </select> schließen
Achja, das war's. Danke für die Hilfe.
04.09.2008, 21:31:27
Anfänger
Registriert seit: Aug 2008
Alter: 68
Beiträge: 8
AW: Formular für Logical
Es gibt wieder ein neues Problem :)
Wenn das Formular abgesendet wird, wird ein Javascript-Alert aufgerufen. Solange der Alert angezeigt wird, baut sich der Hintergrund aber nicht auf, so dass nur die Hälfte angezeigt wird, was ein bisschen seltsam aussieht. Siehe hier:
http://www.raetselstunde.de/logical.html
Auf "prüfen" klicken.
HTML-Code:
<body>
<? include ("raetsel-top.html"); ?>
<? include ("raetsel-navigation.html"); ?>
<div id="stuff" style="text-align: center" >
<h1> Logical</h1>
PHP-Code:
<?php if(isset( $_POST [ 'senden' ])) { $feld = array ( "gelb" , "blau" , "rot" , "grün" , "weiß" , "Norwegen" , "Dänemark" , "Großbritann." , "Deutschland" , "Schweden" , "Wasser" , "Tee" , "Milch" , "Kaffee" , "Bier" , "Dunhill" , "Marlboro" , "Pall Mall" , "Rothmanns" , "Winfried" , "Katze" , "Pferd" , "Vogel" , "Fisch" , "Hund" ); $anzahlfelder = 25 ; $fehler = 0 ; $richtig = 0 ; // Formulare aus logical.html als array speichern $eingabe =array(); $i = 0 ; while( $i <= 25 ) { $eingabe [ $i ]= $_POST [ $i ]; echo $feld [ i ]; $i ++; } // Antworten vergleichen und die richtigen zählen $i = 0 ; while( $i < count ( $feld )) { if ( $feld [ $i ] == $eingabe [ $i ]) { $richtig ++; } $i ++; } if ( $richtig == $anzahlfelder ) echo '<script type="text/javascript"> alert("' . $fehler . ' Alles richtig!"); </script>' ; else { $fehler = $anzahlfelder - $richtig ; echo '<script type="text/javascript"> alert("' . $fehler . ' Angaben sind noch falsch!"); </script>' ; } } ?>
Code:
<form method="post" action="logical3.html">
..
Formular
..
<input type="submit" name="senden" value="Prüfen">
</form>
Geändert von Cujo (28.10.2008 um 08:58:02 Uhr)
05.09.2008, 00:43:00
Junior Member
Registriert seit: Mar 2007
Beiträge: 202
AW: Formular für Logical
setzte das alert am ende des quelltextes. immoment steht es mitten drin.
__________________
Ein guter Freund würde dich aus dem Knast holen.
Dein bester Freund würde neben dir sitzen und sagen, verdammt war das geil.
05.09.2008, 08:59:47
Anfänger
Registriert seit: Aug 2008
Alter: 68
Beiträge: 8
AW: Formular für Logical
Zitat:
Zitat von
The Serious Sam
setzte das alert am ende des quelltextes. immoment steht es mitten drin.
Ich habe das alert jetzt hinter </form> gesetzt. Das hat aber keine Besserung gebracht.
06.09.2008, 14:56:32
Anfänger
Registriert seit: Aug 2008
Alter: 68
Beiträge: 8
AW: Formular für Logical
Gibt es vielleicht noch eine andere Möglichkeit mein Problem zu lösen?
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
Forumregeln
Es ist Ihnen nicht erlaubt , neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt , auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt , Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt , Ihre Beiträge zu bearbeiten.
HTML-Code ist aus .
Alle Zeitangaben in WEZ +2. Es ist jetzt 11:08:47 Uhr.