| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |
|

04-09-2009, 13:36
|
|
matzeeeeable
Registrierter Benutzer
|
|
Registriert seit: Sep 2009
Beiträge: 16
|
|
PHP User können Dateinamen bestimmen
Hallo Foum User
Ich habe mir letztens eine Form zusammen "gebaut" und wollte was wissen:
Meine Form:
HTML-Code:
<center>
<form method="post" action="make.php">
<body bgcolor="#000000">
<table width="40%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td><font color="#FFFFFF">Servername:</font></td>
<td><input type="text" name="Servername"><br> </td>
</tr>
<tr>
<td><font color="#FFFFFF">Spiel:</td>
<td><input type="text" name="spiel"><br></td>
</tr>
<tr>
<td><font color="#FFFFFF">Adminname:</td>
<td><input type="text" name="adminname"><br></td>
</tr>
<tr>
<td><font color="#FFFFFF">Server IP:</td>
<td><input type="text" name="Serverip"><br></td>
</tr>
<tr>
<td><font color="#FFFFFF">Serverhomepage:</td>
<td><input type="text" name="Serverhomepage"><br></td>
</tr>
<tr>
<td><font color="#FFFFFF">Weitere Infos:</td>
<td><input type="text" name="WeitereInfos"><br></td>
</tr>
</table>
<input type="submit" name="Button" value="Weiter">
</form>
</center>
Mein Problem (bin schon am verzweifeln):
Ich möchte, das wenn der User in das Feld "Servername" einen Namen eingebt, erstellt er automatisch eine .html Datei auf meiner Webspace mit dem Namen, den der user eingegeben hat.
Ich hatte den PHP code benutzt, aber der funktioniert nicht. was muss ich ändern:
Hier mein PHP-Code
PHP-Code:
<?php $servername=$_POST[servername]." $serervname = fopen("$servername.html", "a"); ?>
Bitte um eine Lösung, bin am verzweifeln 
serverdose.ohost.de --> hier soll später das formular rein
Danke schon mal.
|

04-09-2009, 13:46
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Hallo,
warum verrätst du uns die Fehlermeldung(en) nicht? Ich vermute mal es ist ein Parse Error. Das Anführungszeichen am Ende der 1. Zeile passt dort irgendwie gar nicht. Wenn das nur ein Kopierfehler ist: könnte es eventuell schon an dem Tippfehler liegen ($serervname statt $servername)?
Dann finde ich es nicht besonders sinnvoll, eine HTML-Datei im Modus a zu öffnen. Außerdem ist äußerste Vorsicht geboten, wenn man mit Formulardaten ungeprüft Dateisystemoperationen aufruft. Ein Angreifer könnte dir sonstwas als Servernamen anbieten.
Gruß,
Anja
Geändert von AmicaNoctis (04-09-2009 um 13:48 Uhr)
|

04-09-2009, 13:48
|
unset
 Moderator
|
|
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.778
|
|
Wie wäre es mit touch? Allerdings: Der PHP-Prozess muss die entsprechenden Berechtigungen auf das Verzeichnis haben, wohin die Datei geschrieben werden soll und vor allem: Übernimm den Namen auf gar keinen Fall ungeprüft! Das ist ein Scheunentorgroßes Sicherheitsproblem!
P.S.: Außerdem hast du einen Syntax-Fehler in dem von dir zitierten Code! Das Highlighting des Forums sollte dich da schon drauf aufmerksam gemacht haben!
|

04-09-2009, 14:24
|
|
matzeeeeable
Registrierter Benutzer
|
|
Registriert seit: Sep 2009
Beiträge: 16
|
|
Danke für die antworten
Ich werd sie jetzt gleich mal austesten
Danke, bei problemen meld ich mich wieder
|

04-09-2009, 14:26
|
|
matzeeeeable
Registrierter Benutzer
|
|
Registriert seit: Sep 2009
Beiträge: 16
|
|
oh jetzt bringt er mir den fehler hier
Parse error: syntax error, unexpected T_VARIABLE in /usr/export/www/hosting/serverdose/servers/tests/make.php on line 3
Kannst mir mal den ganzen code aufschreiben, wie er gehört?
Währe dankbar
|

04-09-2009, 14:28
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Wie sieht denn dein aktueller Code aus?
|

04-09-2009, 14:30
|
unset
 Moderator
|
|
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.778
|
|
Ich hab doch gesagt, dass da ein Syntaxfehler ist!
|

04-09-2009, 14:32
|
|
matzeeeeable
Registrierter Benutzer
|
|
Registriert seit: Sep 2009
Beiträge: 16
|
|
Der sieht so aus, weiß aber nicht ob er stimmt
PHP-Code:
<?php $servername=$_POST[servername]. $servername = fopen("$servername.html", "a"); ?>
Kannst mir das mit dem Syntaxfehler bitte mal erklären?
Geändert von matzeeeeable (04-09-2009 um 14:36 Uhr)
|

04-09-2009, 14:37
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Du weißt ganz sicher, dass es nicht stimmt. Cem und ich haben dich auf den Syntaxfehler hingewiesen und PHP macht das auch. Der Punkt muss durch ein Semikolon ersetzt werden.
|

04-09-2009, 14:41
|
|
matzeeeeable
Registrierter Benutzer
|
|
Registriert seit: Sep 2009
Beiträge: 16
|
|
Zitat:
Zitat von AmicaNoctis
Du weißt ganz sicher, dass es nicht stimmt. Cem und ich haben dich auf den Syntaxfehler hingewiesen und PHP macht das auch. Der Punkt muss durch ein Semikolon ersetzt werden.
|
Semikolon? ;?
|

04-09-2009, 14:44
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
OMG!
PHP-Code:
<?php $servername=$_POST["servername"]; $fileHandle = fopen($servername . ".html", "a"); ?>
Dann verwendest du bitte für fwrite die Variable $fileHandle, sonst weißt du bald selbst nicht mehr, was $servername nun eigentlich sein soll.
Geändert von AmicaNoctis (04-09-2009 um 14:47 Uhr)
|

04-09-2009, 14:45
|
|
matzeeeeable
Registrierter Benutzer
|
|
Registriert seit: Sep 2009
Beiträge: 16
|
|
|

04-09-2009, 14:48
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Zitat:
Zitat von matzeeeeable
Aber den namen den ich am anfang eingeb, heißt nicht so in der html datei
|
Was bedeutet das auf "verständlich"?
|

04-09-2009, 14:50
|
|
matzeeeeable
Registrierter Benutzer
|
|
Registriert seit: Sep 2009
Beiträge: 16
|
|
Oh lol, falsch beschrieben sry.
Ja also ich gib ja in dem Formular den servernamen ein
aber die datei die erstellt heißt nur .html, soll aber eigentlich so heißen, wie ich eingegeben habe. geht das überhaupt?
|

04-09-2009, 14:54
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Zitat:
Zitat von matzeeeeable
Ja also ich gib ja in dem Formular den servernamen ein
aber die datei die erstellt heißt nur .html, soll aber eigentlich so heißen, wie ich eingegeben habe. geht das überhaupt?
|
Vielleicht solltest du dich an deine eigenen Namenskonventionen halten. Wenn du "Servername" im Formular groß schreibst und im PHP-Skript aber klein, kann es nicht funktionieren.
Bitte denk doch wenigstens ein kleines bisschen selber mit, ja?
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|