Hallo Zusamme,
ich hätte da so ein Problemchen.
Ich habe ein Formular einen Teil davon habe in eine andere Datei ausgelagert und über Include eingebunden. Hier erst mal der Code:
und hier die eingebunde Datei:
So jetzt zu meinen Problem ist:z.B. der User trägt nichts ins Formular ein, so sollte das Formular wieder erscheinen. Tut es aber nicht.
Stattdessen wird der Text aus der Schleife if($allesok) ausgeben und das Formular wird nicht angezeigt. Wenn ich das alles in eine Datei packe ist alles ok.
Also was mache ich falsch beim Funktionsaufruf? Ich komme einfach nicht dahinter. Bitte hielft mir. Wollte noch sagen das ich so etwas in PHP noch nicht gemacht habe. Schon mal danke!
Gruß aleks
ich hätte da so ein Problemchen.
Ich habe ein Formular einen Teil davon habe in eine andere Datei ausgelagert und über Include eingebunden. Hier erst mal der Code:
PHP:
<?php
print_r($_POST);
setlocale(LC_ALL, 'DEU');
$allesok = false;
if(isset($_POST['ueberpruefung']))
{
$allesok = true;
include('.\pruefung.php');
check();
}
// Hier wird die IF-Bedingung von ganz oben geschlossen.
// Hier wird geprft ob allesok einen Wert hat. (1) Ist dies der Fall, k�nen die Variablen $_POST['name'] und $_POST['email'] weiter verarbeitet werden.
if($allesok){
echo "Alle Ihre Daten wurden aufgenommen.";
}
// Ist der Wert 1 nicht vorhanden, zeige das Formular.
else
{
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"/>
<title>Dreispaltiges Layout mit Kopf- und Fußzeile</title>
<link rel="stylesheet" href='css/formular_box.css' type="text/css" type='text/opera;charset=utf-8'>
</head>
<body>
<h1>CSS-basierte Layouts</h1>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" >
<div class="raised"><b class="b1"></b><b class="b2"></b><b class="b3"></b><b class="b4"></b>
<div class="boxcontent">
<div class="inhalt">
<p>
<h4>Bitte alle Felder ausfühlen!</h4><?php
echo $error['login'];
echo $error['pass1'];
echo $error['pass2'];
echo $error['vorname'];
echo $error['nachname'];
echo $error['geburtstag'];
echo $error['strasse'];
echo $error['nummer'];
echo $error['land'];
echo $error['plz'];
echo $error['ort'];
echo $error['email'];
echo $error['gruppe'][0];
echo $error['gruppe'][1];
?>
</p> usw.
PHP:
<?php
function check()
{
if(empty($_POST['login']))
{
$allesok = 0;
$error[login]="Bitte Login eingeben <br>";
$error2[login] = "<b><span style=\"color:red;\">*</span></b>";
}
if(empty($_POST['pass1'])&&($_POST['pass2']))
{
$allesok = 0;
$error[pass1]="Bitte Password eingeben!<br>";
$error[pass2]="Bitte Password noch mal eingeben!";
$error2[pass1] = "<b><span style=\"color:red;\">*</span></b>";
$error2[pass2] = "<b><span style=\"color:red;\">*</span></b>";
}
else
{
if(($_POST['pass1'])==($_POST['pass2']))
{
$allesok = 0;
$error[pass1]="Bitte Password eingeben!<br>";
$error[pass2]="Bitte Password noch mal eingeben!<br>";
$error2[pass1] = "<b><span style=\"color:red;\">*</span></b>";
$error2[pass2] = "<b><span style=\"color:red;\">*</span></b>";
}
}
if(empty($_POST['vorname']))
{
$allesok = 0;
$error[vorname]="Bitte Vorname eingeben!<br>";
$error2[vorname] = "<b><span style=\"color:red;\">*</span></b>";
}
else
{
$_POST['vorname']=trim(stripslashes($_POST['vorname']));
$_POST['vorname'] = ucfirst($_POST['vorname']);
$Plotter = "/[a-zA-Z\xC0-\xD6\xD8-\xF6\xF8-\xFF]/Us";
if(!preg_match($Plotter,$_POST['vorname']))
{
$allesok = 0;
$error[vorname]="Bitte Vorname eingeben!<br>";
$error2[vorname]="<b><span style=\"color:red;\">*</span></b>";
}
}
// Hier wird geprft ob Vorname leer ist. Ist dies der Fall, wird allesok auf 0 gesetzt (Kein Wert mehr) und ein Fehlertext erstellt, der im Formular ausgegeben wird.
if(empty($_POST['nachname']))
{
$allesok = 0;
$error[nachname]="Bitte Nachname eingeben!<br>";
$error2[nachname] ="<b><span style=\"color:red;\">*</span></b>";
}
else
{
$_POST['nachname']=trim(stripslashes($_POST['nachname']));
$_POST['nachname'] = ucfirst($_POST['nachname']);
$Plotter = "/[a-zA-Z\xC0-\xD6\xD8-\xF6\xF8-\xFF]/Us";
if(!preg_match($Plotter,$_POST['nachname']))
{
$allesok = 0;
$error[nachname]="Bitte Nachname eingeben!<br>";
$error2[nachname]="<b><span style=\"color:red;\">*</span></b>";
}
}
// Hier wird geprft ob Nachname leer ist. Ist dies der Fall, wird allesok auf 0 gesetzt (Kein Wert mehr) und ein Fehlertext erstellt, der im Formular ausgegeben wird.
if(isset($_POST['tag'])&&($_POST['monat'])&&($_POST['jahr']))
{
if( @checkdate($_POST['monat'], $_POST['tag'], $_POST['jahr']) )
{
$timestamp = mktime(0, 0, 0, $_POST['monat'], $_POST['tag'], $_POST['jahr']);
$timestamp=date('d.m.Y', $timestamp);
}
else
{
$allesok=0;
$error[geburtstag]= "Bitte geben Sie ein korektes Datum an!<br>";
$error2[geburtstag]="<b><span style=\"color:red;\">*</span></b>";
}
}
else
{
$allesok=0;
$error2[geburtstag]="<b><span style=\"color:red;\">*</span></b>";
$error[geburtstag]="Bitte ein Datum angeben!<br>";
}
if(empty($_POST['strasse']))
{
$allesok = 0;
$error[strasse]="Bitte geben Sie eine Strasse ein!<br>";
$error2[strasse] = "<b><span style=\"color:red;\">*</span></b>";
}
else
{
$_POST['strasse']=trim(stripslashes($_POST['strasse']));
$_POST['strasse'] = ucfirst($_POST['strasse']);
$Plotter = "/[a-zA-Z\xC0-\xD6\xD8-\xF6\xF8-\xFF]/Us";
if(!preg_match($Plotter,$_POST['strasse']))
{
$allesok = 0;
$error[strasse]="Bitte geben Sie eine Strasse ein!<br>";
$error2[strasse]="<b><span style=\"color:red;\">*</span></b>";
}
}
if(empty($_POST['nummer']))
{
$allesok = 0;
$error[nummer]="Bitte geben sie eine Hausnummer ein!<br>";
$error2[nummer] = "<b><span style=\"color:red;\">*</span></b>";
}
if(empty($_POST['land']))
{
$allesok = 0;
$error[land]="Bitte geben Sie ein Land ein!<br>";
$error2[land] ="<b><span style=\"color:red;\">*</span></b>";
}
else
{
$_POST['land']=trim(stripslashes($_POST['land']));
$_POST['land'] = ucfirst($_POST['land']);
$Plotter = "/[a-zA-Z\xC0-\xD6\xD8-\xF6\xF8-\xFF]/Us";
if(!preg_match($Plotter,$_POST['land']))
{
$allesok = 0;
$error[land]="Bitte geben Sie ein Land ein!<br>";
$error2[land]="<b><span style=\"color:red;\">*</span></b>";
}
}
// Hier wird geprft ob PLZ leer ist. Ist dies der Fall, wird allesok auf 0 gesetzt (Kein Wert mehr) und ein Fehlertext erstellt, der im Formular ausgegeben wird.
if(empty($_POST['plz']))
{
$allesok = 0;
$error[plz]="Bitte geben Sie eine PLZ ein!<br>";
$error2[plz] = "<b><span style=\"color:red;\">*</span></b>";
}
else
{
$plotter = "/^[0-9]{5}$/";
if(!preg_match ($plotter,$_POST['plz']))
{
$allesok = 0;
$error[plz]="Bitte geben Sie eine PLZ ein!<br>";
$error2[plz] = "<b><span style=\"color:red;\">*</span></b>";
}
}
// Hier wird geprft ob Ort leer ist. Ist dies der Fall, wird allesok auf 0 gesetzt (Kein Wert mehr) und ein Fehlertext erstellt, der im Formular ausgegeben wird.
if(empty($_POST['ort']))
{
$allesok = 0;
$error[ort]="Bitte geben sie einen Ort an!<br>";
$error2[ort] = "<b><span style=\"color:red;\">*</span></b>";
}
else
{
$_POST['ort']=trim(stripslashes($_POST['ort']));
$_POST['ort'] = ucfirst($_POST['ort']);
$Plotter = "/[a-zA-Z\xC0-\xD6\xD8-\xF6\xF8-\xFF]/Us";
if(!preg_match($Plotter,$_POST['ort']))
{
$allesok = 0;
$error[ort]="Bitte geben sie einen Ort an!<br>";
$error2[ort]="<b><span style=\"color:red;\">*</span></b>";
}
}
//Hier wird geprft ob Email leer ist. Ist dies der Fall, wird allesok auf 0 gesetzt (Kein Wert mehr) und ein Fehlertext erstellt, der im Formular ausgegeben wird.
if(empty($_POST['email']))
{
$allesok = 0;
$error[email] = "Bitte Geben Sie eine E-Mail an!<br>";
$error2[email] = "<b><span style=\"color:red;\">*</span></b>";
}
else
{
$Plotter="^([0-9a-z]+)([0-9a-z\.-_]+)@([0-9a-z\.-_]+)\.([0-9a-z]+)";
if(eregi($Plotter,$_POST['email']))
{
return TRUE;
}
else
{
$allesok = 0;
$error[email]="Bitte geben sie Ihre Email an!<br>";
$error2[email] = "<b><span style=\"color:red;\">*</span></b>";
}
}
if(empty($_POST['nutzbedingungen'][0])){
$allesok = 0;
$error2[nutzbedingungen][0] = "<b><span style=\"color:red;\">*</span></b>";
$error[nutzbedingungen][0] = "Sie müssen die Nutzungsbedingungen aktzeptieren!<br>";}
if(empty($_POST['gruppe'][1])){
$allesok = 0;
$error[gruppe][1] = "Sie müssen die AGBs aktzeptieren!<br>";
$error2[gruppe][1] = "<b><span style=\"color:red;\">*</span></b>";
}
}
?>

Also was mache ich falsch beim Funktionsaufruf? Ich komme einfach nicht dahinter. Bitte hielft mir. Wollte noch sagen das ich so etwas in PHP noch nicht gemacht habe. Schon mal danke!
Gruß aleks