Du benötigst hier keine andere Seite. Du steuerst über ein if else Konstrukt, ob du Formular, Fehlermeldung oder Ergebnisse ausgibst.
if (isset($_POST['send'])) {
// auf Fehler prüfen
if (!$error) {
$show_form = false;
// Ergebnisse ausgeben
} else {
$show_form = true;
// Fehlermeldungen ausgeben
}
} else {
$show_form = true;
}
if ($show_form) {
// Formular ausgeben
}
mein script schaut jetzt wie folgt aus. das es so nicht funktioniert ist mir zwar klar, ich weiss allerdings nicht wie es richtig zu machen ist , insbesondere //
fehlermeldung ausgeben und //
formular ausgeben:
<?php require_once('Connections/Eingabe.php'); ?>
<?php
$class['abfahrtsort'] = 'StaedtenamenKopie';
$class['zielort'] = 'StaedtenamenKopie';
if(isset($_POST['send']))
{
$error = array();
$abfahrtsort = (string)$_POST['abfahrtsort'];
$zielort = (string)$_POST['zielort'];
if ($_POST['abfahrtsort'] == 'Abfahrtsort') {
$error['abfahrtsort_false'] = '';
$class['abfahrtsort'] = 'error';
}
if ($_POST['zielort'] == 'Zielort') {
$error['zielort_false'] = '';
$class['zielort'] = 'error';
}
if(!$error) {
$show_form = false;
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
if (PHP_VERSION < 6) {
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
}
$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
switch ($theType) {
case 'text':
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}
mysql_select_db($database_Eingabe, $Eingabe);
$query_R1 = "SELECT Eingabe.id, Eingabe.abfahrtsort, Eingabe.zielort, Eingabe.tag, Eingabe.monat, Eingabe.jahr, Eingabe.stunde, Eingabe.`minute`, Eingabe.hinfahrtladeflaeche, Eingabe.hilfeeinausladen, Eingabe.rueckfahrt, Eingabe.rueckfahrtladeflaeche, Eingabe.beschreibung, Eingabe.preis, Eingabe.marke, Eingabe.model, Eingabe.laderaumhoehe, Eingabe.laderaumbreite, Eingabe.laderaumlaenge, Eingabe.laderaumvolumen, Eingabe.treibstoff, Eingabe.getriebe, Eingabe.tempo, Eingabe.nutzername, Eingabe.passwort, Eingabe.mail, Eingabe.handy, Eingabe.tel FROM Eingabe
WHERE ";
$colname_R1 = "KEIN EINTRAG";
if (isset($_POST['abfahrtsort']) && $_POST['abfahrtsort'] != 'Abfahrtsort') {
$query_R1 .= " abfahrtsort = " . GetSQLValueString($colname_R1, 'text') . " AND ";
}
$colname1_R1 = "KEIN EINTRAG";
if (isset($_POST['zielort']) && $_POST['zielort'] != 'Zielort') {
$query_R1 .= " zielort = " . GetSQLValueString($colname1_R1, 'text') . " AND ";
}
$colname2_R1 = "NULL";
if (isset($_POST['tag']) && $_POST['tag'] != '-') {
$query_R1 .= " tag = " . GetSQLValueString($colname2_R1, 'int') . " AND ";
}
$colname4_R1 = "NULL";
if (isset($_POST['jahr']) && $_POST['jahr'] != '-') {
$query_R1 .= " jahr = " . GetSQLValueString($colname4_R1, 'int') . " AND ";
}
$colname3_R1 = "NULL";
if (isset($_POST['monat']) && $_POST['monat'] != '-') {
$query_R1 .= " monat = " . GetSQLValueString($colname3_R1, 'int') . " AND ";
}
$colname5_R1 = "NULL";
if (isset($_POST['stunde']) && $_POST['stunde'] != '-') {
$query_R1 .= " stunde = " . GetSQLValueString($colname5_R1, 'int') . " AND ";
}
$colname6_R1 = "NULL";
if (isset($_POST['minute']) && $_POST['minute'] != '-') {
$query_R1 .= " minute = " . GetSQLValueString($colname5_R1, 'int') . " AND ";
}
$colname7_R1 = "NULL";
if (isset($_POST['hinfahrtladeflaeche']) && $_POST['hinfahrtladeflaeche'] != 'Angaben zur Ladefläche') {
$query_R1 .= " hinfahrtladeflaeche = " . GetSQLValueString($colname7_R1, 'text') . " AND ";
}
if (isset($_POST['hilfeeinausladen']) && $_POST['hilfeeinausladen'] != '-') {
$query_R1 .= " (hilfeeinausladen = " . GetSQLValueString($_POST['hilfeeinausladen'], 'text') . " OR hilfeeinausladen Like '-') AND ";
}
if (isset($_POST['rueckfahrt']) && $_POST['rueckfahrt'] != '-') {
$query_R1 .= " (rueckfahrt = " . GetSQLValueString($_POST['rueckfahrt'], 'text') . " OR rueckfahrt Like '-') AND ";
}
if (isset($_POST['rueckfahrtladeflaeche']) && $_POST['rueckfahrtladeflaeche'] != 'K.A. zur Ladefläche') {
$query_R1 .= " (rueckfahrtladeflaeche = " . GetSQLValueString($_POST['rueckfahrtladeflaeche'], 'text') . " OR rueckfahrtladeflaeche Like 'K.A. zur Ladefläche') AND ";
}
$query_R1 .= "1 ORDER BY Eingabe.monat, Eingabe.tag, Eingabe.stunde, Eingabe.`minute`";
$R1 = mysql_query($query_R1, $Eingabe) or die(mysql_error());
$row_R1 = mysql_fetch_assoc($R1);
$totalRows_R1 = mysql_num_rows($R1);$colname_R1 = "KEIN EINTRAG";
if (isset($_POST['abfahrtsort'])) {
$colname_R1 = $_POST['abfahrtsort'];
}
}
else {
$show_form = true;
// Fehlermeldungen ausgeben
}
} else {
$show_form = true;
}
if ($show_form) {
// Formular ausgeben
}
?>
... im html teil ist dann die ausgabe der fehlermeldung:
<?php
if(isset($_POST['send']) && count($error) > 0)
{
echo 'Bitte die Pflichfelder ausfüllen! ';
foreach($error as $msg)
{
echo ' '.$msg.'';
}
}
?>
... und in der form-action ist die seite angegeben die die ergebnisse auswirft:
<form action="2b-Mit-Umzug-Angebote-Einfach-Ergebnis.php" method="POST" name="form1" id="form1">
wenn ich die seite nun hochlade wird unterhalb des layouts diese fehlermeldung angezeigt:
Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in /is/htdocs/wp10548565_XUUKREW8G9/www/umzuggelegenheit/Kopie von Kopie von 2a-Mit-Umzug-Angebote-Einfache-Suche.php on line 1648
bei absenden des formulars zeigt das script jetzt dieses verhalten:
wenn ich keinerlei angaben im suchformular mache werden mir alle einträge der datenbank angezeigt. wähle ich ein stadt, ein datum oder ähnliches werden mir gemäß der gewälten bedingungen ergebnisse angezeigt.
ohne das affenformular werden mir in diesem script wenn ich keine städte wähle auch keine ergebnisse angezeigt.