Eingabe und Anzeige von Datensätzen

Buba235

Erfahrenes Mitglied
Hallo Leute!


Ich hab da ein Problem mit dem ich nicht so zurecht komme. Vielleicht könnt ihr mir da helfen. Also ich möchte in einer Eingabe (über Html und PHP) Daten eingeben. Okay das ist ja nicht so schwer und ich weiß wie es geht, aber ich will auch noch, dass die bereits eingegebenen Daten bei Aufruf der Seite auch angezeigt werden. Man soll sie auch ändern können. Das ganze soll ein Formular sein nach diesem Muster:

PHP:
<?php

    $id = $_GET['id'];

    //Verbindung mit Datenbank herstellen
	$conid = mysql_connect("", "", "") or die ("Datenbankserver nicht gefunden");

    //Datenbankauswählen
    mysql_select_db("") or die ("Datenbank nicht gefunden");

    //Das braucht man glaub ich gar net!!
    $queryA = "SELECT * FROM ip_data WHERE ID = '$id'";

    //Query an MYSQL
    $result = mysql_query($queryA);
    $db = mysql_fetch_assoc($result);
?>

<form name="eingabe.php" action="eingabe_insert.php" method="post">
<table align="center" border="1" bordercolor="#666666" cellpadding="2" cellspacing="0" width="500">

    <tr bgcolor=#DDDDDD>
        <td align="center" colspan="4"><b>Datensatz anlegen</b></td>
    </tr>

    <tr bgcolor=#FF4040>
        <td align="left" valign="top" height="32">MCC (immer 3-stellig)</td>
        <td align="left" valign="top" height="32" width="692" colspan="2" >
        <input name="MCC" size="1" maxlength="3" tabindex="1" value="<?php echo $db['MCC']; ?>"></td>
    </tr>

...

Also in der Tabelle ist "MCC" ja eine Textbox. Diese Textbox soll jetzt nicht nur Daten aufnehmen können, um sie in die DB zu schreiben, sondern sie soll auch noch die aktuellen Datensätze anzeigen. Ich hoffe ihr wißt was ich meine. Ach ja, hier noch ein Ausschnitt des Codes zum Eintragen der Daten:

PHP:
<?php

    //Verbindung mit Datenbank herstellen
    $conid = mysql_connect("", "", "") or die ("Datenbankserver nicht gefunden");

    //Datenbank auswählen
    mysql_select_db("") or die ("Datenbank nicht gefunden");

    //Posten
    $MCC                = $_POST['MCC'];
    $id                 = $_POST['id'];


if ((($Realm && $Ln_Operator && $Ln_Country && $WBA && $IP_Adresse) == "") && (($MCC && $MNC && $Land && $IRNetzbetreiber && $Prefix) != "")) {
        $sql3 = "INSERT INTO netzbetreiber.tblnetzbetreibermaping SET netzbetreiber.tblnetzbetreibermaping.Land = '$Land', netzbetreiber.tblnetzbetreibermaping.IRNetzbetreiber = '$IRNetzbetreiber', netzbetreiber.tblnetzbetreibermaping.MCC = '$MCC', netzbetreiber.tblnetzbetreibermaping.MNC = '$MNC', netzbetreiber.tblnetzbetreibermaping.MNC3 = '$MNC', netzbetreiber.tblnetzbetreibermaping.E212 = '$MCC$MNC', netzbetreiber.tblnetzbetreibermaping.WLAN = '1'";
        $sql4 = "INSERT INTO wlan.prefix_data SET wlan.prefix_data.Prefix = '$Prefix', wlan.prefix_data.MCC = '$MCC', wlan.prefix_data.MNC = '$MNC'";

        $insert = mysql_query($sql3);
        $insert = mysql_query($sql4);
    }

//Fehlerabfrage mit Weiterleitung
    if (!$insert) {
		echo "Änderungen <b><U>nicht</U></b> erfolgreich!";
		echo "<meta http-equiv = 'refresh' content = '2; URL = eingabe.php'>";
		exit();
    } else {
        //Weiterleitung falls Eintrag erfolgreich
        echo "<br>Änderungen erfolgreich!<br> Einen Moment, Sie werden weitergeleitet</br>";
        echo "<meta http-equiv = 'refresh' content = '2; URL = eingabe.php'>";
    }
?>


Das ist nur ein Beispiel und ein Ausschnitt. also ich freu mich auf euere Antworten :-)

Gruß
Buba
 
Gib die Eingaben einfach wieder im Formular aus, etwa:
PHP:
<input type="text" name="foobar" value="<?php isset($_GET['foobar']) ? echo htmlspecialchars($_GET['foobar']) : null; ?>">
 
Hallo!

Vielen Dank für die Antwort, aber leider klappt das nicht. Ich habe es nach deinem Muster in meinen Code eingefügt, aber folgender Teil: <?php isset() ? echo htmlspecialchars() : null; ?>
wird immer dann in meinem Textfeld angezeigt. Mein Code sieht jetzt so aus:

HTML:
<form name="eingabe.php" action="eingabe_insert.php" method="post">
<table align="center" border="1" bordercolor="#666666" cellpadding="2" cellspacing="0" width="500">

    <tr bgcolor=#DDDDDD>
        <td align="center" colspan="4"><b>Datensatz anlegen</b></td>
    </tr>

    <tr bgcolor=#FF4040>
        <td align="left" valign="top" height="32">MCC (immer 3-stellig)</td>
        <td align="left" valign="top" height="32" width="692" colspan="2" >
       <input type="text" name="MCC" value="<?php isset($_GET['MCC']) ? echo htmlspecialchars($_GET['MCC']) : null; ?>"></td>
    </tr>

...

Der im Code fett gekennzeichnete Teil wird immer ausgegeben, egal ob ich Daten in der DB hab oder nicht! Wie kann ich das umgehen?


Gruß
Buba
 
Zurück