Problem mit Upload Script

Cyber-GFX

Mitglied
Hallo Community;

Ich habe 2 Probleme mit meinem ImageUpload Script.

Fehler 1:

Das Uploaden Funktoniert..., nur das Problem ist, wenn ich keine Datei von
meinem Computer aus Ausgewählt hab "Durchsuchen..." und einfach auf
"Datei Hochladen" Klick, werde ich auf eine Seite Weitergeleitet, wie kann
ich das Vermeiden? Liegt es vieleicht daran, das ich includet habe? Kennt
da jemand eine Alternative?

Fehler 2:

Wenn ich was Hochladen möchte, was auch Super Funktoniert, Tritt auch schon
das 2te Problem auf, wenn ich in das Menü komme, wo ich meinen BBCode, oder
HTML Code aus Wählen kann, oder auch den viewer.php Benützen möchte, wird
dieser nicht in gleichen Fenster Angezeigt, d.h ich möchte es so haben, das so haben das es sich im gleichen Fenster öffnet, also das die Navi und dieser Werbebalken noch da bleiben

Link zum Upload Script: http://upload.cyber-gfx.de/index.php

Hoffe ihr könnt mir bei diesen Problemen Helfen!

edit: Falls ihr Bestimme Codes aus dem Script braucht, Lasst es mich Wissen, da ich nicht Weiß, wo da der Fehler liegen könnte ;)

Mit Freundlichen Grüßen
 
1. Prüfe ob $_FILES leer ist, falls ja sollte er einfach das Formular wieder laden, falls nicht soll er die Datei verarbeiten.

2. Kann ich nichts zu sagen, da jede Datei die ich versuche hochzuladen zu groß ist.
 
Danke erstmal für Eure Hilfe :), das mit dem Problem das die Datei zu Groß ist hab ich
Grad Eben Gefixt!

zum 1ten Problem, habs net so Kopiert mit dem Link, Hoffe auf weitere Hilfe

Mit Freundlichen Grüßen
 
also, was der liebe Gumbo meint ist das, was da auf der verlinkten seite gezeigt wird, in einem der Kommentare:

PHP:
<?php
switch ($filearray["error"]) {
   case UPLOAD_ERR_OK:
       break;
   case UPLOAD_ERR_INI_SIZE:
       throw new Exception("The uploaded file exceeds the upload_max_filesize directive (".ini_get("upload_max_filesize").") in php.ini.");
       break;
   case UPLOAD_ERR_FORM_SIZE:
       throw new Exception("The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form.");
       break;
   case UPLOAD_ERR_PARTIAL:
       throw new Exception("The uploaded file was only partially uploaded.");
       break;
   case UPLOAD_ERR_NO_FILE:
       throw new Exception("No file was uploaded.");
       break;
   case UPLOAD_ERR_NO_TMP_DIR:
       throw new Exception("Missing a temporary folder.");
       break;
   case UPLOAD_ERR_CANT_WRITE:
       throw new Exception("Failed to write file to disk");
       break;
   default:
       throw new Exception("Unknown File Error");
}
?>

mit dem Code wertest du die Errormeldung aus, die unter Umständen an deinem Script ankommen, wenn du keine Datei angibts und dennoch auf Hochladen klickst. Damit kannst du eben eine Meldung ausgeben, in der du den Uploader informierst, dass er womöglich keine Datei angegeben hat ;)

So, und dass du dich wunderst, dass wenn du keine Datei zum hochladen angegeben hast und auf Hochladen klickst, dass du dann dennoch zu einer Seite weitergeleitet wirst, wundert mich ;) Denn: Es ist vollkommen irrelevant, ob du eine Datei angibst oder nicht. Klickst du bei einem Formular auf "Submit" wirds auch abgeschickt, egal ob du eine Datei angegeben hast oder nicht, oder ob du ein Script includest oder das Formular an ein gesondertes Script weiterleitest. Du kannst höchstens per Javascript checken, ob das Formular (oder ein bestimmtes Feld) ausgefüllt wurde oder nicht, wenn nein kannst du per Javascript das senden des Formulars verhindern.
 
