Pflichtfelder überprüfen dann versenden
inspiron
- php
Hallo,
ich möchte in ein Formular eine Abfrage für Pflichtfelder einfügen. Das Prüfen funktioniert, nur was muß ich jetzt statt "echo 'Vielen Dank!';" eintragen um den Inhalt der Select_1 & 2 an "bericht_pdf.php" zu übergeben.
Gruß
<?php
// Inhalte der Felder aus POST holen
$Select_1 = $_POST['Select_1'];
$Select_2 = $_POST['Select_2'];
// Formulardaten einlesen
if (isset($_POST['eintragen'])) {
$errors = array();
//variablen auf inhalt prüfen und ggf. den fehler in das array $errors packen
if ($Select_1 == '') {
$errors[] = 'Select_1';
}
if ($Select_2 == '') {
$errors[] = 'Select_2';
}
// ist ein fehler aufgetreten?
if (count($errors) > 0) {
//wenn ja, fehler ausgeben
echo 'Sie müssen folgende Felder ausfüllen!<br />' . implode(', ', $errors);
} else {
//wenn nicht,
echo 'Vielen Dank!';
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
</head>
<body>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="formular" id="formular">
<div>
<h2>Select 1</h2>
<select class="defbreite" name="Select_1" id="Select_1">
<option selected value="">Bitte auswählen! </option>
<option value="Select_A1 ">Select_A1</option>
<option value="Select_B1 ">Select_B1</option>
<option value="Select_C1 ">Select_C1</option>
</select>
</div>
<br>
<div>
<h2>Select 2</h2>
<select class="defbreite" name="Select_2" id="Select_2">
<option selected value="">Bitte auswählen! </option>
<option value="Select_A2 ">Select_A2</option>
<option value="Select_B2 ">Select_B2</option>
<option value="Select_C2 ">Select_C2</option>
</select>
</div>
<br>
<div class="knopf">
<input class="submit" type="submit" name="eintragen" id="eintragen" value="Bericht drucken"/>
<!-- <p><input class="submit" type="submit" name="eintragen" value="Bericht drucken" onclick="document.getElementById('form').action='bericht_pdf.php'"/></p> -->
</div>
</form>
</body>
</html>
Such mal nach "Affenformular"
Hi!
Sehe ich das richtig? Du schreibst Ausgaben vor die Doctype Deklaration? Da haben sie nichts verloren.
Versuche spasseshalber mal Die auszufuehrenden und auszugebnden Teile zu inkludieren.
if (count($errors) > 0) {
//wenn ja, fehler ausgeben
msg = 'Sie müssen folgende Felder ausfüllen!<br />' . implode(', ', $errors);
include(formular.php);
} else {
//wenn nicht,
include(allestoll.php);
}
}
Statt das Formular zu inkludieren kannst Du die Datei auch einlesen und dann per replace den Messagestring unterbringen und die Daten dann auszuliefern. Das haette den Vorteil, das Programm und Ausgabe weitestgehend getrennt sind.
Hallo,
danke schonmal füe die Hilfe!
Ich habe mal Dein Vorschlag versucht umzusetzen nur gelingt mir da etwas nicht. Was ist daran falsch?
Folgende Fehlermeldung bekomme ich:
Danke
__________
Notice: Use of undefined constant bericht_pdf - assumed 'bericht_pdf' in /www/affe/affe_5.php on line 70
Notice: Use of undefined constant php - assumed 'php' in /www/affe/affe_5.php on line 70
Warning: include(bericht_pdfphp) [function.include]: failed to open stream: No such file or directory in /www/affe/affe_5.php on line 70
Warning: include(bericht_pdfphp) [function.include]: failed to open stream: No such file or directory in /www/affe/affe_5.php on line 70
Warning: include() [function.include]: Failed opening 'bericht_pdfphp' for inclusion (include_path='.:/usr/share/pear/php5') in /www/affe/affe_5.php on line 7
___________
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Script-Type" content="text/javascript">
<title>Bericht</title>
<meta name="keywords" content="" />
<link href="default.css" rel="stylesheet" type="text/css" />
</head>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="formular" id="formular">
<div>
<h2>Select 1</h2>
<select class="defbreite" name="Select_1" id="Select_1">
<option selected value="">Bitte auswählen! </option>
<option value="Select_A1 ">Select_A1</option>
<option value="Select_B1 ">Select_B1</option>
<option value="Select_C1 ">Select_C1</option>
</select>
</div>
<br>
<div>
<h2>Select 2</h2>
<select class="defbreite" name="Select_2" id="Select_2">
<option selected value="">Bitte auswählen! </option>
<option value="Select_A2 ">Select_A2</option>
<option value="Select_B2 ">Select_B2</option>
<option value="Select_C2 ">Select_C2</option>
</select>
</div>
<br>
<div class="knopf">
<input class="submit" type="submit" name="eintragen" id="eintragen" value="Bericht drucken"/>
</div>
</form>
</body>
</html>
<?php
error_reporting(E_ALL);
// Formulardaten einlesen
if (isset($_POST['eintragen'])) {
$errors = array();
//variablen auf inhalt prüfen und ggf. den fehler in das array $errors packen
if ($_POST['Select_1'] == '') {
$errors[] = 'Select_1';
}
if ($_POST['Select_2'] == '') {
$errors[] = 'Select_2';
}
// ist ein fehler aufgetreten?
if (count($errors) > 0) {
//wenn ja, fehler ausgeben
echo 'Sie müssen folgende Felder ausfüllen!<br />' . implode(', ', $errors);
include(affe.php);
} else {
//wenn nicht,
include(bericht_pdf.php);
}
}
?>
bericht_pdf.php
<?php
error_reporting(E_ALL);
$DATUM = $_POST['Select_1'];
$SCHICHT = $_POST['Select_2'];
$ProdNr = $_POST['Select_1'] ."-" .$_POST['Select_2'];
echo $DATUM;
echo $SCHICHT;
echo $ProdNr;
?>
Mahlzeit inspiron,
Ich habe mal Dein Vorschlag versucht umzusetzen nur gelingt mir da etwas nicht. Was ist daran falsch?
[ ] Du weißt, dass man in PHP String-Literale in Anführungszeichen einschließt.
MfG,
EKKi
Mahlzeit inspiron,
Ich habe mal Dein Vorschlag versucht umzusetzen nur gelingt mir da etwas nicht. Was ist daran falsch?
[ ] Du weißt, dass man in PHP String-Literale in Anführungszeichen einschließt.
MfG,
EKKi
....uff,
kannst Du mir bitte mal auf die Sprünge helfen!
Gruß
Mahlzeit inspiron,
....uff,
kannst Du mir bitte mal auf die Sprünge helfen!
1.) Vermeide FOTU genauso wie TOFU.
2.) Wenn Dir jemand in einer Antwort einen Link überreicht, klicke ihn an und lies, was sich dahinter verbirgt.
3.) Verstehe, was Du gelesen hast. Sollte das nicht der Fall sein, gehe zurück zu 2.
4.) Lies die Dokumentation zu include().
5.) Schau Dir die Zeile 70 Deines Codes an. Erkenne den Unterschied zwischen Deinem Code und den Beispielen in der Dokumentation.
6.) Eliminiere den Fehler in Deinem Code.
MfG,
EKKi
...ok,
danke für den Tritt!
ich glaube "include" ist doch nicht das was ich wollte.
Es werden die Daten von "bericht_pdf.php" im Formular angezeigt. Ich möchte das statt include ("bericht_pdf.php");
auf die "bericht_pdf.php" gewechselt wird.
Gruß
Hi!
ich glaube "include" ist doch nicht das was ich wollte.
Es werden die Daten von "bericht_pdf.php" im Formular angezeigt. Ich möchte das stattinclude ("bericht_pdf.php");
auf die "bericht_pdf.php" gewechselt wird.
Es wird die bericht_pdf.php angezeigt. Wenn Du diese in ein Formular einbaust, ist das nicht unbedingt der Fehler von include, sondern von deiner Programmlogik. Scheinbar trennst Du Anzeige nicht von Logik.
Nochmal:
Wenn alles ok: include bericht
sonst: zeige Formular (z.B. durch include formular)
Gibts dabei ein Problem?
Mahlzeit inspiron,
Ich habe mal Dein Vorschlag versucht umzusetzen nur gelingt mir da etwas nicht. Was ist daran falsch?
[ ] Du weißt, dass man in PHP String-Literale in Anführungszeichen einschließt.
MfG,
EKKi
»»
So?!
<?php
error_reporting(E_ALL);
// Formulardaten einlesen
if (isset($_POST["eintragen"])) {
$errors = array();
//variablen auf inhalt prüfen und ggf. den fehler in das array $errors packen
if ($_POST["Select_1"] == "") {
$errors[] = "Select_1";
}
if ($_POST["Select_2"] == "") {
$errors[] = "Select_2";
}
// ist ein fehler aufgetreten?
if (count($errors) > 0) {
//wenn ja, fehler ausgeben
echo 'Sie müssen folgende Felder ausfüllen!<br />' . implode(', ', $errors);
include(affe.php);
} else {
//wenn nicht,
include(bericht_pdf.php);
}
}
?>
bericht_pdf.php
<?php
error_reporting(E_ALL);
//$DATUM_mysql = date_german2mysql($_POST["Datum"]);
$DATUM = $_POST["Select_1"];
$SCHICHT = $_POST["Select_2"];
$ProdNr = $_POST["Select_1"] ."-" .$_POST["Select_2"];
echo $DATUM;
echo $SCHICHT;
echo $ProdNr;
?>