 |
Formulareingabe aus den Tutorials habe ein Problem
Sie befinden sich: Home > Forum > Php > Formulareingabe a...
Wenn Sie einen Beitrag in diesem Forum schreiben möchten, so ist es erforderlich dass sie sich auf unsere Seite als User anmelden.
In diesen Beitrag wurden 4 Nachrichten geschrieben. | Formulareingabe aus den Tutorials habe ein Problem | | Nachricht wurde verfasst am 26.11.2011 um 09:36 Uhr von |  | drbishop | Hallo Liebe Gemeinde,
erst mal ein Dankeschön an den Admin für die Webseite und das Tutorial zu eingabe von Formulardaten in eine MySQL DB. Ich verwende diese Vorlage und diese funktioniert. Allerdings habe ich ein Problem.
Im bereich:
if ($_POST['senden'] != ''
AND $_POST['konname'] != ''
AND $_POST['konplz'] != ''
AND $_POST['konort'] != ''
) {
werden die "Mussfelder" deklariert, auch das funktioniert. Ich bekomme es aber nicht hin das eine Fehlermeldung ausgespuckt wird wenn ein Feld nicht eingegeben wurde. Jediglich das Formular wird neu geladen. Wenn ich ein DB Fehler habe dann kommt die Java Meldung, sonst jedoch nicht. Vielleicht kann wer helfen, wie muss ich es anpassen?
hier mal ein Scriptschnipsel:
......
if (!isset($_POST['konstr'])) $_POST['konstr'] =
'';
if (!isset($_POST['kontxt'])) $_POST['kontxt'] =
'';
if ($_POST['senden'] != ''
AND $_POST['konname'] != ''
AND $_POST['konplz'] != ''
AND $_POST['konort'] != ''
) {
if (!$dz) {
die('keine Verbindung möglich: ' .
mysql_error());
}
$sql_insert = "INSERT INTO `***`
(`UserID`,`L1ID`,`KonzernAktiv`,`KonzernName`,`KonzernPLZ`,`Ko nzernOrt`,`KonzernStrasse`,`KonzernInfo`)
VALUES( '$userid',
'".mysql_escape_string($_POST['konl1id'])."',
'".mysql_escape_string($_POST['konstatus'])."',
'".mysql_escape_string($_POST['konname'])."',
'".mysql_escape_string($_POST['konplz'])."',
'".mysql_escape_string($_POST['konort'])."',
'".mysql_escape_string($_POST['konstr'])."',
'".mysql_escape_string($_POST['kontxt'])."'
);";
if (@mysql_query($sql_insert, $dz) != false)
{
echo $_POST['konname'] == '';
echo $_POST['konplz'] == '';
echo $_POST['konort'] == '';
echo "<meta http-equiv=\"refresh\" content=\"0; URL=vpkonzern.php?u=$userid&i=1\">";
} else {
echo "<script type='text/javascript' language='javascript'>";
echo " alert('Bitte alle Pflichtfelder ausfuellen!');";
echo "</script>";
}
@mysql_close($dz);
}
.... Formular..... | | | | Nachricht wurde verfasst am 27.11.2011 um 07:05 Uhr von |  | schubertmedia | Morgen,
ich würde die Ausgabe nach dem absenden vom Formular machen. Da du die Variable $_POST['senden'] nutzt um herauszufinden, ob das Formular abgesendet wurde, kannst du diese dazu nutzen um eine Formularüberprüfung zu realisieren. Hier ein kleines Beispiel wie ich dies machen würde:
<?php
if ($_POST['senden'] != '' AND $_POST['konname'] != ''){
echo 'Bitte gebe ein Kontoname am!';
exit;
}
?>
alternativ kannst anstatt eines exit auch deine Daten in einer Variable ( http://www.php-space.info/php/space... ) speichern und bei der Ausgabe von Formular deine Fehlermeldung vorher ausgeben. Mein Code Beispiel müsstest du vor:
<?php
if ($_POST['senden'] != ''
AND $_POST['konname'] != ''
AND $_POST['konplz'] != ''
AND $_POST['konort'] != ''
) {
//...
}
?>
einfügen. Ich hoffe ich konnte dir bei deinem Problem helfen.
Grüße Nico | | Nachricht wurde verfasst am 28.11.2011 um 08:09 Uhr von |  | drbishop | Guten Morgen Nico,
als erstes vielen Dank für Deine Hilfe aber es klappt nicht. Die Meldung erscheint nun wenn ich das Forumular ganz ausgefüllt habe und nicht wenn das Feld leer bleibt. Kannst Du noch mal schauen wäre echt super!!! Hier das veränderte Script:
<?php
session_start();
include("../inc/mysql_inc.php");
include_once('../inc/sessionhelpers.inc.php');
if ( !logged_in() ) {
header ("Location: ../login.php");
}
if ( logged_in() ) {
require("vphead.php");
}
$userid = $_SESSION['user_id'];
if (!isset($_POST['senden'])) $_POST['senden'] =
' ';
if (!isset($_POST['konname'])) $_POST['konname'] =
'';
if (!isset($_POST['konplz'])) $_POST['konplz'] =
'';
if (!isset($_POST['konort'])) $_POST['konort'] =
'';
if (!isset($_POST['konstatus'])) $_POST['konstatus'] =
'';
if (!isset($_POST['konl1id'])) $_POST['konl1id'] =
'';
if (!isset($_POST['konstr'])) $_POST['konstr'] =
'';
if (!isset($_POST['kontxt'])) $_POST['kontxt'] =
'';
if ($_POST['senden'] != '' AND $_POST['konname'] != ''){
echo 'Bitte gebe ein Kontoname am!';
exit;
}
if ($_POST['senden'] != ''
AND $_POST['konname'] != ''
AND $_POST['konplz'] != ''
AND $_POST['konort'] != ''
) {
if (!$dz) {
die('keine Verbindung möglich: ' .
mysql_error());
}
$sql_insert = "INSERT INTO `konzern`
(`UserID`,`L1ID`,`KonzernAktiv`,`KonzernName`,`KonzernPLZ`,`Ko nzernOrt`,`KonzernStrasse`,`KonzernInfo`)
VALUES( '$userid',
'".mysql_escape_string($_POST['konl1id'])."',
'".mysql_escape_string($_POST['konstatus'])."',
'".mysql_escape_string($_POST['konname'])."',
'".mysql_escape_string($_POST['konplz'])."',
'".mysql_escape_string($_POST['konort'])."',
'".mysql_escape_string($_POST['konstr'])."',
'".mysql_escape_string($_POST['kontxt'])."'
);";
if (@mysql_query($sql_insert, $dz) != false)
{
echo "<meta http-equiv=\"refresh\" content=\"0; URL=vpkonzern.php?u=$userid&i=1\">";
exit;
} else {
echo "<script type='text/javascript' language='javascript'>";
echo " alert('Bitte alle Pflichtfelder ausfuellen!');";
echo "</script>";
}
@mysql_close($dz);
}
echo '<form name="konzern" action ="'.htmlspecialchars($_SERVER['PHP_SELF']).'" method="post">';//formular...... ?>
Viele Grüße
Roman | | Nachricht wurde verfasst am 18.12.2011 um 23:39 Uhr von |  | schubertmedia | Hallo Roman,
du musst prüfen ob deine Formularfelder leer sind.
Suche den Code:
<?php
if ($_POST['senden'] != '' AND $_POST['konname'] != ''){
?>
Und ersetze diesen mit:
<?php
if ($_POST['senden'] == '' AND $_POST['konname'] == ''){
?>
Grüße Nico | Antwort schreiben |
 |