PHP Kurs Logo  
 
Buttons PHP Kurs - Kapitel Trennlinie Downloads Trennlinie Was brauche ich ? Trennlinie Entwickler Jobs Trennlinie Kontakt Trennlinie Impressum Buttons
 
 
Menu
Allererste PHP Schritte
- Webserver Installation
- PHP Editor Installation

PHP Grundlagen
- PHP Grundwissen
- Mein erstes Programm
- Kommentare einfügen
- Variablen
- PHP+HTML mischen
- If Abfragen
- Rechenarten
- Arrays
- Schleifen
- Funktionen
- Klassen
- Includes
- Sessions und Cookies
- Login mit Sessions
- Login mit Datenbank
- Referer auslesen
- Wert aus Datenbank
- Variablen übergeben

MySQL Grundlagen
- Was ist das ?
- Erste Schritte
- Verbindung herstellen
- Einfache SQL Befehle
- SQL Injection

Häufig gefragt
- Was ist Adwords ?
- Interessante Links
- Wasserzeichen mod_rewrite
- Thumbnails erstellen
- PHP Gästebuch
- PHP Header
- Webseiten auslesen
- Socket Verbindungen
- E-Mail Adressen prüfen
- E-Mails versenden
- $_GET & $_POST
- Datenbank sichern
- Server DDOS Angriffe Abwehren
- Webhosting - Worauf ist zu achten ?
- Fachübersetzungen
- Anbieter finden

Interessante Artikel
- Soft-Skill-Zertifizierung
- Sicherheits Workshops


Variablen aus der Datenbank in ein Textfeld schreiben

Wir haben eine MySQL Datenbank. Innerhalb dieser Datenbank existiert eine Tabelle, die wir zum Beispiel mit PHPMyAdmin angelegt haben. Diese Tabelle können wir mit Werten füttern ; z.B. in unserem Fall mit Telefonnummern, Adressen usw.


Datei formular.php:

<?php
    $_db_host 
"localhost";
    
$_db_username "username";
    
$_db_passwort "passwort";
    
$_db_datenbank "datenbank";

    
# Verbindung zur Datenbank herstellen
    
$_link mysql_connect($_db_host$_db_username$_db_passwort);

    
# Prüfen ob die Verbindung geklappt hat
    
if (!$_link)
        {
        
# Nein, also das ganze Skript abbrechen !
        
die("Keine Verbindung zur Datenbank möglich: " .
            
mysql_error());
        }

    
# Verbindung hat geklappt, weiter ...
    
echo "Verbindung zur Datenbank erfolgreich.<br>";

    
# Datenbank auswählen
    
mysql_select_db($_db_datenbank$_link);

    
# Daten aus der Tabelle selektieren
    # Wir nehmen den ganzen Eintrag (*), wo (where) die id gleich 2
    # ist und wir wollen nur 1 Zeile als Ergebnis (limit 1)
    
$_sql "SELECT * FROM adressen WHERE id=2 LIMIT 1";
    
$_resultat mysql_query($_sql$_link);

    
# Den gefundenen Datensatz einlesen !
    
$_daten mysql_fetch_array($_resultatMYSQL_ASSOC);

    
# Alle Daten aus dem Array anzeigen
    
print_r($_daten);

?>
<form method="POST" action="formular.php">
<input name="name" value="<?php echo $_daten["name"]; ?>"><br>
<input name="adresse" value="<?php echo $_daten["adresse"];?>"><br>
<input type=submit name=submit value="Formular absenden">
</form>
<?

    
# Datenbankverbindung wieder schliessen
    
mysql_close($_link);
?>


Erklärung:

Oben in den ersten Zeilen müssen die Login Daten zu der Datenbank angegeben werden. Sollte bei Host localhost nicht funktionieren, kann man auch 127.0.0.1 probieren. Wenn keine Verbindung zur Datenbank aufgebaut werden kann, dann bricht das Skript mit der MySQL Fehlermeldung ab.

Kommt die Verbindung zustande wird die Datenbank selektiert. Innerhalb dieser Datenbank befinden sich unsere Tabellen, die wir dann mit dem Select Befehl abfragen. Jetzt können wir die Daten abfragen und die Daten aus der Datenbank in unser Formular eintragen.

Mit mysql_fetch_array holen wir den vorher mit Select selektierten Datensatz aus der MySQL Tabelle und legen diesen in $_daten als Array ab. Das Print_r soll euch nur nochmal zeigen, was alles nun in dieser Variable gespeichert ist. Jetzt können wir die einzelnen Werte dieser Variable benutzen.

Achtung: durch das MYSQL_ASSOC erreichen wir, dass der name des Tabellenfeldes im Array genauso hinterlegt wird, wie es in der Tabelle heisst. Haben wir zum Beispiel in der Tabelle ein Feld, welches strasse heisst, dann erscheint der Wert dieses Feldes im Array $_daten["strasse"]; ... lassen wir das MYSQL_ASSOC weg, dann könnt Ihr euch die Daten in $_daten[1]; usw abholen, was natürlich sehr unübersichtlich und nicht zu praktizieren ist.

