Portal > Foren > PHP > PHP-Programmierung > formular --> logik- / auswertungsproblem
Antwort
 
Themen-Optionen Thema durchsuchen
Alt 29.04.2006, 23:51 Nach oben    #1
Neuer Benutzer
 
Registriert seit: 14.04.2006
Beiträge: 24
Standard formular --> logik- / auswertungsproblem

hallo,

und schon wieder ein problem von mir.
natürlich ist es wieder einmal mein formular.....

ich habe den code ziemlich gekürzt, ich hoffe es reicht so.

zum problem:

meine struktur sieht so aus:

Code:
 <funktion buttoncheck (ob button 1 oder 2)>
---------------------------------------------------
     <formular
button 1 (checked1) button 2 (checked2)>
[senden1] --------------------------------------------------- <if senden
if checked 1
echo formular "neupatient" (formular1) ==> Eingabeüberprüfung echo formular "neupatient" mit den eingegebenen Daten [senden2]
if checked2
echo irgendetwas anderes
Es wird, wenn button1 gedrückt wird, zwar noch das richtige formular angezeigt (ohne daten), allerdings wird bei drücken des button2 das formular "neupatient" mit eingegebenen daten aufgerufen, obwohl doch "irgendetwas anderes" erscheinen sollte.
Es soll ja die 1. funktion nur bis zum ende von checked1 aufgerufen werden. checked2 ist ja eine völlig neue fkt.
Wo ist da mein Denkfehler ?

EDIT: achso, die überprüfungsfunktion wird komplett übersprungen....

link: http://www.z4you.de/testcase/ueberpruefungstest3.php

PHP-Code:
<?php
$checked1 
'';
$checked2 '';

if(isset(
$_POST['senden'])) {
    if(
$_POST['group1'] == 'auswahl1') {
        
$checked1 'checked="checked"';
    }
    if(
$_POST['group1'] == 'auswahl2') {
        
$checked2 'checked="checked"';
    }
}
?>

<form action="ueberpruefungstest3.php" method="post">
<label>Neupatient</label><input type="radio" value="auswahl1" name="group1" <?php echo $checked1?>/><br />
<label>Praxispatient</label><input type="radio" value="auswahl2" name="group1" <?php echo $checked2?>/><br />
<br />
<input name="senden" type="submit" value="senden"/>
</form>

<?php
$pruefung 
true;
if(isset(
$_POST['senden'])) {
    if (isset(
$_POST['group1']) && ($_POST['group1'] == 'auswahl1')) { 
    
echo 
$msg.'
<form name="formular" action="mail.php" method="post">
<label>Vorname</label><input name="vname" type="text" size="20" /><br />
<label>Nachname</label><input name="name" type="text" size="20" /><br />
<label>Datum</label><input name="datum" type="text" size="20" /><br />
<br />
<input name="senden" type="submit" value="Senden"/>
</form>'
;
}

else {

  
$vname  $_POST["vname"];
  
$name   $_POST["name"];
  
$datum  $_POST["datum"];
  
$datZ   explode("."$datum);
  
$date   date('Y');
  
$now   time();
  
  if (
$vname == ""){ echo "Vornamen bitte eingeben!"$pruefung false;}
  if (
$name == ""){ echo "Namen bitte eingeben!"$pruefung false;}    
  if (
$datum == ""){ echo "Ein Datum bitte eingeben!"$pruefung false;}
  else { 
    if  (!
ereg("([0-9]{2}).([0-9]{2}).([0-9]{4})"$datum)){echo "Eingabeformat des Datums stimmt nicht!"$pruefung false;}
    else {
      if ( 
$datZ[0] >= 32  ) {echo "Ungültiger Tag!"$pruefung false;}
      if ( 
13 <= $datZ[1]){ echo "Ungültiger Monat!"$pruefung false;}
      if (
$datZ[2] < $date){ echo "Ungültige Jahreszahl!"$pruefung false;}}}      

    if (
$pruefung == true){ header('Location: http://www.z4you.de/testcase/index.php');} 
    
echo 
$msg.'<form name="formular" action="mail.php" method="post">
<label>Vorname</label><input name="vname" type="text" size="20" value="$vname" /><br />
<label>Nachname</label><input name="name" type="text" size="20" value="$name" /><br />
<label>Datum</label><input name="datum" type="text" size="20" value="$datum" /><br />
<br />
<input name="senden" type="submit" value="Senden"/>
</form>'
;
    }
}
    
    else if (isset(
$_POST['group1']) && ($_POST['group1'] == 'auswahl2')) {
echo 
$msg.'PlATZHALTER';
    }
?>
Sacre ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 30.04.2006, 16:39 Nach oben    #2
Martin Breuer
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.653
Standard

