HTML, PHP Dummy-Frage: Forms

Hi,
ich hab folgendes Formular:
Code:
<form action="create.php?file=./meinfile.txt">
<table bgcolor="lightgray" align=center width=300px border=1 cellspacing=0, cellpadding=3>
	<tr>
		<td>
			<input type="text" name="username" size="20">
		</td>
	</tr>
	<tr>
		<td>
			<textarea rows="10" cols="50" name="comment"></textarea>
		</td>
	</tr>
	<tr>
		<td align=right>
			<input type="submit" value="Speichern">
		</td>
	</tr>
</table>
</form>

Nun hätte ich gerne, dass das der Aufruf nach dem Absenden so aussieht:
create.php?file=./meinfile.txt&username=testuser&comment=der kommentar

Aber wie mache ich das? Hab schon versucht was über unsichtbare Textfelder zu finden, sowas scheints aber nicht zug eben ... Kann jemand helfen?

mfg
serow
 
1. google ist dein Freund - wenn du auch nur 5 minuten gesucht hättest, hättest du was gefunden.
2. Selfhtml da steht alles für DAUs erklärt
3. Ich würde mal die Methode festlegen - die wäre in deinem Fall GET - ich würde allerdings POST bevorzugen:

<form action="create.php?file=./meinfile.txt" method="get">
 
In der Tat ist hier POST als Methode vorzuziehen, zumal dir GET hier keinerlei Vorteile bringt (GET ist eigentlich nur für Links interessant).

Außerdem würde ich den Dateinamen aus dem Formular rausnehmen. Setzen kannst du ihn sowieso nicht, also lass den vom auswertenden Script (create.php) selbst festlegen. Damit schließt du schon eine potenzielle Sicherheitslücke, denn ansonsten macht sich jemand einen Spaß, setzt diesen Wert anders und überschreibt damit wahllos Dateien auf deinem Server.
 
Hmm, also die ganzen links habe mir eigentlich nicht geholfen. Ich erkläre mal genauer:
Das wird ein kleines Script in dem man Bilder hochladen und kommentieren kann. Die Daten sind in Dateien gespeichert, da der Server kein MySQL hat. Die erste Datei sieht so aus:
Code:
<name der datei mir den comments>,<titel>,<name des image files>

Die andere Datei (<name der datei mir den comments>) sieht so aus:
Code:
<username>,<comment>

Ich habe ein Main-Script, das die Bilder aller der Reihe nach ausliest und anzeigt. Zu jedem Bild kommt ein Button. Wenn man den klickt kommt ein Formular, mit dem man einen neunen Kommentar hinzufügen kann. (textfeld: username, textarea:comment (siehe oben). Wenn auch Speichern geklickt wird, soll der neue Kommentar in die Datei geschrieben werden. Das Problem besteht jetzt drin, dass mein PHP-Skript nicht mehr weiß in welche Datei das geschrieben werden soll, da ja nur username und comment als Variablen zurückkommen. Wie bekommt ich das jetzt hin, dass das Script sich quasi das File "merkt" ??
 
Vergib doch einfach eine ID für jedes Bild - dafür kannst du z.B. die Funktion date("U") oder beispielsweise einen md5 hash des ursprünglichen Dateinamens nutzen.

Der neue Dateiname setzt sich dann aus z.B. pic_ + ID + .dateiendung (txt, csv usw.) zusammen.
So kannst du sicher stellen, dass keiner irgendwelche daten auf deinem server überschreibt. ;)

Die ID musst du dann natürlich immer mit übergeben. Am besten nutzt du dafür ein <input type='hidden' name='id'> 8)

Wenn dir das zu viel Aufwand ist, würde ich mich nach einem Webspace mit MySQL Unterstützung oder einer der Datenbank Alternativen umschaun. :D
 
Zurück
Oben