• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Anfänger-Fragen

Banana.Crafts

Neues Mitglied
Hi, ich habe mich vorher so gut wie noch nie mit HTML zu tun gehabt, aber seit kurzen wollte ich mich mal damit beschäftigen.
Ich habe mir folgendes überlegt:
Eine Seite, wo man seinen Namen eingibt und dann mit einem Button bestätigt.
Darauf kommt an zu einer 2. Seite, durch die dann der Name wieder angezeigt wird.
Ich hab jetzt eine *.htm erstellt, die das Anmeldungsformular anzeigt, und eine *.php, die die Namen speichern soll. (Ich hab das aus dem Internet;D)
Das ist die *.htm:
PHP:
<html>
<body>
<form name="input" action="html_form_action.asp" method="get">
First name: <input type="text" name="FirstName" value="Mickey" /><br />
Last name: <input type="text" name="LastName" value="Mouse" /><br />
<input type="submit" value="Submit" />
</form> 

<p>If you click the "Submit" button, the form-data will be sent to a page called "html_form_action.asp".</p>

</body>
</html>

Und das die *.php:
PHP:
<?php
header ('Location: http://banana-crafts.110mb.com/');
$handle = fopen("usernames.txt", "a");

   fwrite($handle, "hi")

fwrite($handle, "\r\n");
 fwrite($handle, "Testscript")
fclose($handle);
exit;
?>

Meine Frage: Wie komme ich von dem Button auf die nächste Website?
Wie werden dabei die Namen gespeichert? (Ich weiß nur, dass man mi dem Button die *.php öffnen muss.)

Ich hab das ganze bei 110mb.com hochgeladen, so wie ich es aus einem Video gesehen habe.

Ich hoffe ihr könnt mir helfen, bin ein totaler Anfänger in HTML.

PS. Das Forum sieht nett aus;D
 
Zuletzt bearbeitet:
Hallo im Forum.

Wie komme ich von dem Button auf die nächste Website?

Indem der Client (zum Beispiel Browser) beim Anklicken des Buttons einen HTTP-POST-Request (oder HTTP-GET-Request) mit den zugehörigen Formulardaten an die im action-Attribut des zugehörigen form-Elements angegebene URL auf einem Server schickt. Der Server generiert daraufhin eine neue Antwort (meist HTML-Code), die zurück an den Client geliefert und dort beispielsweise visuell gerendert wird.

Wie werden dabei die Namen gespeichert?

In den dafür vorgesehenen Header-Feldern des HTTP-Requests. Diese Speicherung ist nicht persistent. Wenn du die Werte über einen längeren Zeitraum speichern möchtest, müssen sie serverseitig (oder unter Umständen auch clientseitig) abgelegt werden (etwa in einer Datei, Datenbank, Session-Datei oder einem Cookie).

Dein Beispiel schickt die Daten übrigens an eine *.asp-Datei.

Ich empfehle dir, zum Beispiel dieses Tutorial zu lesen: Quakenet/#php Tutorial - de - Einleitung
 
Oke, wie verwende ich "action"?
Kannst du ein konkretes Beispiel geben?
Oder vll sagen, ob und wo ich das in dem von dir geposteten Link finden kann.
 
Oke, dankeschön.
Ich hab versucht, es zu verstehen.
Darauf hab ich jetzt folgende Dateien:
PHP:
<form action="post.php" method="post">
    <fieldset>
        <legend>Logindaten eingeben</legend>
        <label>Benutzername: <input type="text" name="Username" /></label>
        <label>Password: <input type="text" name="Pass" /></label>
        <input type="submit" name="formaction" value="Einloggen" />
    </fieldset>
</form>


PHP:
<?php
header ('Location: http://banana-crafts.110mb.com/');
$handle = fopen("usernames.txt", "a");

   fwrite($handle, "hi")

fwrite($handle, "\r\n");
fwrite($handle, $_POST['Username'])
 fwrite($handle, "Testscript")
fclose($handle);
exit;
?>

Natürlich klappt es nicht. Was mach ich falsch?
 
Sorry, gerade keine Zeit, es wirklich zu testen: Ziemlich sicher bricht das Script bereits nach dem header()-Befehl mit einer Header-Weiterleitung ab. Zieh den header()-Aufruf ganz nach hinten vor das exit;.

Um zu prüfen, ob die "Ausführung" überhaupt in post.php ankommt, kannst du dort testweise zum Beispiel einfach die POST-Daten ausgeben lassen.

PHP:
<?php
print_r($_POST);
 
So, dann will ich dir mal helfen:
1. Ich würde mal deine Datei in "index.html" umbenennen ;-)
2. Hier der HTML-Code:
HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
	<title>Name-Transporter</title>
</head>
<body>
<form action="post.php" method="post">
    <fieldset>
        <legend>Logindaten eingeben</legend>
        <label>Benutzername: <input type="text" name="username" /></label>
        <label>Password: <input type="password" name="pass" /></label>
        <input type="submit" name="formaction" value="Einloggen" />
    </fieldset>
</form>  
</body>
</html>
3. Das ist die PHP:
Code:
<?php
	$name = $_POST['username'];
	$pwd = $_POST['pass'];
	
	echo('Hey, '.$name.'<br />');
	echo('dein Passwort "'.$pwd.'" ist ziemlich cool');
?>

Erklärung der Php-Datei:
Mit $ legst du eine neue Variable an, in welche du den Wert der mitgeschickten Parameter speicherst. Dann gibt man das ganze mit echo aus und dann kannst du noch Text und HTML hinzufügen ;-)
 
Ich glaub, ich versteh das noch nicht so ganz.
Der lässt einfach die Variablen weg.
Hier ist mal der Link: Name-Transporter
Aber dickes Dankeschön, dass das so geklappt hat, dass ich wenigstens "hey" und "dein passwort ist cool" angezeigt wird.

Währe echt geil wenn du mir mit den Variablen noch helfen würdest;D

€dit:
sry, jetzt gehts doch.
ihr seid echt die besten;D
 
Zuletzt bearbeitet:
Zurück
Oben