du hast ein else davor... dadurch geht nur entweder oder... lass dein letztes "else" mal weg und nimm nur das if dahinter. das sollte gehen...
__________________
I did it my way - Senseless-Blog
WarrenFaith ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 30.04.2006, 18:14 Nach oben    #3
Neuer Benutzer
 
Registriert seit: 14.04.2006
Beiträge: 24
Standard

hey danke, das war ein fehler

es ging aber leider immer noch nicht, also habe ich angefangen, verschiedene datenblöcke auszulagern. (einfach mal das ganze auf papier aufzeichnen hilft ungemein).
jetzt glüht mein kopf, aber ich bin schon etwas weiter. ich mache mal weiter und melde mich später nochmal.
Sacre ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 30.04.2006, 18:44 Nach oben    #4
Martin Breuer
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.653
Standard

ich empfehle mit kommentaren zu arbeiten...
und dann erstmal den äußersten rahmen machen und dann stück für stück den inhalt
ehrlich gesagt ist dein quellcode auch recht schwer zu lesen...
__________________
I did it my way - Senseless-Blog
WarrenFaith ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 30.04.2006, 20:12 Nach oben    #5
Neuer Benutzer
 
Registriert seit: 14.04.2006
Beiträge: 24
Standard

hm, manchmal sieht man den code vor lauter klammern nicht
es scheint jetzt zu funktionieren. jetzt baue ich noch das originale formular ein und fertig. allerdings habe ich jetzt 5 dateien gebraucht. mal sehn ob ich funktionen auslagern kann......

link: http://www.z4you.de/testcase/ueberpruefungstest3.php


ueberpruefungstest3.php
PHP-Code:
<?php
$checked1 
'';
$checked2 '';

if(isset(
$_POST['senden'])) {
    if(
$_POST['group1'] == 'auswahl1') {
        
$checked1 'checked="checked"';
    }
    if(
$_POST['group1'] == 'auswahl2') {
        
$checked2 'checked="checked"';
    }
}
?>

<form action="ueberpruefungstest3.php" method="post">
<label>Neupatient</label><input type="radio" value="auswahl1" name="group1" <?php echo $checked1?>/><br />
<label>Praxispatient</label><input type="radio" value="auswahl2" name="group1" <?php echo $checked2?>/><br />
<br />
<input name="senden" type="submit" value="senden"/>
</form>

<?php
$pruefung 
true;
if(isset(
$_POST['senden'])) {
    if (isset(
$_POST['group1']) && ($_POST['group1'] == 'auswahl1')) { 
    
print 
"
<form name='formular' action='action1.php' method='post'>
<label>Vorname</label><input name='vname' type='text' size='20' value='$vname' /><br />
<label>Nachname</label><input name='name' type='text' size='20' value='$name' /><br />
<label>Datum</label><input name='datum' type='text' size='20' value='$datum' /><br />
<br />
<input name='senden' type='submit' value='Senden'/>
</form>"
;
}
    
    if (isset(
$_POST['group1']) && ($_POST['group1'] == 'auswahl2')) {
    
print 
"
<form name='formular' action='action2.php' method='post'>
<label>EMail</label><input name='email' type='text' size='20' value='$email' /><br />
<label>Datum</label><input name='datum' type='text' size='20' value='$datum' /><br />
<br />
<input name='senden' type='submit' value='Senden'/>
</form>"
;
    }
}
?>
action1.php
PHP-Code:
<?php
$checked1 
'checked="checked"';
?>

<form action="ueberpruefungstest3.php" method="post">
<label>Neupatient</label><input type="radio" value="auswahl1" name="group1" <?php echo $checked1?>/><br />
<label>Praxispatient</label><input type="radio" value="auswahl2" name="group1" <?php echo $checked2?>/><br />
<br />
<input name="senden" type="submit" value="senden"/>
</form>

