SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



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



:: Buchempfehlung ::

Fortgeschrittene CSS-Techniken

Fortgeschrittene CSS-Techniken zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen
Hilfe Community Kalender Heutige Beiträge Suchen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 28.08.2008, 23:08:03
Cujo Cujo ist offline
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.
__________________
Cujos Rätselstunde - Denksport vom Feinsten - www.raetselstunde.de


Geändert von Cujo (28.08.2008 um 23:30:45 Uhr)
Mit Zitat antworten
  #2  
Alt 31.08.2008, 22:40:24
Cujo Cujo ist offline
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
Logical.gif  
__________________
Cujos Rätselstunde - Denksport vom Feinsten - www.raetselstunde.de


Geändert von Cujo (28.10.2008 um 08:57:10 Uhr)
Mit Zitat antworten
  #3  
Alt 01.09.2008, 01:31:46
Benutzerbild von The Serious Sam
The Serious Sam The Serious Sam ist offline
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.
Mit Zitat antworten
  #4  
Alt 01.09.2008, 22:02:20
Cujo Cujo ist offline
Anfänger
 
Registriert seit: Aug 2008
Alter: 68
Beiträge: 8
AW: Formular für Logical

Zitat:
Zitat von The Serious Sam Beitrag anzeigen
du musst am ende der options select wieder mit </select> schließen
Achja, das war's. Danke für die Hilfe.
__________________
Cujos Rätselstunde - Denksport vom Feinsten - www.raetselstunde.de

Mit Zitat antworten
  #5  
Alt 04.09.2008, 21:31:27
Cujo Cujo ist offline
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>
__________________
Cujos Rätselstunde - Denksport vom Feinsten - www.raetselstunde.de


Geändert von Cujo (28.10.2008 um 08:58:02 Uhr)
Mit Zitat antworten
  #6  
Alt 05.09.2008, 00:43:00
Benutzerbild von The Serious Sam
The Serious Sam The Serious Sam ist offline
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.
Mit Zitat antworten
  #7  
Alt 05.09.2008, 08:59:47
Cujo Cujo ist offline
Anfänger
 
Registriert seit: Aug 2008
Alter: 68
Beiträge: 8
AW: Formular für Logical

Zitat:
Zitat von The Serious Sam Beitrag anzeigen
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.
__________________
Cujos Rätselstunde - Denksport vom Feinsten - www.raetselstunde.de

Mit Zitat antworten
  #8  
Alt 06.09.2008, 14:56:32
Cujo Cujo ist offline
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?
__________________
Cujos Rätselstunde - Denksport vom Feinsten - www.raetselstunde.de

Mit Zitat antworten
Antwort


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.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Formular auf 2 Seiten verteilen... lusitaz PHP für Fortgeschrittene und Experten 2 01.11.2006 01:16:19
Formular Problem (session?) dersupergrobi PHP für Fortgeschrittene und Experten 2 25.07.2004 14:27:16
Variablen an Formular, von Formular plus neue Variablen an Dokument Alf PHP für Fortgeschrittene und Experten 2 01.12.2002 17:10:09
HTML Formular in PHP umwandeln mikeingo PHP für Fortgeschrittene und Experten 3 03.11.2002 10:09:20
update formular problem Silencer PHP für Fortgeschrittene und Experten 1 14.10.2002 08:29:44


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:08:47 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt