PHP - Formlareingabe funkt nicht immer

  • #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?
 
  • #2
natürlich geht der Quelltext noch weiter, sorry.


Quelltext fortsetztung:


</textarea></p>
<p>
<?php
if (isset($SID)){
// zum Ändern auch die ID übergeben
printf('<input type=hidden name=SID value=%d>',
$SID);
}
?> 
<input type=submit name=submit value=Daten aktualisieren style=color: #000000; font-family: Verdana; font-size: 8pt; border-style: solid; border-width: 1; padding-left: 4; padding-right: 4; padding-top: 1; padding-bottom: 1; background-color: #EEF3F9></center>
</form> </td>
</tr>
</table>
</body>
 
  • #3
Hi,

benutze für dein Formular mal method=POST und nicht GET ... koennte bereits der Fehler sein.
 
  • #4
jo wollte ich auch sagen und wie speicherst du die Daten in der Datenbank?
Mit Varchar? oder mit fullext?
 
  • #5
War jetzt auf Urlaub, deshalb meine etwas verspätete Antwort.

@JanaS: Werde ich sofort ausprobieren.

@xeen: Meine Daten werden in diesem Fall mit TEXT gespeichert, da soweit ich weiß bei VARCHAR eine Begrenzung von 250 Zeichen habe.


Danke, für eure Antworten.
 
  • #6
DANKE

Das wars, mit POST funtkionierts....

Von mir aus kann das Thema geschlossen werden.

Danke nochmal.

cu
noex
 
  • #7
Hallo !,

besteht die Möglichkeit bei Windows 7 die Logdaten bzw. die Logdaten bzw. Anmeldeinformationen zu löschen bzw. erst garnicht aufzeichnen zu lassen ? Wenn ja, wie kann ich das machen ?
Hoffe mir kann wer helfen

MfG
 
Thema:

PHP - Formlareingabe funkt nicht immer

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.838
Beiträge
707.961
Mitglieder
51.491
Neuestes Mitglied
haraldmuc
Oben