*Verzweifelt* Kann mit dem Code Leider nichts Anfangen, ich Poste mal ambesten
meine Upload.php, damit ihr euch den Code Angucken könnt, und Sagen könnt, was nicht Stimmt, oder wie der code rein muss!

Code:
<form enctype="multipart/form-data" action="index.php?site=basic" method="post">
			<table align="center" cellpadding="0" cellspacing="0" border="0">
				<tr>
					<td colspan="3" style="font-size:11px;">					
Willkommen auf ImagesUpload, dieser Service Bietet dir einen Kostenlosen Bilder Upload an. Nur 3 Schritte, bis dein Bild im Internet ist!
				</tr>
				<tr>
					<td colspan="3" height="20"></td>
				</tr>
				<tr>
					<td>Datei Ausw&auml;hlen: </td>
					

					<td width="17"></td>
				  <td width="423"><input type="file" name="userfile" class="upload_box" size="50" /></td>
				</tr>
		
				<tr>
					<td width="115"></td>
					<td>&nbsp;</td>
					<td width="423" height="5" colspan="3"><?php
echo"Ihre IP-Adresse lautet: ", $HTTP_SERVER_VARS["REMOTE_ADDR"];

?><?php						
$divd = 1024;
$isize = $max_size / $divd;
$isize2 = round($isize);

?></td>
				<tr>
					<td width="115"></td>
					<td>&nbsp;</td>
					<td width="423" height="5" colspan="3">Max. Dateigr&ouml;&szlig;e:  2 MB </td>
				<tr>
				  <td width="115"></td>
				  <td>&nbsp;</td>
				 			  
				<td colspan="3" height="5"><input type="submit" class="link_us_box" value="Datei Hochladen" name="upload2" />  </td>
				  
			  </tr>
			</table>

</form>

Mit Freundlichen Grüßen
Ioannis Pavlou
 
Eine Maximalgröße im Formular zu bestimmen, ist allerdings kritische da er modifiziert werden kann und sollte deshalb zusätzlich im Skript geprüft werden, beispielsweise:
PHP:
$maxFileSize = 12345;
if( $_FILES['userfile']['size'] > $maxFileSize ) {
	$_FILES['userfile']['error'] = UPLOAD_ERR_FORM_SIZE;
}
Dies muss natürlich vor dem switch-Konstrukt stehen, sollen diese beiden zusammen angewandt werden.
 
also so?

Code:
<form enctype="multipart/form-data" action="index.php?site=basic" method="post">
			<table align="center" cellpadding="0" cellspacing="0" border="0">
				<tr>
					<td colspan="3" style="font-size:11px;">					
Willkommen auf ImagesUpload, dieser Service Bietet dir einen Kostenlosen Bilder Upload an. Nur 3 Schritte, bis dein Bild im Internet ist!
				</tr>
				<tr>
					<td colspan="3" height="20"></td>
				</tr>
				<tr>
					<td>Datei Ausw&auml;hlen: </td>
					

					<td width="17"></td>
				  <td width="423"><input type="file" name="userfile" class="upload_box" size="50" /></td>
				</tr>
		
				<tr>
					<td width="115"></td>
					<td>&nbsp;</td>
					<td width="423" height="5" colspan="3"><?php
echo"Ihre IP-Adresse lautet: ", $HTTP_SERVER_VARS["REMOTE_ADDR"];

?><?php						
$maxFileSize = 12345;
if( $_FILES['userfile']['size'] > $maxFileSize ) {
    $_FILES['userfile']['error'] = UPLOAD_ERR_FORM_SIZE;
}  

?></td>
				<tr>
					<td width="115"></td>
					<td>&nbsp;</td>
					<td width="423" height="5" colspan="3">Max. Dateigr&ouml;&szlig;e:  2 MB </td>
				<tr>
				  <td width="115"></td>
				  <td>&nbsp;</td>
				 			  
				<td colspan="3" height="5"><input type="submit" class="link_us_box" value="Datei Hochladen" name="upload2" />  </td>
				  
			  </tr>
			</table>

</form>

aber das Problem besteht weiterhin, das wenn ich auf den Button Klicke, Trotzdem Weitergeleitet werde
 
Wo steht denn der Teil mit der Weiterleitung? Und wovon genau ist diese Weiterleitung abhängig?
 
Zurück