Formular Eingabefelder vorbelegen

Nafets_2017

Neues Mitglied
Hallo,
ich möchte in meinem Formular zuvor abgefragte Datenbankwerte in die jeweiligen Eingabefelder als Vorgabe einsetzen (Editierfunktion von Dateneingaben). Egal an welcher Stelle ich die MySQL-Abfrage einbringe, erfolgt dieses jedoch nicht. Vermutlich werden diese Daten durch die Sicherheitsabfrage bzgl. Feldinhalt überschrieben Wie kann ich das lösen bzw. was mache ich falsch?
Danke für Infos.
Beste Grüße, Stefan

(Wenn ich hier im falschen Forum bin, bitte ich dieses zu entschuldigen.)

PHP:
<?php
error_reporting(E_ALL);
date_default_timezone_set("Europe/Berlin");


$error = false;
$errors = array();
$receiver = 'info@sxxx.yy';


function check_email ($string) {
    // RegEx created by Myle Ott, found at regexlib.com
    return preg_match('/^([a-zA-Z0-9_\-])+(\.([a-zA-Z0-9_\-])+)*@((\[(((([0-1])?([0-9])?[0-9])|(2[0-4][0-9])|(2[0-5][0-5])))\.(((([0-1])?([0-9])?[0-9])|(2[0-4][0-9])|(2[0-5][0-5])))\.(((([0-1])?([0-9])?[0-9])|(2[0-4][0-9])|(2[0-5][0-5])))\.(((([0-1])?([0-9])?[0-9])|(2[0-4][0-9])|(2[0-5][0-5]))\]))|((([a-zA-Z0-9])+(([\-])+([a-zA-Z0-9])+)*\.)+([a-zA-Z])+(([\-])+([a-zA-Z0-9])+)*))$/i', $string);
}

function check_onlynumbers ($string) {
    return preg_match('/^[0-9,.]{1,}$/', $string);
}

function check_onlyletters ($string) {
    return preg_match('/^[a-zA-ZäöüÄÖÜß]{1,}$/', $string);
}

function send_email ($subject, $body, $receiver, $html = 1) {
    if ($html != 1) {
        $body = str_replace('<br />', "\n", $body);
        $body = str_replace('<br>', "\n", $body);
        $body = strip_tags($body);
    }

    $subject = str_replace('\n', '', $subject);
    $subject = str_replace('\r', '', $subject);

    if ($html) {
        $header    = 'MIME-Version: 1.0' . "\n";
        $header .= 'Content-type: text/html; charset=utf-8'."\n";
        $header .= 'From: '.$receiver.' <'.$receiver.'>'."\n";
    } else {
        $header    = 'MIME-Version: 1.0' . "\n";
        $header .= 'From: '.$receiver.' <'.$receiver.'>'."\n";
    }

    if (mail($receiver, $subject, $body, $header)) {
        return true;
    } else {
        return false;
    }
}

function array_stripslashes(&$var) {
    if(is_string($var)) {
        $var = stripslashes($var);
    } else {
        if(is_array($var))
            foreach($var as $key => $value)
                array_stripslashes($var[$key]);
    }
}

if(get_magic_quotes_gpc()){
  array_stripslashes($_GET);
  array_stripslashes($_POST);
  array_stripslashes($_REQUEST);
  array_stripslashes($_COOKIE);
}