<?php
$checked1 
'checked="checked"';
$pruefung true;
if(isset(
$_POST['senden'])) { 

  
$vname  $_POST["vname"];
  
$name   $_POST["name"];
  
$datum  $_POST["datum"];
  
$datZ   explode("."$datum);
  
$date   date('Y');
  
  if (
$vname == ""){ echo "Vornamen bitte eingeben!"$pruefung false;}
  if (
$name == ""){ echo "Namen bitte eingeben!"$pruefung false;}    
  if (
$datum == ""){ echo "Ein Datum bitte eingeben!"$pruefung false;}
  else { 
    if  (!
ereg("([0-9]{2}).([0-9]{2}).([0-9]{4})"$datum)){echo "Eingabeformat des Datums stimmt nicht!"$pruefung false;}
    else {
      if ( 
$datZ[0] >= 32  ) {echo "Ungültiger Tag!"$pruefung false;}
      if ( 
13 <= $datZ[1]){ echo "Ungültiger Monat!"$pruefung false;}
      if (
$datZ[2] < $date){ echo "Ungültige Jahreszahl!"$pruefung false;}}}      

    if (
$pruefung == true){header('Location: http://www.z4you.de/testcase/mail1.php');}

if (
$pruefung == false){
print 
"<form name='formular' action='mail1.php' method='post'>
<label>Vorname</label><input name='vname' type='text' size='20' value='$vname' /><br />
<label>Nachname</label><input name='name' type='text' size='20' value='$name' /><br />
<label>Datum</label><input name='datum' type='text' size='20' value='$datum' /><br />
<br />
<input name='senden' type='submit' value='Senden'/>
</form>"
;
}}
?>
action2.php (ist eigentlich nicht viel anders, nur wird einfach ein anderes formular geladen.........eben das will ich irgendwie abkürzen)
PHP-Code:
<?php
$checked2 
'checked="checked"';
?>

<form action="ueberpruefungstest3.php" method="post">
<label>Neupatient</label><input type="radio" value="auswahl1" name="group1" <?php echo $checked1?>/><br />
<label>Praxispatient</label><input type="radio" value="auswahl2" name="group1" <?php echo $checked2?>/><br />
<br />
<input name="senden" type="submit" value="senden"/>
</form>

<?php
$checked1 
'checked="checked"';
$pruefung true;
if(isset(
$_POST['senden'])) { 

  
$email   $_POST["email"];
  
$datum  $_POST["datum"];
  
$datZ   explode("."$datum);
  
$date   date('Y');
  
  if (
$email == ""){ echo "Email bitte eingeben!"$pruefung false;}    
  if (
$datum == ""){ echo "Ein Datum bitte eingeben!"$pruefung false;}
  else { 
    if  (!
ereg("([0-9]{2}).([0-9]{2}).([0-9]{4})"$datum)){echo "Eingabeformat des Datums stimmt nicht!"$pruefung false;}
    else {
      if ( 
$datZ[0] >= 32  ) {echo "Ungültiger Tag!"$pruefung false;}
      if ( 
13 <= $datZ[1]){ echo "Ungültiger Monat!"$pruefung false;}
      if (
$datZ[2] < $date){ echo "Ungültige Jahreszahl!"$pruefung false;}}}      

    if (
$pruefung == true){header('Location: http://www.z4you.de/testcase/mail2.php');}

if (
$pruefung == false){
print 
"
<form name='formular' action='mail2.php' method='post'>
<label>EMail</label><input name='email' type='text' size='20' value='$email' /><br />
<label>Datum</label><input name='datum' type='text' size='20' value='$datum' /><br />
<br />
<input name='senden' type='submit' value='Senden'/>
</form>"
;
}}
?>
mail1.php
PHP-Code:
<?
$to = 'sacredlife@web.de';
$subject = "Testmail";
$message .= "<b>Name:</b> ".$_POST['vname']." ".$_POST['name']." <br />\n";
$message .= "<b>Datum:</b> ".$_POST['datum']." <br />\n"; 
$header = '';
$header .= "From: Testcase \n";
$header .= "Content-Type: text/html Content-Transfer-Encoding: 8bit \n";
$emailversand_ok = mail($to, $subject, $message, $header);

echo $msg.'Ihre Mail wurde erfolgreich an uns verschickt.';
?>
mail2.php
PHP-Code:
<?
$to = 'sacredlife@web.de';
$subject = "Testmail";
$message .= "<b>EMail:</b> ".$_POST['email']." <br />\n";
$message .= "<b>Datum:</b> ".$_POST['datum']." <br />\n"; 
$header = '';
$header .= "From: Testcase \n";
$header .= "Content-Type: text/html Content-Transfer-Encoding: 8bit \n";
$emailversand_ok = mail($to, $subject, $message, $header);

echo $msg.'Ihre Mail wurde erfolgreich an uns verschickt.';
?>
Sacre ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
JS-Code füllt Formular mit vorher festgelegten Werten Jann Hendrik JavaScript und AJAX 14 07.08.2007 21:17
fsockopen & Formulare Niedi PHP-Programmierung 12 21.07.2006 16:08
Formular mit sehr vielen checkboxen Jean PHP-Programmierung 5 25.04.2006 15:28
Probleme rund ums Formular Sacre PHP-Programmierung 24 18.04.2006 11:31
"html(mit css) -> xml -> pdf" möglich ? FsMarine HTML, XML und CSS 0 18.08.2005 08:39


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:51 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45