PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PHP Script funktioniert nicht



K1ngC0bra
09.12.2007, 11:52
So also ich arbeite im Moment an einem Projekt in Delphi. Ein User soll sich Registrieren können. Die eingegebenen Daten sollen mittels PHP Script auf meinen Server geschrieben werden.
Ein Ordner mit dem Name des Users soll im Ordner "User" angelegt werden und ein Ordner mit der eingegebenen Emailadresse soll im Ordner "Email" angelegt werden. In dem zuvor angelegten Userordner sollen neue Dateien erstellt werden in die jeweils die Daten gespeichert werden:


<?php

$daten = array();
$daten['ordner'] = $_GET["ordner"];
$daten['username'] = $_GET["username"];
$daten['password'] = $_GET["password"];
$daten['email'] = $_GET["email"];
$daten['gender'] = $_GET["gender"];
$daten['location'] = $_GET["location"];
$daten['rang'] = $_GET["rang"];

$daten['wins'] = $_GET["wins"];
$daten['looses'] = $_GET["looses"];
$daten['teamname'] = $_GET["teamname"];
$daten['lastmatch'] = $_GET["lastmatch"];

mkdir ( "User/".$daten['ordner'], 0777);

mkdir ( "Email/".$daten['email'], 0777);

echo "Ordner: ".$daten['ordner']." angelegt

";
//Password
$filename = 'Password.cms';
if (!$handle = fopen("User/".$daten['ordner']."/".$filename, "a")) {
echo "Datei ".$filename." nicht öffenbar
";
exit;
}
if (!fwrite($handle, $daten['password'])) {
echo "Datei ".$filename." kann nicht geschrieben werden";
exit;
}
echo "Datei ".$filename." geschrieben!
";
fclose($handle);

//Username
$filename = 'Username.cms';
if (!$handle = fopen("User/".$daten['ordner']."/".$filename, "a")) {
echo "Datei ".$filename." nicht öffenbar
";
exit;
}
if (!fwrite($handle, $daten['username'])) {
echo "Datei ".$filename." kann nicht geschrieben werden";
exit;
}
echo "Datei ".$filename." geschrieben!
";
fclose($handle);

//Email
$filename = 'Email.cms';
if (!$handle = fopen("User/".$daten['ordner']."/".$filename, "a")) {
echo "Datei ".$filename." nicht öffenbar
";
exit;
}
if (!fwrite($handle, $daten['email'])) {
echo "Datei ".$filename." kann nicht geschrieben werden";
exit;
}
echo "Datei ".$filename." geschrieben!
";
fclose($handle);

//Gender
$filename = 'Gender.cms';
if (!$handle = fopen("User/".$daten['ordner']."/".$filename, "a")) {
echo "Datei ".$filename." nicht öffenbar
";
exit;
}
if (!fwrite($handle, $daten['gender'])) {
echo "Datei ".$filename." kann nicht geschrieben werden";
exit;
}
echo "Datei ".$filename." geschrieben!
";
fclose($handle);

//Location
$filename = 'Location.cms';
if (!$handle = fopen("User/".$daten['ordner']."/".$filename, "a")) {
echo "Datei ".$filename." nicht öffenbar
";
exit;
}
if (!fwrite($handle, $daten['location'])) {
echo "Datei ".$filename." kann nicht geschrieben werden";
exit;
}
echo "Datei ".$filename." geschrieben!
";
fclose($handle);

//Rang
$filename = 'Rang.cms';
if (!$handle = fopen("User/".$daten['ordner']."/".$filename, "a")) {
echo "Datei ".$filename." nicht öffenbar
";
exit;
}
if (!fwrite($handle, $daten['rang'])) {
echo "Datei ".$filename." kann nicht geschrieben werden";
exit;
}
echo "Datei ".$filename." geschrieben!
";
fclose($handle);


//Wins
$filename = 'Wins.cms';
if (!$handle = fopen("User/".$daten['ordner']."/".$filename, "a")) {
echo "Datei ".$filename." nicht öffenbar
";
exit;
}
if (!fwrite($handle, $daten['wins'])) {
echo "Datei ".$filename." kann nicht geschrieben werden";
exit;
}
echo "Datei ".$filename." geschrieben!
";
fclose($handle);