if (!empty($_POST)) {
    // Prüfung für das Feld "Startdatum"
    $errors['startdatum'] = null;    if (empty($_POST['startdatum'])) {
        $error = true;
        $errors['startdatum'] = ' class="error"';    }

    // Prüfung für das Feld "Enddatum"
    $errors['enddatum'] = null;    if (empty($_POST['enddatum'])) {
        $error = true;
        $errors['enddatum'] = ' class="error"';    }

    // Prüfung für das Feld "Ueberschrift"
    $errors['ueberschrift'] = null;    if (empty($_POST['ueberschrift'])) {
        $error = true;
        $errors['ueberschrift'] = ' class="error"';    }

    // Prüfung für das Feld "Meldung"
    $errors['meldung'] = null;    if (empty($_POST['meldung'])) {
        $error = true;
        $errors['meldung'] = ' class="error"';    }

    // Prüfung für das Feld "Link"
//    $errors['link'] = null;    if (empty($_POST['link'])) {
//        $error = true;
//        $errors['link'] = ' class="error"';    }

    // Prüfung für das Feld "Autor"
    $errors['autor'] = null;    if (empty($_POST['autor'])) {
        $error = true;
        $errors['autor'] = ' class="error"';    }

}
    $_text_idtbl = (!empty($_POST['idtbl']) ? htmlspecialchars($_POST['idtbl'], ENT_QUOTES, 'utf-8') : null);
   
    $_text_startdatum = (!empty($_POST['startdatum']) ? htmlspecialchars($_POST['startdatum'], ENT_QUOTES, 'utf-8') : null);

    $_text_enddatum = (!empty($_POST['enddatum']) ? htmlspecialchars($_POST['enddatum'], ENT_QUOTES, 'utf-8') : null);

    $_text_ueberschrift = (!empty($_POST['ueberschrift']) ? htmlspecialchars($_POST['ueberschrift'], ENT_QUOTES, 'utf-8') : null);

    $_textarea_meldung = (!empty($_POST['meldung']) ? htmlspecialchars($_POST['meldung'], ENT_QUOTES, 'utf-8') : null);

    $_text_link = (!empty($_POST['link']) ? htmlspecialchars($_POST['link'], ENT_QUOTES, 'utf-8') : null);

    $_select_autor_Autor01 = (!empty($_POST['autor']) && $_POST['autor'] == 'Autor01' ? ' selected="selected"' : null);
    $_select_autor_Autor02 = (!empty($_POST['autor']) && $_POST['autor'] == 'Autor02' ? ' selected="selected"' : null);

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>Kurznews</title>

<link rel="stylesheet" type="text/css" href="inc/jquery-ui-1_10_3.css" />
<link rel="stylesheet" type="text/css" href="inc/kurznews.css" />