Zuerst wechseln wir mit ?> von PHP wieder auf HTML und geben die HTML Kommandos für das Formular ein. Wie Formulare genau aufgebaut werden, könnt Ihr hier nachlesen. Für uns ist das input Feld relevant wo wir die Variablen Werte drinne ablegen werden. Nachdem das Feld mit input bestimmt wurde nutzen wir den HTML Befehl value="". Mit Hilfe von value ist es möglich dem Formularfeld Werte vorzugeben. Diese werden dann schon angezeigt, bevor der User überhaupt was eingibt.

Wie Ihr seht haben wir euch hier 2 verschiedene values gezeigt, zwei verschiedene Arten, wie man die Werte darin eintragen kann. Der Wert muss natürlich innerhalb der Anführungszeichen stehen, daher wechseln wir in beiden values innerhalb der Anführungszeichen in den PHP Modus.

Im ersten Beispiel haben wir mit Hilfe von echo den Inhalt aus $_daten["name"]; ausgegeben. Will man nur einen Wert ausgeben, so kann man dies wie im zweiten Valuebeispiel gezeigt auch abkürzen und anstelle des echos das Gleichheitszeichen verwenden. Beides erzeugt genau den gleichen Effekt - den Wert der Variable auszugeben.

Die $_POST Werte abfragen

Wenn Ihr nun die Werte aus dem Formular abfragen wollt, die der User endgültig eingegeben und dann abgesendet hat, so findet Ihr sämtliche Formulardaten in dem Array $_POST wieder. Achtet auf die Großschreibung ! Mit einem print_r($_POST); könntet Ihr euch dann angucken, was alles gespeichert ist - hier eine kleine Möglichkeit die eingegebenen Daten dann wieder auszugeben:

<?php
  
if (!empty($_POST["submit"]))
    {
    echo 
"Als Name hast du " $_POST["name"] . " eingegeben.<br>";
    echo 
"Die Adresse: " $_POST["adresse"] . "<br>";

    
print_r($_POST);
    }
?>

Erklärung:

Wenn $_POST nicht leer ist, dann arbeite den Inhalt der geschweiften Klammern ab und gebe mit echo den Inhalt des Textes und der beiden $_POST Werte aus. Zusätzliche gebe das komplette Array mit print_r aus.






<<<< zurück Kapitelauswahl vorwärts >>>>




Kommentare: (absteigend sortiert)

Hier stehen noch alte Kommentare, die direkt über die Webseite gemacht wurden. Es kann dort nicht weiter kommentiert werden. Bitte nutzt dafür die Facebook Kommentare.

.:: 13.03.14 - 19:01 Uhr :: Name: anonymus ::.
Hallo,
tutorial ist super, jedoch ein bisschen veraltet. Seit langem weisen die PHP "Freaks" dararuf hin, dass man die neue mysqli interface benutzen soll
Anmerkung Charly: Danke. Basics sind aber nie veraltet. Und erst Krabbeln, Laufen, Rennen und dann zur Olympiade anmelden. Ich kriege viele Mails von Leuten die gleich Plugins Programmieren wollen, aber noch kein Echo absetzen können.

Es führen viele Wege nach Rom. Wenn man einen davon erstmal kapiert hat kümmert man sich um den Rest :-)

.:: 30.04.13 - 19:10 Uhr :: Name: mir ::.
zwei Fragen: wie sieht das Script aus, wenn man in html andere Werte einträgt, also wirklich ein Formular hat, dessen Werte dann in die Datenbank übertragen werden soll?
Zweitens: Das Auslesen sieht ja noch ein bisschen “hässlich” vom Style her aus…geht das einfach schöner zu machen, in einer Tabelle mit Drop-Down-Auswahl zb.?

Danke von mir!

.:: 12.10.11 - 23:10 Uhr :: Name: Enzo ::.
Hallo

Ich würde gerne wissen wie ich ein "google" mässiges Abfrage Formular hinbekomme. Damit ich dann ein beliebiges item in das Suchfeld eingeben kann und dann "Search" dann spuckt es mir einen Datensatz von der Datenbank aus.

Kann wer helfen?

.:: 31.03.11 - 07:10 Uhr :: Name: Jojo ::.
Klasse Tutorials, hast mir echt geholfen!
Weiter so..!

Beste Grüße
Deine Jojo

.:: 29.11.10 - 17:40 Uhr :: Name: Ben ::.
ich kapire das nicht was muss ich jetzt in die formular.php rein schrieben!
Anmerkung Charly: Hallo Ben, der Quelltext oben ist der gesamte Inhalt aus der Datei formular.php - einfach mit einem Editor als Datei abspeichern.

.:: 07.08.10 - 10:38 Uhr :: Name: Charly ::.
Wenn du mit der Zeile Probleme hast, kann es sein dass bei Dir in der Apache/PHP Konfiguration die Short_Open_Tags nicht aktiviert sind. Dann funktioniert <? nicht für PHP - dann muss man PHP immer mit <?php beginnen.

Probiers mal aus.

Gruß
Charly

.:: 07.08.10 - 00:17 Uhr :: Name: Jürgen ::.
Hallo
ich habe mit dieser Zeile Probleme
<input name=\"adresse\" value=\"<?=$_daten[\"adresse\"];?>\"><br>

Stimmt da was nicht










Content
 
  Bottom Design  


PepperTools.de Software Download | Software Shop
www.imilkowski.eu - Software Programmierung und Webdesign


 


Persönliche Empfehlung
Mit Wix.com eine kostenlose Homepage erstellen ? Einfach, schnell und ohne Vorkenntnisse.