//Looses
$filename = 'Looses.cms';
if (!$handle = fopen("User/".$daten['ordner']."/".$filename, "a")) {
echo "Datei ".$filename." nicht öffenbar
";
exit;
}
if (!fwrite($handle, $daten['looses'])) {
echo "Datei ".$filename." kann nicht geschrieben werden";
exit;
}
echo "Datei ".$filename." geschrieben!
";
fclose($handle);


//Teamname
$filename = 'Teamname.cms';
if (!$handle = fopen("User/".$daten['ordner']."/".$filename, "a")) {
echo "Datei ".$filename." nicht öffenbar
";
exit;
}
if (!fwrite($handle, $daten['teamname'])) {
echo "Datei ".$filename." kann nicht geschrieben werden";
exit;
}
echo "Datei ".$filename." geschrieben!
";
fclose($handle);

//Lastmatch
$filename = 'Lastmatch.cms';
if (!$handle = fopen("User/".$daten['ordner']."/".$filename, "a")) {
echo "Datei ".$filename." nicht öffenbar
";
exit;
}
if (!fwrite($handle, $daten['lastmatch'])) {
echo "Datei ".$filename." kann nicht geschrieben werden";
exit;
}
echo "Datei ".$filename." geschrieben!
";
fclose($handle);
//*/
?>




Fehlermeldung bei einem Aufruf:


Warning: mkdir() [function.mkdir]: File exists in studio/Script.php on line 17

Warning: mkdir() [function.mkdir]: File exists in studio/Script.php on line 19
Ordner: Test angelegt


Warning: fopen(User/Test/Password.cms) [function.fopen]: failed to open stream: Stale NFS file handle in studio/Script.php on line 24
Datei Password.cms nicht öffenbar

Weiß jemand wo der Fehler liegt?

ir0n
09.12.2007, 12:05
Entweder der angegebene Pfad ist nicht korrekt, oder die PHP Datei hat keine 777er Schreibrechte. Der Zielordner benötigt ebenfalls 777er.
Alles andere sind Folgefehler.

Lg, Chris

bayer
09.12.2007, 12:10
der fehler tritt auf, wenn du versuchst, einen Ordner zu erstellen, der bereits existiert.

kannst du so umgehen:


$ok=0;
while($file=readdir('User'))
{
if($file== $daten['ordner'])
{
$ok = 1;
echo"Verzeichnis besteht bereits!";
}
}
closedir($verz);
if($ok==0)
{
mkdir ( "User/".$daten['ordner'], 0777);
echo"Verzeichnis erstellt!";
}

Zu dem anderen Problem muss ich nochn bisschen schauen. melde mich dann ;)

K1ngC0bra
09.12.2007, 12:53
Ordner: Test angelegt

Datei Password.cms kann nicht geschrieben werden

Dsa kommt jetzt ... Mein Script.php hat 0777

bayer
09.12.2007, 13:16
diese berechtigungen müssen die ordner haben, nicht dein script^^

kannste nochmal das komplette ding posten, so wie es jetzt ist?

Ne Fehlermeldung von dem Interpreter kommt ja nu nichtmehr :)

K1ngC0bra
09.12.2007, 13:21
Hab nix geändert. Nur die Ordner die aufm Server waren gelöscht

bayer
09.12.2007, 13:25
achso

darf ich dich dann mal fragen, wie du die dateien übergibst?

das machst du doch ohffentlich nicht durch aufrufen der script.php?password=c:\bla.cms?^^

K1ngC0bra
09.12.2007, 13:29
script.php?password=TestPW ....

So mach ichs

bayer
09.12.2007, 13:32
achso, du benutzt fwrite... übersehen^^


http://de.php.net/fwrite

guck dir das nochmal genau an, mit dem handle usw, dann sollte das klappen ;)

K1ngC0bra
09.12.2007, 14:18
Hab ich gestern schon angeschaut aber ich habe immernoch keine Ahnung :)