- #1
N
noex
Guest
Hallo,
ich habe ein Formular indem man selbst einen Eintrag ändern kann, alles noch kein Probelm, die Daten vorhandenen Daten werden im Feld angezeigt und ich kann sie dort auch ohne Probleme ändern, nur wenn der Inhalt größer wird (so ab ca. 2000 Zeichen) kann ich auf ändern klicken so oft ich will, das Script beginnt nichteinmal zu arbeiten. Wenn ich den selben Text aber in phpmyadmin einfüge funktioniert dies anstandslos.
Hier noch der Quelltext:
<?php
$DB_HOST = localhost;
$DB_NAME = name der datenbank;
$DB_USER = benutzer;
$DB_PASS = passwort;
mysql_connect($DB_HOST, $DB_USER, $DB_PASS)
OR die(Konnte DB nicht erreichen!);
mysql_select_db($DB_NAME)
OR die(Konnte DB nicht erreichen);
if (isset($submit)){
// Formular wurde submittet -> Daten prüfen
if ($page1 == ){
$DatenOK = 0;
$Fehler .= Sie haben keine Daten eingegeben!;
}
if (isset($SID)){
// Überprüfung ob die ID existiert
if (!is_numeric($SID)){
$DatenOK = 0;
$Fehler .= Fehler beim Herstellen der Verbindung, ungueltiges Argument!;
}
}
if ($DatenOK){
// Daten in DB eintragen
if (isset($SID)){
// Spruch-ID wurde übergeben
// -> Spruch wird geändert
mysql_query(sprintf('UPDATE tabelle
SET page1=%s
WHERE SID=%d',
htmlspecialchars($page1),
$SID));
}
else {
// ansonsten neues Feld einfügen
mysql_query(sprintf('INSERT INTO homepageverwaltung
(page1)
VALUES (%s)',
addslashes($page1)));
}
// MySQL-Rückgabewert auswerten
// Wenn OK -> Weiterleiten
// sonst -> Fehlermeldung
switch (mysql_errno()){
case 0:
// Alles OK
header('Location: http://'.$HTTP_HOST.
substr($PHP_SELF,0,strrpos($PHP_SELF,'/'))
.'/datenok.htm');
exit;
continue;
case 1062:
// Eintrag bereits vorhanden
$DatenOK = 0;
$Fehler .= Daten wurden nicht geaendert;
continue;
default:
// Sonstiger Fehler
// -> Fehlermeldung ausgeben
$DatenOK = 0;
$Fehler .= MySQL: .mysql_errno().: .mysql_error();
}
}
}
elseif (isset($SID)){
// es soll der Spruch SID geändert werden
// -> bisherigen Werte laden
$res= mysql_query(sprintf('SELECT *
FROM homepageverwaltung
WHERE SID=%d',
$SID));
if (!$row = mysql_fetch_array($res)){
$DatenOK = 0;
$Fehler .= Ungueltiges Argument;
}
$page1 = $row[page1];
$t_page1 = $row[t_page1];
}
else {
}
?>
<html>
<head>
<title>test seite</title>
</head>
<body>
<?php
if (!$DatenOK){
echo <h1>$Fehler</h1>;
}
?>
<table border=0 cellpadding=0 cellspacing=0 style=border-collapse: collapse bordercolor=#111111 width=95% id=AutoNumber1>
<tr>
<td width=50% bgcolor=#8BB0D6>
<p align=left><a name=Meine Daten><b><font face=Verdana size=2><?php echo $t_page1; ?> bearbeiten</font></b></a></p>
</td>
<td width=50% bgcolor=#8BB0D6>
<font size=1> </font></td>
</tr>
<tr>
<td width=100% bgcolor=#E4EBF4 colspan=2>
<p><form name=edit action=<?php echo $PHP_SELF; ?> method=GET>
<center>
<p>
<textarea name=page1 rows=17 cols=65 style=color: #000000; border: 1px solid #8BB0D6; padding: 0; background-color: #EEF3F9><?php echo $page1; ?>
Quelltext ende.
Hat irgendjemand eine Idee, an was das liegen könnte?
ich habe ein Formular indem man selbst einen Eintrag ändern kann, alles noch kein Probelm, die Daten vorhandenen Daten werden im Feld angezeigt und ich kann sie dort auch ohne Probleme ändern, nur wenn der Inhalt größer wird (so ab ca. 2000 Zeichen) kann ich auf ändern klicken so oft ich will, das Script beginnt nichteinmal zu arbeiten. Wenn ich den selben Text aber in phpmyadmin einfüge funktioniert dies anstandslos.
Hier noch der Quelltext:
<?php
$DB_HOST = localhost;
$DB_NAME = name der datenbank;
$DB_USER = benutzer;
$DB_PASS = passwort;
mysql_connect($DB_HOST, $DB_USER, $DB_PASS)
OR die(Konnte DB nicht erreichen!);
mysql_select_db($DB_NAME)
OR die(Konnte DB nicht erreichen);
if (isset($submit)){
// Formular wurde submittet -> Daten prüfen
if ($page1 == ){
$DatenOK = 0;
$Fehler .= Sie haben keine Daten eingegeben!;
}
if (isset($SID)){
// Überprüfung ob die ID existiert
if (!is_numeric($SID)){
$DatenOK = 0;
$Fehler .= Fehler beim Herstellen der Verbindung, ungueltiges Argument!;
}
}
if ($DatenOK){
// Daten in DB eintragen
if (isset($SID)){
// Spruch-ID wurde übergeben
// -> Spruch wird geändert
mysql_query(sprintf('UPDATE tabelle
SET page1=%s
WHERE SID=%d',
htmlspecialchars($page1),
$SID));
}
else {
// ansonsten neues Feld einfügen
mysql_query(sprintf('INSERT INTO homepageverwaltung
(page1)
VALUES (%s)',
addslashes($page1)));
}
// MySQL-Rückgabewert auswerten
// Wenn OK -> Weiterleiten
// sonst -> Fehlermeldung
switch (mysql_errno()){
case 0:
// Alles OK
header('Location: http://'.$HTTP_HOST.
substr($PHP_SELF,0,strrpos($PHP_SELF,'/'))
.'/datenok.htm');
exit;
continue;
case 1062:
// Eintrag bereits vorhanden
$DatenOK = 0;
$Fehler .= Daten wurden nicht geaendert;
continue;
default:
// Sonstiger Fehler
// -> Fehlermeldung ausgeben
$DatenOK = 0;
$Fehler .= MySQL: .mysql_errno().: .mysql_error();
}
}
}
elseif (isset($SID)){
// es soll der Spruch SID geändert werden
// -> bisherigen Werte laden
$res= mysql_query(sprintf('SELECT *
FROM homepageverwaltung
WHERE SID=%d',
$SID));
if (!$row = mysql_fetch_array($res)){
$DatenOK = 0;
$Fehler .= Ungueltiges Argument;
}
$page1 = $row[page1];
$t_page1 = $row[t_page1];
}
else {
}
?>
<html>
<head>
<title>test seite</title>
</head>
<body>
<?php
if (!$DatenOK){
echo <h1>$Fehler</h1>;
}
?>
<table border=0 cellpadding=0 cellspacing=0 style=border-collapse: collapse bordercolor=#111111 width=95% id=AutoNumber1>
<tr>
<td width=50% bgcolor=#8BB0D6>
<p align=left><a name=Meine Daten><b><font face=Verdana size=2><?php echo $t_page1; ?> bearbeiten</font></b></a></p>
</td>
<td width=50% bgcolor=#8BB0D6>
<font size=1> </font></td>
</tr>
<tr>
<td width=100% bgcolor=#E4EBF4 colspan=2>
<p><form name=edit action=<?php echo $PHP_SELF; ?> method=GET>
<center>
<p>
<textarea name=page1 rows=17 cols=65 style=color: #000000; border: 1px solid #8BB0D6; padding: 0; background-color: #EEF3F9><?php echo $page1; ?>
Quelltext ende.
Hat irgendjemand eine Idee, an was das liegen könnte?