Daten in einem Formular von der Webseite aus absenden
Bin Anfänger.
Habe mit Javascript ein längeres Formular zum ausfüllen erstellt und es soll mit form action ="hallo.php" verschickt werden. Funktioniert nicht.
Nur ein Ausschnitt:
<h2>Bitte tragen Sie Ihre Daten hier ein</h2>
<form method="POST" action="hallo.php">
<p>Name: <input type="Name"></p>
<p>E-Mail: <input type="e-mail" ></p>
<p>Betreff: <input type="text"></p>
</form>
<p>
<fieldset>
<legend>In welcher Region liegt Ihr Objekt?</legend>
Straße:<input type="Straße">Ort:<input type="Ort" >
etc............
<p><input type="submit" value="send">
Die php Datei habe ich abkopiert und so umgeschrieben.
<html>
<body>Welcome <?php echo $_POST["name"]; ?>.<br />
Die Daten werden eingetragen<?php echo $_POST["age"]; ?> Ihre .....</body>
</html>
Nun denke ich liegt es an der php Datei.Ich habe einmal mit einem php editor und einmal mit einem normalen editor erstellt.Gespeichert natürlich mit Pfad etc.
Weiss aber wirklich nicht wo definitiv die Daten zu finden sind??
Das einzige was funktioniert ist über e-mail zu verschicken, und da muß ich die Daten mit dem Editor wieder öffnen und zusammensuchen.
Muß doch eleganter gehen?
Ich mache also einen gravierenden Denkfehler.
.
Für jedeHilfe sehr dankbar
Ein Neuanfänger
Antwort schreiben
Antwort 1 von katy vom 19.01.2021, 07:01 Options
Hallo Neuanfänger,
wo steht da was von JavaScript?
Versendet werden nur die Daten innerhalb <form ...> und </form>, alle <input ...> davor und dahinter werden ignoriert.
in deinem PHP-Script tauchen Bezeichner von Formular-Feldern auf, die im Formular nicht existieren. Achte auch auf Groß-/Kleinschreibung.
Falls dies dein Problem nicht löst müsstest du deinen Quellcode bitte vollständig und nicht so fetzenhaft posten. Evtl. auch mit Quellenagabe woher du dein (zweifelhaftes) PHP-Script hast.
katy
Antwort 2 von baldprofi vom 19.01.2021, 11:17 Options
Frage ich mich natürlich auch,es gibt sehr viele Vorlagen für diese rätselhaften welcome oder hello.php.
Ich schau mir das nochmal an,binde jetzt das formular in die Forms ein und mal sehen. Ansonsten poste ich meinen Quellcode vollständig mit Hoffnung auf weitere Hilfe.
Vielen Dank
Ach ja , natürlich Html
Mit Java hatte ich eben angefangen zu lernen und im Geiste war ich schon so weit, ..
BaldProfi??
Antwort 3 von Baldprofi vom 19.01.2021, 12:58 Options
Nochmals vielen Dank
Das Formular ist in Ordnung und das php neu nachgeschaut.
<html>
<head>
<title> Formulardaten ausgeben </title>
</head>
<body>
<h1>Formulardaten ausgeben</h1>
Hallo, <br>
Ihr Vorname lautet:
<? echo $_POST["vorname"]; ?>.<br>
Ihr Nachname ist:
<? echo $_POST["nachname"]; ?>.<br>
</body>
</html>
Ist nur zur Probe, denn so wie ich verstanden habe muß das komplette html formular in php geschrieben werden.Sieht schon ganz gut aus, nur dass das php script so bleibt wie es ist, also ohne Daten.Wird nix rüber geschickt.
Dafür gibt es sicher auch noch eine Lösung.Nur nicht aufgeben.
Grüße
Baldprofi?
Antwort 4 von katy vom 19.01.2021, 16:17 Options
Zitat:
Das Formular ist in Ordnung und das php neu nachgeschaut.
wenn du willst, dass wir dir helfen, solltest du unsere Zweifel daran dadurch zerstreuen, dass du bitte den Code postest. Wenn alles in Ordnung wäre würdest du hier nicht fragen!
Zitat:
Wird nix rüber geschickt.
wie hast du das geprüft? Existiert das Array $_POST überhaupt?
katy
Antwort 5 von Baldprofi vom 21.01.2021, 12:55 Options
Vielen Dank für die Hilfe
das Prinzip habe ich verstanden
Das ist nur ein probeformular ,meines ist etwas grösser aber was nützt es wenn noch nicht einmal diese Probe funktioniert.
also 1, html
<html>
<body>
<form action="http://....php."
method="POST"> Ihr Vorname: <input type="text" name="vorname"><br>
Ihr Nachname: <input type="text" name="nachname"><br> <input type="submit">
</form>
</html>
</body>
dann das zugehörige php
head>
<title> Formulardaten ausgeben </title>
</head>
<body>
<h1>Formulardaten ausgeben</h1>
Hallo, <br>
Ihr Vorname lautet:
<? echo $_POST["vorname"]; ?>.<br>
Ihr Nachname ist:
<? echo $_POST["nachname"]; ?>.<br>
?>.<br>
</body>
</html>
mit internen Browser oder mit web ,es werden keine Daten übergeben. sondern nur die php seite ohne daten wiedergegeben.
Also fehlt eine Anweisung für die Übertragung?
Für die Hilfe vielen Dank
Baldprofi
Antwort 6 von katy vom 21.01.2021, 17:43 Options
was bedeutet:
Zitat:
sondern nur die php seite ohne daten wiedergegeben
Wird der Quelltext angezeigt? Oder einfach eine leere Seite?
katy
Antwort 7 von baldprofi vom 21.01.2021, 22:16 Options
Der Quelltext wurde angezeigt aber die Daten die ich im Formular eingegeben hatte wurden nicht übertragen.
Mittlerweile ist das Problem gelöst,die Daten werden übertragen und ich freue mich, denn ich kann weitermachen.
Allerdings habe ich ja nun ein Formular mit label, radio und checkboxes und probiere gerade aus ob auch das in php zu machen ist..Musste überigens auch einen freespace suchen mit php Unterstützung. Also alles step by step
Ich freue mich auf die gute Unterstützung hier im Forum und werde sicherlich bald wieder um Rat fragen müssen
Vielen Dank an alle
Baldprofi
Antwort 8 von katy vom 22.01.2021, 00:35 Options
mit anderen Worten: dir stand gar kein Webserver mit PHP bislang zur Verfügung!
Dann ist es ja gut, dass du den Fehler selbst bemerkt hast. Meine Rückfrage in Antwort 6 ging auch schon in die Richtung.
Falls du wieder ein Problem hast schildere möglichst gleich umfassend die Situation mit allen relevanten Fakten. Das war hier für mich ein fürchterliches "aus der Nase ziehen".
Viel Spaß bei deinem Projekt
katy
Antwort 9 von Baldprofi vom 27.01.2021, 13:24 Options
Nun habe ich eine neue Frage.
Ich habe mit Html Formular und Php Skript eine Datei von den eigenen Dateien hochgeladen. Hat wohl auch funktioniert und ich erhalte diesen Auswurf:
Upload: xxxxxx.html
Type: text/html
Size: 0.3701171875 Kb
Stored in: /srv/www/httpd/phost/e/com/pytalhost/xxxxx/tmp/phpYyErOk
Wie verfahre ich weiter??
Kommt nun SQL zum Einsatz??
Danke
Baldprofi
Antwort 10 von katy vom 27.01.2021, 18:15 Options
Nein, das hat mit SQL nix zu tun. Das PHP-Skript hat deine Datei empfangen und sie temporär gespeichert. Nach Beendigung des Skripts wird sie dort gelöscht. Du müsstest sie also vor Skriptende aus dem Temp-Verzeichnis rauskopieren mit dem Befehl
move-uploaded-file. Zugriff auf das Temp-File erhältst du über
$_FILES.
katy
Antwort 11 von Baldprofi vom 29.01.2021, 13:05 Options
Danke Katy
aber dem Befehl hat es nicht geklappt. Habe einen Syntaxfehler, aber wo. In der Fülle der Informationen kam ich kaum weiter.
<?php
if ($_FILES["file"]["error"] > 0)
{
echo "error: " . $_FILES["file"]["error"] . "<br />";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br />";
echo "Type: " . $_FILES["file"]["type"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
echo "Stored in: " . $_FILES["file"]["tmp_name"]. "<br />";
move-uploaded-file ($_FILES["file"]["temp_name"],
"C:\Dokumente und Einstellungen\xxxxx\xxxxx\xxxxx.txt");
Wie Du siehst habe ich eine Datei aus den eigenen Dateien benutzt für die move-upload datei.Vielleicht liegt darin der Fehler?
Baldprofi
(Man soll nie die Hoffnung aufgeben)
Danke für die Hilfe
?>
Antwort 12 von katy vom 29.01.2021, 17:49 Options
Darin liegt der Fehler! Denn wieso sollte der Webserver das Recht besitzen, Dateien auf deinen PC zu kopieren? Der darf das natürlich nur auf dem Server.
katy
Antwort 13 von baldprofi vom 30.01.2021, 04:57 Options
Und wieder ein Srück weiter. vielen Dank
Baldprofi