upload in eine mysql datenbank

sugar

Erfahrenes Mitglied
Hallo, ich hoffe mir kann jemand weiterhelfen.

Ich habe folgendes Problem, ich möchte in meinem Memberscript Usern die Möglichkeit geben eine Datei anzuhängen per upload. So habe ich in meinem Formular das Feld "cv". Der folgende Code soll die Inhalte nun in die Datenbank speichern. Es funktioniert auch, nur das Upload funktioniert nicht. Hier schreibt er immer nur den Namen des Verzeichnisses in die Datenbank ("pdf/"). Komischerweise habe ich das gleiche Upload Script aber getestet und wenn ich es alleine verwende funktioniert es auch. Füge ich es hier in den Code ein, funktioniert es leider nicht? :confused: Hat jemand eine Ahnung warum?

Danke für eure Hilfe!

PHP:
<?
	require('main.php');

	db_connect();

	include(INC_DIR."header.php");

	if ($_SERVER['REQUEST_METHOD'] == "POST") {

        $uid     = $_POST['uid'];
        $pwd     = $_POST['pwd'];
        $pwd2    = $_POST['pwd2'];
        $firstname = $_POST['firstname'];
        $name = $_POST['name'];

        $u  = strtolower($uid);
        $pw  = strtolower($pwd);
        $pw2 = strtolower($pwd2);
        $today = date("mdY");

		if (!ctype_alnum($u) || strlen($u) < 4 || strlen($u) > 16) {
			echo "<font color=red>Ihr Benutzername muss mindestens 4-16 Ziffern beinhalten (Buchstaben und Nummern).</font><br>";
			$err = "yes";

        }

		if (!ctype_alnum($pw) || strlen($pw) < 6 || strlen($pw) > 10) {
			echo "<font color=red>Ihr Passwort muss 6-10 Ziffern beinhalten.</font><br>";
            $err = "yes";
		}

		if ($pw != $pw2) {
			echo "<font color=red>Ihre Passwörter stimmen nicht überein.</font><br>";
            $err = "yes";
        }
		if (!is_uploaded_file ($_FILES['cv']['tmp_name'])) {
	 	echo "Die Datei konnte nicht hochgeladen werden"; 
		$err = "yes";
        }

        if ($err == "") {
		
			$sql="select * from users where email='$email' OR uid like '%$u%'";
			$result=mysql_query($sql) or die("select  fails");
			$no=mysql_num_rows($result);

			if ($no==0) {
			
			$upload = "pdf/";
 			move_uploaded_file ($_FILES['cv']['tmp_name'], $upload.'/'.$_FILES['cv']['name']);
			
$sql="insert into users(uid, pwd, firstname, name, email, status, type, cv, datesignup) values('$u','$pw','$firstname','$name','$email','active','sing','".$upload.$_FILES['cv']['name']."', now())";
				$result = mysql_query($sql) or die("insert fails");

					if (isset($result)) {

					  echo "<br><b>Super hat geklappt!</b> - Login";
					  include(INC_DIR."login.php");

					} else {
					  echo "<br>Error<br>";
					}

			} else {

			   echo "<font color=red>User existiert bereits<a href='".BASEHREF."/forgotpass.php'>Forgot Password?</a></font><br>";
		}
       } else {

         include(INC_DIR."signup.php");

       }
	} else {

	   include(INC_DIR."signup.php");

	}

	include(INC_DIR."footer.php");

	db_disconnect();

?>
 
Zuletzt bearbeitet:
Macht folgende Zeile Sinn, bezüglich des $cv?
PHP:
if (!is_uploaded_file ($_FILES['$cv']['tmp_name'])) {
 
oh ja das war ein versehen ich hatte mal probiert cv hier mit einzufügen:
$cv = $_POST['cv'];
war allerdings schwachsinn und ich hatte es wieder gelöscht! (hab es im code auch wieder gelöscht!)
 
Fällt niemandem irgendein Fehler auf? Ich versteh einfach nicht warum es nicht funktioniert? :( Hab schon fast alles ausprobiert. Liegt es an dem POST Befehl vielleicht?
 
Zurück