Angel Of Death
Hallo zusammen,
ich versuch mich grad in einem XML Upload und einem kleinen Warenkorb.
Zunächst aber erst einmal gehts hier um den Upload
ich habe ein Formular erstellt wo man ein Passwort eingeben kann, wenn dieses Passwort stimmt soll man zu einem Formular kommen wo man eine Datei uploaden kann, aber nur eine bestimmte, nämlich eine xml Datei namens artikeldaten.xml.
Das funktioniert auch alles gut und auch wenn ich einen anderen Dateityp hochlade bekomme ich eine Fehlermeldung das es der falsche Dateityp ist.
Hier ist aber der Haken. Die Datei mit dem falschen Dateityp wird trotzdem auf meinen Testserver hochgeladen.
Ziel des Ganzen ist es, das ich die artikeldaten.xml verändere, das heisst den Inhalt und dieser neue Inhalt übernommen wird. Diese Veränderung in der artikeldaten.xml soll sich dann auf meine Warenkorbartikel auswirken, da Artikel in der artikeldaten.xml hinterlegt sind.
Mir wurde dann gesagt das ich move_uploaded_file auch in die if Anweisung mit einfügen muss, weiss aber nicht recht wie ich das machen muss, bzw alles was ich getestet hab, hat zu Fehlern geführt.
Das verwendete Passwort ist: geheim
Hier mal meine Scripte:
upload.php
xml_upload.php
Vielleicht kann mir ja jemand sagen wie ich das machen muss.
PS: ausserdem wurde mir gesagt wenn ein bestimmter Dateityp nich erwünscht ist, darf ich kein move_uploaded_file schreiben. Da wird dann zwar der Upload durchgeführt. Ich seh es aber nicht. Da sich die Datei auf dem Testserver nicht aktualisiert.
Liebe Grüsse
Spatzihasi
ich versuch mich grad in einem XML Upload und einem kleinen Warenkorb.
Zunächst aber erst einmal gehts hier um den Upload
ich habe ein Formular erstellt wo man ein Passwort eingeben kann, wenn dieses Passwort stimmt soll man zu einem Formular kommen wo man eine Datei uploaden kann, aber nur eine bestimmte, nämlich eine xml Datei namens artikeldaten.xml.
Das funktioniert auch alles gut und auch wenn ich einen anderen Dateityp hochlade bekomme ich eine Fehlermeldung das es der falsche Dateityp ist.
Hier ist aber der Haken. Die Datei mit dem falschen Dateityp wird trotzdem auf meinen Testserver hochgeladen.
Ziel des Ganzen ist es, das ich die artikeldaten.xml verändere, das heisst den Inhalt und dieser neue Inhalt übernommen wird. Diese Veränderung in der artikeldaten.xml soll sich dann auf meine Warenkorbartikel auswirken, da Artikel in der artikeldaten.xml hinterlegt sind.
Mir wurde dann gesagt das ich move_uploaded_file auch in die if Anweisung mit einfügen muss, weiss aber nicht recht wie ich das machen muss, bzw alles was ich getestet hab, hat zu Fehlern geführt.
Das verwendete Passwort ist: geheim
Hier mal meine Scripte:
upload.php
PHP:
<?php
//Holt sich das Passwort aus dem POST
$passwort = $_POST['passwort'];
//isset Bedeutet das in der Variable "passwort" was drin ist
if (isset($passwort)){
//Wenn die Eingabe Passwort = geheim ist
if ($passwort == "geheim"){
// wird die Variable angeldet auf True also wahr gesetzt
$anmelden = true;
}
// wenn passwort ist falsch
else{
if($anemelden == false){
print "Die Anmeldung war nicht erfolgeich";
print "<a href='upload.php'></br></br>Zurück zur Passworteingabe</a>";
// bei falscheingabe des passwortes wird nur der link zurück zur passworteingabe
// und der text "die anmeldung war nicht erfolgreich" ausgegeben, nicht aber
// erneut das login-formular
exit();
}
}
}
?>
<html>
<body>
<?php
if ( $anmelden == "" || $anmelden != true ) {
?>
<h1>Bitte geben Sie ein Passwort ein</h1>
<!-- PHP_SELF gibt an, das die eigene Seite aufgerufen wird -->
<form action="<?php print $_SERVER['upload/PHP_SELF'];?>" method="POST" >
<input type="password" name="passwort">
<input type="submit" value="Log-in">
</form>
<?php }
// Überprüfung: ob die Variable angemedelt wahr ist, also den Wert beinhaltet den wir am Seitenanfang angegeben haben
if ( $anmelden == true ) {
?>
<h1>Dateiupload</h1>
<form method="post" action="xml_upload.php" enctype="multipart/form-data"><p>
<input type="file" name="datei" accept="text/xml"/></p>
<input type="submit" value="senden"/></p>
</form>
<?php
print "<a href='upload.php'></br></br>Zurück zur Passworteingabe</a>";
print "<a href='artikel.php'></br></br>Hier geht´s zu den Artikeln</a>";
?>
<?php }
?>
</body>
</html>
PHP:
<?php // Dateiupload //
$datei = $_POST["datei"];
print "Datei: ".
$_FILES["datei"] ["name"]."<br>";
print "Dateigroesse: ".
$_FILES ["datei"] ["size"]." Bytes<br>";
print "Dateityp: ".
$_FILES ["datei"] ["type"]."<br>";
$erfolg = move_uploaded_file (
$_FILES ["datei"] ["tmp_name"],
$_FILES ["datei"] ["name"]);
if($_FILES["datei"]["type"] == "text/xml" && $_FILES["datei"]["name"] == "artikeldaten.xml")
{
print "Datei wurde erfolgreich hochgeladen";
print "<a href='artikel.php'></br></br>Hier geht´s zu den Artikeln</a>";
}
else{
print "<br>Sie haben einen falschen Dateityp hochgeladen <p>";
print "Bitte versuchen Sie es erneut";
print "<a href='upload.php'></br></br>Zurück zum Uploadformular</a>";
}
?>
PS: ausserdem wurde mir gesagt wenn ein bestimmter Dateityp nich erwünscht ist, darf ich kein move_uploaded_file schreiben. Da wird dann zwar der Upload durchgeführt. Ich seh es aber nicht. Da sich die Datei auf dem Testserver nicht aktualisiert.
Liebe Grüsse
Spatzihasi
Zuletzt bearbeitet: