我正在尝试编写一个函数,允许我在表单中检查输入框是否已填充。如果是,则应该使用该值。
出现问题:我一提交表单,就会收到错误信息,指出无法找到该网站。有什么问题?
首先是测试页面:
<?php
// Funktionen zur Verfügung stellen und Verbindung aufbauen
require_once('functions.php');
echo 'Beginn';
if (
empty($_GET['weinstilid'])
)
{ // Formular anzeigen
echo ' <form name="test" action="GET" target="_self">';
f_dd_pf();
echo ' <p> <input type="submit" value="Test durchführen"/></p>
</form>';
}
else // Daten verarbeiten
{
echo 'Daten verarbeiten';
}
echo 'Ende';
?>
然后是功能:
// neuer Code
// Abfrage
function query (
$abfrage
)
{
$conni = new mysqli (DB_HOST, DB_USER, DB_PASS, DB_NAME);
$sql = "$abfrage";
$result = $conni->query($sql);
if ( // 1. Verbindungsfehler
$result == false
)
{ // 1. DANN: Fehlermeldung ausgeben
trigger_error('Fehlerhaftes SQL: ' . $sql . ' Fehler: ' . $conni->error, E_USER_ERROR);
}
else // 1. SONST: Zeilenanzahl ausgeben
{
echo '<p> Das Ergebnis umfasst ' . $rows_returned = $result->num_rows . ' Zeilen. </p>';
return $result;
}
}
// Erfassung eines Dropdown-Pflichtfeldes
function f_dd_pf(
$var = "weinstil",
$varid = "weilstilid",
$vartable = "ktbl_weinstil",
$varname = "Weinstil",
$varnameid = "weinstilID"
)
{
$result = query("
SELECT *
FROM $vartable
");
// Eingabefeld erzeugen
echo ' <p> ' . $varname . ' <select name="' . $varid . '">';
if ( // 1. Feld noch nicht ausgewählt
empty($_GET["$varid"])
)
{ /* 1. DANN: Feld mit Abfragewerten befüllen */
echo '<option value=0> - auswählen - </option>';
$result->data_seek(0);
while ($row = $result->fetch_assoc())
{
echo "<option value='" . $row["$varnameid"] . "'>" . $row["$var"] ."</option>";
}
echo ' </select> * </p>';
if ( // 1D.1 Feld ist nicht leer
isset($_GET["$varid"])
)
{ // 1D.1 DANN: Prüfen ob es schon einmal abgesendet wurde
if ( // 1D.1D.1 Feld schon einmal abgeschickt?
$_GET["$varid"] == 0
)
{ // 1D.1D.1 DANN: Hinweis ausgeben
echo ' Hinweis: Bitte ' . $varname . ' auswählen!';
}
}
}
else // 2. SONST: Auswahl mit bereits ausgewähltem Wert vorbelegen
{
$$varid = $_GET["$varid"];
$result2 = query ("
SELECT *
FROM $vartable
WHERE $varid = $$varid
");
while ($row = $result2->fetch_assoc())
{
$$var = $row["$var"];
}
echo ' <option value=' . $$varid . '> ' . $$var . ' </option>';
while ($row = $result->fetch_assoc()) /* das array müsste um die 2.vorstehende Zeile reduziert werden */
{
echo "<option value='" . $row["$varnameid"] . "'>" . $row["$varname"] ."</option>";
}
echo ' </select> * </p>';
}
}