Liebe Forum-Gemeinde,
mir ist ein Problem aufgefallen, bei dem ich weder mit Hilfe von Google (es fehlen mir irgendwie auch die Schlagworte, wonach ich suchen soll), noch durch Probieren zu einer Lösung gekommen bin. Ich habe eine Funktion geschrieben, die es dem Besucher erlaubt, unter meinen Beiträgen eigene Kommentare zu verfassen. Natürlich findet dabei auch eine Überprüfung der Eingaben statt. Sofern eine Eingabe nicht den Vorgaben entspricht, so wird ein Fehler ausgegeben. Die eigegebenen Formulardaten sollen dabei natürlich erhalten bleiben. Es ist schon sehr ärgerlich, wenn man wieder alles erneut eingeben muss. Das funktioniert bei der "normalen Desktop-Version" meiner Seite auch auf allen Browsern tadellos. Doch nun ist mir aufgefallen, dass bei der mobilen Webseitenansicht die Formulardaten verloren gehen; unabhängig welcher mobile Browser. Sobald ich den Button "zur Desktop-Variante" klicke und die normale Website auf dem Smartphone angezeigt wird, bleiben die eingegebenen Daten erhalten.
Das nachfolgende Bild soll die Problematik kurz veranschaulichen:

Ich gebe mal den Quellcodeteil zur Einsicht, bei dem ich den Fehler vermute:
Wenn jemand eine Idee hat, wo der Fehler liegen könnte oder wonach ich evtl. suchen sollte, so bin ich wirklich sehr dankbar.
mir ist ein Problem aufgefallen, bei dem ich weder mit Hilfe von Google (es fehlen mir irgendwie auch die Schlagworte, wonach ich suchen soll), noch durch Probieren zu einer Lösung gekommen bin. Ich habe eine Funktion geschrieben, die es dem Besucher erlaubt, unter meinen Beiträgen eigene Kommentare zu verfassen. Natürlich findet dabei auch eine Überprüfung der Eingaben statt. Sofern eine Eingabe nicht den Vorgaben entspricht, so wird ein Fehler ausgegeben. Die eigegebenen Formulardaten sollen dabei natürlich erhalten bleiben. Es ist schon sehr ärgerlich, wenn man wieder alles erneut eingeben muss. Das funktioniert bei der "normalen Desktop-Version" meiner Seite auch auf allen Browsern tadellos. Doch nun ist mir aufgefallen, dass bei der mobilen Webseitenansicht die Formulardaten verloren gehen; unabhängig welcher mobile Browser. Sobald ich den Button "zur Desktop-Variante" klicke und die normale Website auf dem Smartphone angezeigt wird, bleiben die eingegebenen Daten erhalten.
Das nachfolgende Bild soll die Problematik kurz veranschaulichen:

Ich gebe mal den Quellcodeteil zur Einsicht, bei dem ich den Fehler vermute:
PHP:
// Kommentar eintragen
if(isset($_POST['kommentar_sent']))
{
$id = $_POST['id'];
$name = $_POST['name'][$id];
$email = $_POST['email'][$id];
$url = $_POST['url'][$id];
$kommentar = $_POST['kommentar'][$id];
$spamschutz = $_POST['spamschutz'][$id];
// Wird mittels CSS versteckt
if(!empty($spamschutz))
{
$fehler = 1;
$fehler_spamschutz = ''. $lang_artikel_kommentare_fehler_spamschutz .'';
}
if(empty($name))
{
$fehler = 1;
$fehler_name = ''. $lang_artikel_kommentare_fehler_name .'';
}
if(empty($email) || !eregi("^[a-z0-9\._-]+@+[a-z0-9\._-]+\.+[a-z]{2,4}$", $email) || ctype_cntrl($email))
{
$fehler = 1;
$fehler_email = ''. $lang_artikel_kommentare_fehler_email .'';
}
if(!empty($url))
{
if(!preg_match("/[h][t]{2}[p][\:][\/]{2}[w.0-9]{0,4}[a-zA-Z0-9.-]{2,40}[.][a-zA-Z]{2,7}/", $url))
{
$fehler = 1;
$fehler_url = ''. $lang_artikel_kommentare_fehler_url .'';
}
}
if(empty($kommentar))
{
$fehler = 1;
$fehler_kommentar = ''. $lang_artikel_kommentare_fehler_kommentar .'';
}
if($fehler === 1)
{
echo '<div class="kommentar_fehlermeldung">'. $lang_artikel_kommentare_fehler_fehlerhinweis .'</div>'."\n";
}
if($fehler != 1)
{
$select = "
INSERT INTO `artikel_kommentare`
(
`artikel_id`,
`name`,
`email`,
`url`,
`kommentar`
)
VALUES
(
'". $id ."',
'". $name ."',
'". $email ."',
'". $url ."',
'". $kommentar ."'
)
";
mysql_query($select);
if(mysql_affected_rows () > 0)
{
header('Location: '. $_GET['url'] .'?artikel_kommentare_sent_hinweis=1');
}
else
{
header('Location: '. $_GET['url'] .'?artikel_kommentare_sent_fehler=1');
}
mail("$email_webseitenbetreiber", "$lang_artikel_kommentare_email_betreff","$lang_artikel_kommentare_email_nachricht","From: $email"."\r\n".'Content-Type: text/plain; charset="UTF-8"');
}
}
// Input-Felder (hier nur Auszugsweise)
echo '<input type="text" name="name[' . $artikel['id'] . ']" value="'. $name .'" />'."\n";
echo '<input class="abschicken" type="submit" name="kommentar_sent" value="'. $lang_artikel_kommentare_abschicken .'" />'."\n";
Wenn jemand eine Idee hat, wo der Fehler liegen könnte oder wonach ich evtl. suchen sollte, so bin ich wirklich sehr dankbar.