Antwort
von
nach einem Tag
0
hilfreich
Re: PHP Script legt selber neuen Datensatz an
Hallo
Ich vermute mal, dass es keine Bedingung zum wegschreiben gibt.
Wenn Du alle Variablen eingelesen hast, so muss noch eine Abfrage gemacht werden.
Z.B. if (isset $_POST["datum"],..... $_POST["Ort"];
und die anderen Variablen. Erst wenn die gesetzt sind kann weggeschrieben werden.
Habe mal ein Beispiel wo ich das mache wenn ich lese.
if (isset($_GET['id'])) {
//
$sql = "SELECT * FROM files WHERE id = '".$_GET['id']."' LIMIT 1";
$result = mysql_query($sql);
$row = mysql_fetch_object($result);
$id=$_GET['id'];
switch ($row->filetype)
{
case("text/html"):
header("Content-Type: " . $row->filetype);
$typ == "t";
break;
//
case("text/htm"):
header("Content-Type: " . $row->filetype);
$typ == "t";
break;
//
// Dateityp mht
case("message/rfc822"):
header("Content-Type: " . $row->filetype);
break;
case("image/pjpeg"):
header("Content-Type: " . $row->filetype);
break;
case("image/jpeg"):
header("Content-Type: " . $row->filetype);
break;
case("image/x-png"):
header("Content-Type: " . $row->filetype);
break;
case("application/pdf"):
header("Content-type: " . $row->filetype);
header("Content-disposition: attachment; filename=".$row->filename.";");
header("Content-length: " . $row->filesize);
break;
case("application/msword"):
header("Content-type: " . $row->filetype);
header("Content-disposition: attachment; filename=".$row->filename.";");
header("Content-length: " . $row->filesize);
break;
case("application/vnd.ms-excel"):
header("Content-type: " . $row->filetype);
header("Content-disposition: attachment; filename=".$row->filename.";");
header("Content-length: " . $row->filesize);
break;
case("text/plain"):
header("Content-type: " . $row->filetype);
header("Content-disposition: attachment; filename=".$row->filename.";");
header("Content-length: " . $row->filesize);
break;
case("application/vnd.ms-powerpoint"):
header("Content-type: " . $row->filetype);
header("Content-disposition: attachment; filename=".$row->filename.";");
header("Content-length: " . $row->filesize);
break;
}
// Daten dekodieren und an den Browser senden
echo base64_decode($row->filecontent);
if ($typ == "t") {
echo "<a href='http://www.SPD-Rotenburg-Fulda.de'>Zur Homepage des SPD Ortsvereins Rotenburg an der Fulda</a>";
}
$result = mysql_query("SELECT seitenaufruf FROM files WHERE id='$id'")or die(mysql_error());
$row = mysql_fetch_array( $result );
$seitenaufruf = $row['seitenaufruf'];
$seitenaufruf++;
mysql_query("UPDATE files SET seitenaufruf = '$seitenaufruf' WHERE id = '$id'");
exit;
}
//
$sql = "SELECT * FROM files WHERE id = '".$_GET['id']."' LIMIT 1";
$result = mysql_query($sql);
$row = mysql_fetch_object($result);
$id=$_GET['id'];
switch ($row->filetype)
{
case("text/html"):
header("Content-Type: " . $row->filetype);
$typ == "t";
break;
//
Hallo,
ich habe folgendes Problem und zwar habe ich eine
MySQL-Datenbank und ein PHP-Script geschrieben. Das klappt
eigentlich auch soweit ganz gut, allerdings liegt das Problem
nun dadrin, das jedes mal, wenn die Seite (Formular) neu
geladen wird, er automatisch einen neuen leeren Datensatz in
der MySQL Datanbank anlegt, was er ja nicht soll. Ich verstehe
echt die Welt nicht mehr aber vielleicht ihr....
Ich Danke schon mal im Vorraus - hier der PHP-Script, der sich
unter den Formular-Feldern befindet:
<?Php
//aufbau der datenbankverbindung
$host = 'XXXX';
$user = 'XXXX';
$password = 'XXXXX';
$db = 'XXXXX';
//verbindung zur db herstellen
mysql_connect($host, $user, $password);
mysql_select_db($db);
//übergabe der variablen
$datum= $_POST["datum"];
$stichwort= $_POST["Stichwort"];
$strasse= $_POST["Strasse"];
$ort= $_POST["Ort"];
$url= $_POST["URL"];
$alarm= $_POST["Alarm"];
$ende= $_POST["Ende"];
//sql-befehl zum eintragen der daten in die tabelle
$eintrag = "INSERT INTO einsaetze (datum, Stichwort, Strasse,
Ort, URL, Alarm, Ende) VALUES ('$datum', '$stichwort',
'$strasse', '$ort', '$url', '$alarm', '$ende')";
///nun erfolgt der eintrag in die tabelle
mysql_query($eintrag);
//folgende anweisungen rufen die formularseite wieder auf, um
//weitere daten eingeben zukönnen.
//datenbank wieder schliessen
mysql_close();