cliodriver
Mitglied
ich verwende auf meiner Website ein kleines Gästebuch das jetzt Probleme macht.
Will man einen GB-Eintrag in die SQL schreiben funktioniert dies seit mir unbekannter Zeit nicht mehr.
Verwendet wird
Bis zu dieser Zeile funktioniert alles wie zb. die Abfrage der Daten aus der SQL zur Anzeige normal.
Die Verbindung zur SQL funktioniert ebenfalls
Interessant ist das im Adminbereich meiner Seite alles inkl. mysqli_query insert funktioniert. Ich kann Einträge erstellen und ändern.
Ich sehe aktuell keinen Grund warum das nicht funktionieren soll und mir fehlt gerade der Ansatz für die weitere Fehlersuche. Hat jemand eine Idee?
PHP 8.2.9
MySQL 8.0.34-26
hier der rund um diese besage Zeile. Der code für die Eingabe und Datenbankconnection ist ausgelagert
die Zeile ist im markierten Testabschnitt
Will man einen GB-Eintrag in die SQL schreiben funktioniert dies seit mir unbekannter Zeit nicht mehr.
Verwendet wird
PHP:
mysqli_query($connection, "INSERT INTO $TABLE_NAME_1 (name, email, homepage, comment, date, ip) VALUES ('$name','$email','$homepage','$comment','$date','$ip')");
Bis zu dieser Zeile funktioniert alles wie zb. die Abfrage der Daten aus der SQL zur Anzeige normal.
Die Verbindung zur SQL funktioniert ebenfalls
Interessant ist das im Adminbereich meiner Seite alles inkl. mysqli_query insert funktioniert. Ich kann Einträge erstellen und ändern.
Ich sehe aktuell keinen Grund warum das nicht funktionieren soll und mir fehlt gerade der Ansatz für die weitere Fehlersuche. Hat jemand eine Idee?
PHP 8.2.9
MySQL 8.0.34-26
hier der rund um diese besage Zeile. Der code für die Eingabe und Datenbankconnection ist ausgelagert
die Zeile ist im markierten Testabschnitt
PHP:
<?php
// ----------------------------------------------------------------------
// Eintrag speichern
// ----------------------------------------------------------------------
if($action == 'save'){
global $_GET,$_POST,$_SERVER,$ANTISPAM;
// Antispamprüfung
if ($_POST['location'] == ""){
if ($ANTISPAM == "0"){
}else {
if (!preg_match("/^\d{9,12}\.\d{4,8}$/", $_POST['hashfile'])): die ("Hacking attempt");
elseif (!preg_match("/^\d{4}$/", $_POST['antispam'])): $error = 2;
else : {
$hashfile = "antispam/" . $_POST['hashfile'] . ".txt";
$pic_file = "antispam/" . $_POST['hashfile'] . ".jpg";
if (file_exists($hashfile)) {
$txt_file = fopen($hashfile, "r");
$hash = fgets($txt_file, 33);
fclose ($txt_file);
unlink ($hashfile);
if (file_exists($pic_file)) unlink($pic_file);
if (md5($_POST['antispam']) == $hash){
$error = 0;
} else {
$error = 2;
}
} else {
$error = 2;
}
}
endif;
}
}else {
header("Location: $GB_PFAD");
exit();
}
// Ende Antispamprüfung
// Eingaben in die Datenbank schreiben
if ($error == 0){
$name = substr($_POST['name'], 0, 20);
$email = substr($_POST['email'], 0, 50);
$homepage = substr($_POST['homepage'], 0, 50);
$comment = $_POST['comment'];
$date = date("d.m.Y - H:i:s");
$ip = getenv ("REMOTE_ADDR");
// Testabschnitt
echo '<h1>Gästebuch Wartungsarbeiten! Folgende Daten wurden NICHT in das GB eingetragen:</h1>';
echo "<p>$name</p>";
echo "<p>$email</p>";
echo "<p>$homepage</p>";
echo "<p>$comment</p>";
echo "<p>$date</p>";
//include('sql.config.php');
//$connection = new mysqli($HOST, $ID, $PW, $DB) OR DIE ("Keine Verbindung zu der Datenbank möglich.");
//mysqli_query($connection, "INSERT INTO $TABLE_NAME_1 SET name = '$name', email = '$email', homepage = '$homepage', comment = '$comment', date = '$date', ip = '$ip' ");
mysqli_query($connection, "INSERT INTO $TABLE_NAME_1 (name, email, homepage, comment, date, ip) VALUES ('$name','$email','$homepage','$comment','$date','$ip')");
// Ende Testabschnitt
// emailbenachrichtigung senden
$mailTo = 'info@seitelschlag.at';
$mailFrom = $email;
if($mailFrom == ""){
$mailFrom = $mailTo;
}
$mailSubject = 'Neuer Gaestebucheintrag - Dorfgemeinschaft Seitelschlag';
$mailText = $name." schrieb am ".$date.": \n\n".$comment."\n\n IP: ".$ip;
mail($mailTo, $mailSubject, $mailText, "From: ".$mailFrom);
// Ende email--------------------
header("Location: $GB_PFAD");
}else {
header("Location: {$GB_PFAD}&action=add&name={$_POST['name']}&email={$_POST['email']}&homepage={$_POST['homepage']}&comment={$_POST['comment']}&error=$error");
}
// Ende Datenbank schreiben
}
// Ende Eintrag speichern
// Anzeige Überschrift und Link
if(!$_GET['action']){
echo "<h1>Gästebuch</h1>
<h2><a href='{$GB_PFAD}&action=add'>neuer Eintrag</a></h2>";
}else{
echo "<h1>Gästebuch</h1>
<h2><a href='{$GB_PFAD}'>Einträge ansehen</a></h2>";
}
// ----------------------------------------------------------------------
// Einträge auflisten
// ----------------------------------------------------------------------
if(!$_GET['action']){ // Sofern keine Aktion => Einträge Anzeigen
global $_GET,$_POST,$_SERVER,$num;
$result = mysqli_query($connection, "select id from $TABLE_NAME_1");
$num = mysqli_num_rows($result);
echo "<p>$num Einträge</p>";
echo "<hr>";
echo "<p></p>";
$_GET['start'] = mysqli_real_escape_string($connection, $_GET['start']);
$result = mysqli_query($connection, "select id,name,email,homepage,comment,date,admin,ip from $TABLE_NAME_1 order by id desc LIMIT {$_GET['start']}, $DS_ANZAHL");
while ($row = mysqli_fetch_object($result))
{
$id = $row->id;
$name = $row->name;
$email = $row->email;
$homepage = $row->homepage;
$date = $row->date;
$name = htmlspecialchars($name);
$email = htmlspecialchars($email);
$homepage = htmlspecialchars($homepage);
$ip = $row->ip;
include ("row-comment.php");
if ($homepage == "http://") $homepage = "";
if (!$homepage AND !$email): $homemail = ""; //"<a href='admin/gb.delete.php?id=$id'>[x]</a> ";
elseif ($homepage AND !$email): $homemail = "| <a href='$homepage' target = '_blank'>Homepage</a>"; // <a href='admin/gb.delete.php?id=$id'>[x]</a> ";
elseif (!$homepage AND $email): $homemail = "| <a href='mailto:$email'>email</a>"; // <a href='admin/gb.delete.php?id=$id'>[x]</a> ";
else: $homemail = "| <a href='$homepage' target = '_blank'>Homepage</a> | <a href='mailto:$email'>email</a>"; // <a href='admin/gb.delete.php?id=$id'>[x]</a> ";
endif;
if ($ip == "") $ip = "";
else $ip = "| IP gespeichert";
echo "<p><b>$name</b> schrieb am $date $homemail $ip</p>";
echo "<p>$row->comment</p>";
echo "<p class='admin'><em>$row->admin</em></p>";
echo "<hr>";
echo "<p></p>";
}
echo "Seite: ";
if ($num > $DS_ANZAHL)
{
$seiten = $num / $DS_ANZAHL;
$seiten = ceil($seiten);
$i = ($_GET['start'] / $DS_ANZAHL) -1;
if ($i < 1)
{
$i = 1;
$_GET['next_start'] = 0;
}
else $_GET['next_start'] = $_GET['start'] - (2 * $DS_ANZAHL);
if (($seiten - $i) >= 5) $seiten1 = $i + 4 ;
else $seiten1 = $seiten;
if ($i >= 2) echo "<a class='gbseiten' href='{$GB_PFAD}&start=0'>erste Seite</a> ... ";
for ($i; $i<= $seiten1; $i++)
{
if ($_GET['next_start'] == $_GET['start']) echo "<a class='gbseiten' href='{$GB_PFAD}&start={$_GET['next_start']}'>[ $i ]</a>";
else echo "<a class='gbseiten' href='{$GB_PFAD}&start={$_GET['next_start']}'> $i</a> ";
$_GET['next_start'] = $_GET['next_start'] + $DS_ANZAHL;
}
$endstart = ($seiten - 1) * $DS_ANZAHL;
if (($i-1) < $seiten) echo " ... <a class='gbseiten' href='{$GB_PFAD}&start=$endstart'>letzte Seite</a>";
}
else echo "<a class='gbseiten' href='{$GB_PFAD}&start=0'>[ 1 ]</a>";
}
?>