Zum Inhalt springen

Formular automatisch ausfüllen lassen per URL


Empfohlene Beiträge

Geschrieben

Hallo Community,

ich habe eine MySQL-Datenbank mit nur einer Tabelle, in der die folgenden Spalten angelegt wurden:

EAN, Bezeichnung, Beschreibung, Preis

Nun habe ich eine HTML-Seite erstellt mit einem Formularfeld, in dem die EAN-Nummer eingegeben wird. Nach einem Klick auf den Prüfen-Butten erscheint meine PHP-Seite mit der eingegebenen EAN-Nummer und den dazugehörigen Daten (Bezeichnung, Beschreibung, Preis). Gebe ich nichts in das Formularfeld ein und klicke gleich auf Prüfen, so werden mir alle Datensätze angezeigt.

So weit, so gut, klappt erstmal.

Nun würde ich aber beim Aufruf der HTML-Seite direkt meine gewünschte Eingabe in das Feld mitgeben.

Ich würde also gerne eingeben: www.domain.de/seite.html?feldname=123456789

Im Formularfeld soll nun automatisch 123456789 eingetragen werden, klappt aber nicht.

Wie stell ich das denn an?

Andere Frage: Kann ich auch gleich den entsprechenden Datensatz über die URL aufrufen lassen?

Danke schonmal!

MfG

Geschrieben

Nimm anstatt einer statischen HTML Seite eine PHP Seite und greife die via Get übergebenen Daten ab und fülle sie in die Felder des durch die PHP Seite erstellten Formulars (anhand der Daten kannst Du natürlich auch den Datensatz laden)

Geschrieben (bearbeitet)

Danke flashpixx, aber ich muss dazusagen, ich bin Anfänger bei php und versteh erstmal nur Bahnhof was du geschrieben hast ;-)

Das hier war meine ean.html (Ausgangsdatei):


<html><head><title>EAN-Code-Abfrage</title></head>

<body>

<form action="eanergebnis.php" method="POST">

<input type="text" name="ean" /><br/>

<input type="submit" value="Prüfen" />

</form>

</body>

</html>

Und das hier meine eanergebnis.php (Zieldatei):

<?php

$link = mysql_connect("localhost", "xxx", "xxx") or die(mysql_error());

mysql_select_db("xxx") or die(mysql_error());


$ean = $_POST ['ean'];


if(empty($ean))

{

$result = mysql_query("SELECT * FROM ean");

}

else

{

$result = mysql_query("SELECT * FROM ean WHERE ean = '$ean'")

or die(mysql_error());  

}




echo "<table border='1'>";

echo "<tr> <th>EAN-Code</th> <th>Bezeichnung</th> <th>Beschreibung</th> <th>Preis</th></tr>";


while($row = mysql_fetch_array( $result )) {


	echo "<tr><td>"; 

	echo $row['ean'];

	echo "</td><td>"; 

	echo $row['bezeichnung'];

	echo "</td><td>"; 

	echo $row['beschreibung'];

	echo "</td><td>"; 

	echo $row['preis'];

	echo "</td></tr>"; 

} 


echo "</table>";

?>

Bearbeitet von Hornochse
Geschrieben

Sorry, auch das ist für mich nur Bahnhof... Bin ja schon froh, dass ich überhaupt die Verbindung zur MySQL-Datenbank hingekriegt habe und dass die Auswertung soweit funktioniert...

Geschrieben

Du solltest verstehen was Du programmierst.

PHP: $_GET - Manual

PHP: $_POST - Manual

Du verwendest schon Post, d.h. Du musst Dir nur überlegen wie Du das entsprechend umschreibst. Parameter, die an der URL stehen, werden via $_GET gelesen, d.h. Du musst prüfen, ob diese Parameter gesetzt sind, wenn ja, nimmst Du diese direkt und arbeitest mit denen, wenn nein, dann zeigst Du einfach Dein Formfeld an. Wenn Du nun festgestellt hast, dass Parameter an der URL hängen, kannst Du diese in den HTML Code einbinden siehe dazu SELFHTML: HTML/XHTML / Formulare / Eingabefelder und Eingabebereiche sprich Du musst nur den HTML Code passend mit den Parametern zusammenfügen.

Geschrieben

Vielen Dank, habs hinbekommen! Ging ja einfach ;-)

Ich habe jetzt zwei PHP-Seiten angelegt, einmal mit GET, damit ich die EAN an die URL hängen kann und einmal mit POST um die Eingabe aus dem Formularfeld der HTML-Seite zu verarbeiten.

Danke!

Geschrieben

geht auch alles in eine Seite



prüfe get wenn Parameter angegeben

generiere Form mit Parameter

andernfalls generiere Form ohne Parameter


wenn Parameter vorhanden dann führe mysql aus

erzeuge Ausgabetabelle

Du solltest Post und Get nicht unbedingt mischen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...