zurück zur Startseite
  


Zurück XHTMLforum > (X)HTML und CSS > (X)HTML
Seite neu laden php script funktioniert nicht... Hilfe...

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 25.06.2010, 12:29
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 20.06.2010
Beiträge: 7
Argon007 befindet sich auf einem aufstrebenden Ast
Standard php script funktioniert nicht... Hilfe...

Hallo forum,


ich möchte ein verzeichnis anlegen in dem später bilder gespeichert werden.
ich übergebe dem skript eine variable w1, die auch richtig beim ersten mal ausgegeben wird. Wenn ich aber die variable in if($_POST['senden']){...}
anzeigen möchte bzw. den file nahc $upload_dir kopieren will geht's nicht!!! was mache ich falsche??!! DANKE!


PHP-Code:
<form enctype="multipart/form-data" action="<? $_SERVER['PHP_SELF'?>" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="1048576">
<input type="file" name="toProcess">
<input type="submit" name="senden" value="Upload">
</form>
<?php
$upload_dir_root 
"/usr/export/www/vhosts/xxxx/hosting/xxxx/upload/";
$upload=$upload_dir_root.$w1;
echo 
$upload//geht, der pfad wird richtig angezeigt
mkdir($upload_dir,0770); //geht auch, wird angelegt


if($_POST['senden']){


echo 
$w1//GEHT NICHT! WARUM???
$upload_dir=$upload_dir_root.$w1;
move_uploaded_file($_FILES['toProcess']['tmp_name'], $upload_dir.$_FILES['toProcess']['name']);
}
?>
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 25.06.2010, 13:15
Benutzerbild von derHund
durstiges Tier
XHTMLforum-Mitglied
 
Registriert seit: 16.09.2004
Beiträge: 869
derHund befindet sich auf einem aufstrebenden Ast
Standard

$w1 ist nach dem POST-Request nicht (mehr) bekannt, du musst dem Server schon mitteilen, welchen Wert die Variable haben soll.
__________________
Die Zeit hat ihre Kinder längst gefressen: hund (back in black) | ??? | ??? | ...
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 25.06.2010, 13:51
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 20.06.2010
Beiträge: 7
Argon007 befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von derHund Beitrag anzeigen
$w1 ist nach dem POST-Request nicht (mehr) bekannt, du musst dem Server schon mitteilen, welchen Wert die Variable haben soll.
gibt's eine möglichkeit die variable an Post-request zu übergeben? w1 ist dynamisch d.h. abhägig von der eingabe des users.

Geändert von Argon007 (25.06.2010 um 14:02 Uhr)
Mit Zitat antworten
  #4 (permalink)  
Alt 25.06.2010, 14:38
Erfahrener Benutzer
XHTMLforum-Mitglied
 
Registriert seit: 18.06.2007
Ort: Verden
Beiträge: 405
chorn wird schon bald berühmt werden
Standard

SELFHTML: Navigationshilfen / Kurzreferenz: HTML > Versteckte
Elemente
Mit Zitat antworten
  #5 (permalink)  
Alt 25.06.2010, 17:22
Michael Walter
XHTMLforum-Mitglied
 
Registriert seit: 16.02.2010
Ort: Berlin
Beiträge: 237
Walter IT-Services befindet sich auf einem aufstrebenden Ast
Standard

Hi!

Versteckte Elemente sind aber veränderbar. Würde ich eher als unsicher erachten. Eine Session, DB/Datei als Zwischenspeicher wären auch eine Möglichkeit.

Noch ein Tip:
<? $_SERVER['PHP_SELF'] ?>
Da fehlt das echo. Wenn dann: <?=$_SERVER['PHP_SELF']?> oder <? echo $_SERVER['PHP_SELF'] ?>
Abgesehen davon gilt dies auch als unsicher, da man wohl die Variable manipulieren kann. Ich empfehle, den Namen des Scripts einfach direkt einzutragen.


LG
Micha
__________________
Walter IT-Services
Michael Walter

http://www.walter-it.de
http://blog.walter-it.de
Mit Zitat antworten
  #6 (permalink)  
Alt 26.06.2010, 10:12
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 20.06.2010
Beiträge: 7
Argon007 befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Walter IT-Services Beitrag anzeigen
Hi!

Versteckte Elemente sind aber veränderbar. Würde ich eher als unsicher erachten. Eine Session, DB/Datei als Zwischenspeicher wären auch eine Möglichkeit.

Noch ein Tip:
<? $_SERVER['PHP_SELF'] ?>
Da fehlt das echo. Wenn dann: <?=$_SERVER['PHP_SELF']?> oder <? echo $_SERVER['PHP_SELF'] ?>
Abgesehen davon gilt dies auch als unsicher, da man wohl die Variable manipulieren kann. Ich empfehle, den Namen des Scripts einfach direkt einzutragen.


LG
Micha
Hallo alle zusammen!
zu nächst an alle ein mercie, die hier tipps geben!!! Gibt mir die hoffnung das der skript irgendwan doch noch läuft...
Leider funtioniert der skript immer noch nicht. Ich werde zu nächst versuchen zu erklären was ich überhaupt erreichen möchte.
Die User laden die seite albumNameEingeben.php hier kann man den namen des Verzeichnises eingeben und eine kurze beschreibung. Sobald man jetzt den button "Bild speichern" betätig wird das Verzeichnis richtig unter "/usr/export/www/vhosts/xxxx/hosting/xxxx/upload" angelegt.
albumNameEingeben.php
PHP-Code:
<html>
<
body>
Hier musst du was eingeben.<br>
<
form action "albumVerzeichnisErstellen.php" method "post">
    
Verzeichnis: <input  name "w1"/><p>
    
kurze Beschreibung: <input name "w2"><p>
    <
input type "submit" value="Bild speichern">
    <
input type "reset">
</
form>
</
body>
</
html
Jetzt kurz noch was zu VerzeichnisErstellen.php. Hier wird das Verzeichnis mit dem vorhin eingegeben namen ($w1) auf dem server erstellt. Außerdem hat dieses skript noch eine form um fotos in den erstellten verzeichnis hoch zuladen. Dieser skript funktioniert nur bedingt, das verzeichnis wird zwar angelegt aber die fotos werden nur unter "/usr/export/www/vhosts/xxxx/hosting/xxxx/upload" obwohl das ziel verzeichnis exestiert. Wie kann ich erreichen das die bilder ins ziel verzeichnis geladen werden. Sorry bin ein newbie.
albumVerzeichnisErstellen.php
PHP-Code:
<form enctype="multipart/form-data" action="<? $_SERVER['PHP_SELF'?>" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="1048576">
<input type="file" name="toProcess">
<input type="submit" name="senden" value="Upload">
</form>
<?php
$upload_dir_root 
"/usr/export/www/vhosts/xxxx/hosting/xxxx/upload/";
$upload=$upload_dir_root.$w1;



if(
$_POST['senden']){
echo 
$w1;
echo 
$_POST["w1"];

//echo $w1; //GEHT NICHT! WARUM???
$upload_dir=$upload_dir_root.$w1;
move_uploaded_file($_FILES['toProcess']['tmp_name'], $upload_dir.$_FILES['toProcess']['name']);
}
?>
DANKE!
Mit Zitat antworten
  #7 (permalink)  
Alt 26.06.2010, 15:00
Michael Walter
XHTMLforum-Mitglied
 
Registriert seit: 16.02.2010
Ort: Berlin
Beiträge: 237
Walter IT-Services befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Argon007 Beitrag anzeigen
Sorry bin ein newbie.
Wir haben alle mal klein angefangen

Wegen dem Verzeichnisname:
Du speicherst doch bestimmt in einer Datenbank, welche User, welches Verzeichnis angelegt hat, oder? Wenn ja, dann würde ich genau das in dem zweiten Script wieder auslesen. Damit wäre das Problem mit der Übergabe des Namens erledigt.
Sollte dem nicht so sein, schlage ich weiterhin eine Session vor. Das ist auf jeden Fall sicherer als ein verstecktes HTML-Element.

Zu deinem Upload-Problem:
Als erstes sage ich, dass dir wahrscheinlich ein Slash fehlt.
Wenn $w1 = 'MeinAlbum' ist, ergibt sich:
$upload_dir=$upload_dir_root.$w1 = '/usr/export/www/vhosts/xxxx/hosting/xxxx/upload/MeinAlbum'.

Dem zufolge lautet die Auflösung deiner letzten Anweisung (sagen wir $_FILES['toProcess']['name'] = 'MeinBild.jpg):
$upload_dir.$_FILES['toProcess']['name'] = /usr/export/www/vhosts/xxxx/hosting/xxxx/upload/MeinAlbumMeinBild.jpg'

Sollte dem nicht so sein, bitte ich dich , mal folgendes zu machen:
PHP-Code:
$upload_dir_root "/usr/export/www/vhosts/xxxx/hosting/xxxx/upload/"
$upload=$upload_dir_root.$w1
echo 
'<br /><br />'.$upload_dir_root;
echo 
'<br /><br />'.$upload;


if(
$_POST['senden']){ 
echo 
$w1
echo 
$_POST["w1"]; 

//echo $w1; //GEHT NICHT! WARUM??? 
$upload_dir=$upload_dir_root.$w1
echo 
'<br /><br />'.$upload_dir;
echo 
'<br /><br />'.$upload_dir.$_FILES['toProcess']['name'].'<br /><br />';
print_r($_FILES)); 
Schreib dann bitte hier, was dabei herausgekommen ist.



Alternatives Problem:
Du hast keine Rechte in dem Ordner zu schreiben. Der Fehler unterläuft einem schnell, wenn man die Serverkonfiguration nicht kennt. Manche schlauen Admins kommen auf die Idee, FTP- und PHP-Nutzer zu trennen. Hast du den Ordner per FTP-Programm erstellt, darfst du möglicherweise nicht mit PHP drauf zu greifen bzw. reinschreiben. Um das zu lösen, musst du dem Ordner Schreib- und Leserechte für die "Group" einstellen und nicht nur für den "Owner" (Besitzer).


LG
Micha
__________________
Walter IT-Services
Michael Walter

http://www.walter-it.de
http://blog.walter-it.de
Mit Zitat antworten
  #8 (permalink)  
Alt 26.06.2010, 22:58
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 20.06.2010
Beiträge: 7
Argon007 befindet sich auf einem aufstrebenden Ast
Standard

Hi Walter!

du hast recht ich benutzt kein SQL. ich wollte klein anfangen, einfach vereichnis anlegen bilder abladen ins verzeichnis. Der zweck dabei ist es das alle die bilder auf dem server ablegen können und das alle die bilder sich anschauen können.
die ausgabe für $w1 und $_POST["w1"] ist leer
Code:
if($_POST['senden']){
echo $w1;
echo $_POST["w1"];
wenn albumVerzeichnisErstellen.php aufgerufen wird bekomme man als ausgabe folgendes
Code:
Warning: mkdir() [function.mkdir]: File exists in /usr/export/www/vhosts/funnetwork/hosting/xxx/upload/albumVerzeichnisErstellen.php on line 11

/usr/export/www/vhosts/funnetwork/hosting/xxx/upload/Array ( [toProcess] => Array ( [name] => 6x9 cm.jpg [type] => image/jpeg [tmp_name] => /usr/export/tmp/phpTRwgV1 [error] => 0 [size] => 8486 ) )
Mit Zitat antworten
  #9 (permalink)  
Alt 27.06.2010, 01:20
Michael Walter
XHTMLforum-Mitglied
 
Registriert seit: 16.02.2010
Ort: Berlin
Beiträge: 237
Walter IT-Services befindet sich auf einem aufstrebenden Ast
Standard

Das ist ja auch das gleiche Problem aus deinem Anfangspost.
Bitte benutzt eine Session, um die Variable zwischen den beiden Scripten zu schpeichern. Wenn du von Session keine Ahnung hast, empfehle ich dies hier: Quakenet/#php Tutorial - de - Sessions


Zur Fehlermeldung:
Ich sehe in deinem Code nirgends den Aufruf von mkdir()...daher kann man dir da schlecht helfen. Außerdem scheinst du, laut Fehlermeldung, die Ausgabe eines Arrays an den Pfad zu hängen.


Mein Tipp:
Mach dich über Session schlau. Die wirst du früher oder später eh brauchen. Wenn nicht hierfür, dann für etwas Anderes.
Wenn du Fehler postest, hätten wir auch gern den Quellcode der Datei dazu. Um Gottes Willen nicht nur den Teil, den die Fehlermeldung angibt. Das bringt zu mindestens 70% niemanden etwas.

EDIT:
Außerdem hast du mir nicht alle Ausgaben genannt, die ich dir in deinen Quellcode geschrieben habe.


LG Micha
__________________
Walter IT-Services
Michael Walter

http://www.walter-it.de
http://blog.walter-it.de
Mit Zitat antworten
Sponsored Links
Antwort

Themen-Optionen
Ansicht

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.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Hilfe - wie bekomme ich dieses Script zum laufen??? Dragonfly CSS 1 10.02.2010 16:45
php upload script mit verschiebung elias1993 Serveradministration und serverseitige Scripte 3 30.11.2009 16:04
Dateien auslagern - Include und PHP ArcVieh Serveradministration und serverseitige Scripte 17 27.03.2008 18:09
Steam funktioniert nicht !!! Dringend HILFE !!! Splinter Offtopic 19 03.07.2007 08:30
dtd und css in php funktioniert im IE nicht!!! da-lick CSS 17 09.06.2007 15:44


Alle Zeitangaben in WEZ +2. Es ist jetzt 02:22 Uhr.