<script src="inc/jquery-1.9.1.js"></script>
<script src="inc/jquery-ui.js"></script>
<script>
$(function() {
  $.datepicker.regional["de"] = {clearText: "löschen", clearStatus: "aktuelles Datum löschen",
                minDate: new Date(),             
                closeText: "schließen", closeStatus: "ohne Änderungen schließen",
                prevText: "zurück", prevStatus: "letzten Monat zeigen",
                nextText: "vor", nextStatus: "naechsten Monat zeigen",
                currentText: "heute", currentStatus: "",
                monthNames: ["Januar","Februar","März","April","Mai","Juni",
                "Juli","August","September","Oktober","November","Dezember"],
                monthNamesShort: ["Jan","Feb","Mär","Apr","Mai","Jun",
                "Jul","Aug","Sep","Okt","Nov","Dez"],                             
                monthStatus: "anderen Monat anzeigen", yearStatus: "anderes Jahr anzeigen",
                weekHeader: "Wo", weekStatus: "Woche des Monats",
                dayNames: ["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],
                dayNamesShort: ["So","Mo","Di","Mi","Do","Fr","Sa"],
                dayNamesMin: ["So","Mo","Di","Mi","Do","Fr","Sa"],
                dayStatus: "Setze DD als ersten Wochentag", dateStatus: "Wähle D, M d",
                dateFormat: "dd.mm.yy", firstDay: 1, initStatus: "Wähle ein Datum", isRTL: false,
                changeMonth: true, changeYear: true, showButtonPanel: true,showWeek: true};
                $.datepicker.setDefaults($.datepicker.regional["de"]);
  $( "#startdatum" ).datepicker({ dateFormat:"dd-mm-yy"});
  $( "#startdatum" ).datepicker("setDate", new Date());
  $( "#enddatum" ).datepicker({ dateFormat:"dd-mm-yy"});
 
});
</script>

</head>
<body>
<?php
if ($error || empty($_POST)) {?>

<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF'], ENT_QUOTES, 'utf-8'); ?>" method="post">

<fieldset>
<legend>Kurznews</legend>
<div class="formdesign">

<?php if ($error) { ?>
<div class="error_msg">Bitte alle mit * markierten Felder ausfüllen.</div>
<?php } ?>
<div>
    <label for="idtbl"<?php echo !empty($errors['id']) ? $errors['id'] : null ; ?>>id</label>
    <input tabindex="1" type="text" id="idtbl" name="idtbl" value="<?php echo $_text_idtbl; ?>" />
</div>
<div>
    <label for="startdatum"<?php echo !empty($errors['startdatum']) ? $errors['startdatum'] : null ; ?>>Startdatum *</label>
    <input tabindex="1" type="text" id="startdatum" name="startdatum" value="<?php echo $_text_startdatum; ?>" />
</div>
<div>
    <label for="enddatum"<?php echo !empty($errors['enddatum']) ? $errors['enddatum'] : null ; ?>>Enddatum&nbsp; *</label>
    <input tabindex="2" type="text" id="enddatum" name="enddatum" value="<?php echo $_text_enddatum; ?>" />
</div>
<div>
    <label for="ueberschrift"<?php echo !empty($errors['ueberschrift']) ? $errors['ueberschrift'] : null ; ?>>Überschrift *</label>
    <input tabindex="3" type="text" id="ueberschrift" name="ueberschrift" value="<?php echo $_text_ueberschrift; ?>" />
</div>
<label for="meldung"<?php echo !empty($errors['meldung']) ? $errors['meldung'] : null ; ?>>Meldung *</label><br />
<textarea tabindex="4" id="meldung" name="meldung" rows="5" cols="30"><?php echo $_textarea_meldung; ?></textarea>
<div>
    <label for="link"<?php echo !empty($errors['link']) ? $errors['link'] : null ; ?>>Link</label>
    <input tabindex="5" type="text" id="link" name="link" value="<?php echo $_text_link; ?>" />
</div>
<label for="autor"<?php echo !empty($errors['autor']) ? $errors['autor'] : null ; ?>>Autor *</label>
    <select tabindex="6" id="autor" name="autor">
        <option value="Autor01"<?php echo $_select_autor_Autor01; ?>>Autor01</option>
        <option value="Autor02"<?php echo $_select_autor_Autor02; ?>>Autor02</option>
    </select> <br style="clear: both;" />
<div style="text-align: center; margin: 5px;">
    <input type="submit" value="Änderung eintragen" />
</div>
</div>
</fieldset>
</form>
<?php
} else {

// Datenbankeintrag   
    include("inc/dbconnect.php");
           
    $startdatum = mysql_real_escape_string($_POST['startdatum']);
    $startdatum = implode('-', array_reverse(explode('-', $startdatum)));
    $enddatum = mysql_real_escape_string($_POST['enddatum']);
    $enddatum = implode('-', array_reverse(explode('-', $enddatum)));
    $ueberschrift = mysql_real_escape_string($_POST['ueberschrift']);
    $meldung = mysql_real_escape_string($_POST['meldung']);
    $link = mysql_real_escape_string($_POST['link']);
    $autor = mysql_real_escape_string($_POST['autor']);
    $aenderung = date("Y-m-d");
               
    $update = "UPDATE kurznews SET startdatum='$startdatum', enddatum='$enddatum', ueberschrift='$ueberschrift', meldung='$meldung', link='$link', autor='$autor', aenderung='$aenderung' WHERE idtbl='$idtbl'";
                   
    $ergebnis = mysql_query($update);

    if($ergebnis==true){
    echo '<h1>Kurznews</h1>';
    echo "Datenbank-Eintrag erfolgreich";
    echo '<p></p>';
    echo '<p></p>';
    // echo "<img src=\"img/positiv.PNG\" alt=\"\" height=\"122\" width=\"124\" border=\"0\" />";
    echo '<p></p>';
    echo '<p></p>';
    } else
    {
    echo "Datenbank-Eintrag nicht erfolgreich";
    echo '<p></p>';
    echo '<p></p>';               
    // echo "<img src=\"img/negativ.PNG\" alt=\"\" height=\"122\" width=\"124\" border=\"0\" />";
    echo '<p></p>';
    echo '<p></p>';
    }
    mysql_close();

// Mailversand
   
    $body = '';
    $body .= 'startdatum: '.htmlspecialchars(!empty($_POST['startdatum']) ? $_POST['startdatum'] : '', ENT_QUOTES, 'utf-8').'<br>';
    $body .= 'enddatum: '.htmlspecialchars(!empty($_POST['enddatum']) ? $_POST['enddatum'] : '', ENT_QUOTES, 'utf-8').'<br>';
    $body .= 'ueberschrift: '.htmlspecialchars(!empty($_POST['ueberschrift']) ? $_POST['ueberschrift'] : '', ENT_QUOTES, 'utf-8').'<br>';
    $body .= 'meldung:<br>'.htmlspecialchars(!empty($_POST['meldung']) ? $_POST['meldung'] : '', ENT_QUOTES, 'utf-8').'<br><br>';
    $body .= 'link: '.htmlspecialchars(!empty($_POST['link']) ? $_POST['link'] : '', ENT_QUOTES, 'utf-8').'<br>';
    $body .= 'autor: '.htmlspecialchars(!empty($_POST['autor']) ? $_POST['autor'] : '', ENT_QUOTES, 'utf-8').'<br>';
    if(send_email('Kurznews - Neuer Eintrag', $body, $receiver)) {
        ?>
        <p>Vielen Dank für Ihre Nachricht.</p>
        <p><img src="../../img/positiv.PNG" alt="" width="124" height="122" /></p>
        <p>&nbsp;</p>
        <a href="kurznews.php">Zurück zur Startseite</a>
        <?
    } else {
        ?>
         <p>Das Formular konnte leider nicht abgesendet werden. Bitte versuchen Sie es später noch einmal.</p>
         <p><img src="../../img/negativ.PNG" width="124" height="122" alt="Misserfolg" /></p>
         <p>&nbsp;</p>
         <a href="kurznews.php">Zurück zur Startseite</a>
        <?
    }
}
?></body>
</html>

Folgender Code wird für die Datenbankabfrage verwendet:

PHP:
if (empty($_POST['idtbl'])) {
                       echo 'Es wurde kein Datensatz zur Änderung ausgewählt';
                       echo "<p>&nbsp;</p>";
                       echo "<p>&nbsp;</p>";
                    echo "<img src=\"../img/negativ.PNG\" alt=\"\" height=\"122\" width=\"124\" border=\"0\" />";
                    echo "<p>&nbsp;</p>";
                    echo "<p>&nbsp;</p>";
                       echo "<p>&nbsp;</p>";
                      
                    } else
                    {                
                    include("inc/dbconnect.php");
                    $abfrage = "SELECT * FROM kurznews WHERE idtbl = $_POST[idtbl]";
                    $ergebnis = mysql_query($abfrage);
                    $value = mysql_fetch_assoc($ergebnis);
                    $idtbl = $value['idtbl'];
                    $startdatum = $value['startdatum'];
                    $enddatum = $value['enddatum'];
                    $ueberschrift = $value['ueberschrift'];
                    $meldung = $value['meldung'];
                    $link = $value['link'];
                    $autor = $value['autor'];
                   
                    mysql_close();
           
                    }
 

Neue Themen


Oben