Userpic Uploaden und in DB eintragen!

sonnySTAR

Erfahrenes Mitglied
Guten Tag,
Ich hatte schonmal so einen Thread offen, da hat mir jemand eine andere variante angeboten. Nun hab ich mich doch für meine Variante entschieden und habe noch große Troubles. :D

Ich möchte dass wenn ein User ein PIC hochläd, dass es dies Umbennent und in die Datenbank einträgt. Hochgeladen und umbennant wird es schonmal, somit wäre der größte Teil mal fertig *freu* :). Aber es wird nicht in die DB eingetragen und es wird nicht weitergeleitet. Hier mal der Code:
PHP:
<?php
if ($_GET["action"] == "userpic") {
	$filepath = "user/";
	if ($userpic_name != "") {
		move_uploaded_file($userpic, $filepath.$userpic_name);
		@chmod($filepath.$userpic_name, 0755);
		$info = getimagesize($filepath.$userpic_name);
		if($info[0] < 271 && $info[1] < 361) {
	        if($info[2] == 2) { 
			    $pic=$uid.'.jpg';
			    rename($filepath.$userpic_name, $filepath.$uid.'.jpg');
				$sql = mysql_query("UPDATE ".pref."user SET userpic='$pic' WHERE userid = '".$uid."'",$link);
				echo 'Ihr userbild wurde erfolgreich hochgeladen. Bitte haben sie ein wenig geduld und sie werden Weitergeleitet!
					  <meta http-equiv="refresh" content="0; URL=index.php?cont=userstart">';
			}	
			elseif($info[2] == 1) {
			    $pic=$uid.'.gif';
			    rename($filepath.$userpic_name, $filepath.$uid.'.gif');
				$sql = mysql_query("UPDATE ".pref."user SET userpic='$pic' WHERE userid = '".$uid."'",$link);
				echo 'Ihr userbild wurde erfolgreich hochgeladen. Bitte haben sie ein wenig geduld und sie werden Weitergeleitet!
					  <meta http-equiv="refresh" content="0; URL=index.php?cont=userstart">';
			}	
			else {
			    @unlink($filepath.$userpic_name);
				$error = "invalid picture-format (allowed: gif or jpg)";
			    die('ERROR: '.$error.'<br><br><input type="button" class="button" onClick="javascript:history.back()" value="Back">');
		    }	
	    }
		else {
	        @unlink($filepath.$userpic_name);
			$error = "picture is to big max 270/360px";	
		    die('ERROR: '.$error.'<br><br><input type="button" class="button" onClick="javascript:history.back()" value="Back">');
	    }	
	}
		   
		   
}
?>

Und hier das Formular:
Code:
if ($_GET["action"] == "userpic") {
if($err)
{ 
	include('fehlermessages.php');
	echo "<center><font face=\"Tahoma\" color=\"#585858\" size=\"2\"><b>$fehler[$err]</b></font></center><br>";
}
if(empty($udata[userpic])) {
$userpic = "user/nopic.jpg";
} else {
$userpic = $udata[userpic];
}
echo '<table width="525"  border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td width="521" height="28" class="content_head"><table width="100%"  border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td width="3%"></td>
        <td width="95%" height="3"></td>
        <td width="2%"></td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td class="news_text_head"><div align="left"><b>Userpic hochladen
		</b></div></td>
        <td>&nbsp;</td>
      </tr>
    </table></td>
  </tr>
  <tr>
    <td class="cont_head2" height="15"><table width="525"  border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td width="10"></td>
        <td width="501" class="news_text_unter"><div align="right">Userpic, keine Pornografische, rassistische oder beleidigende Userpics!!</div></td>
        <td width="14"></td>
      </tr>
    </table></td>
  </tr>
  <tr>
    <td height="80" align="center" valign="top" class="cont_body"><table width="100%"  border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td width="16">&nbsp;</td>
            <td width="494" valign="top"><table width="100%"  border="0" cellspacing="0" cellpadding="0">
			<form enctype="multipart/form-data" name="submit_profil" action="?cont=do_profile&action=userpic" method="post">
              <tr>
                <td width="29%" valign="top">Aktuelles Userpic:</td>
                <td width="71%"><div align="center"><img src="'.$userpic.'" width="100" height="133" border="0" alt=""><br>
                <a href="'.$userpic.'">Größere Ansicht</a></div></td>
              </tr>
              <tr>
                <td>Neues Pic hochladen: </td>
                <td><span class="Stil17">
                  <input type="file" name="userpic" size="25" class="input">
                </span></td>
              </tr>
              <tr>
                <td colspan="2"><div align="center"><input type="submit" name="submit_profile" value="save" class="input"></div></td>
              </tr>
			  </form>
            </table></td>
            <td width="15">&nbsp;</td>
          </tr>
          <tr>
            <td colspan="3" class="news_end" height="23"><table width="100%"  border="0" cellspacing="0" cellpadding="0">
              <tr>
                <td width="3%" height="3"></td>
                <td width="94%"></td>
                <td width="3%"></td>
              </tr>
              <tr>
                <td>&nbsp;</td>
                <td class="news_text_unter"><table width="494"  border="0" cellspacing="0" cellpadding="0">
                  <tr>
                    <td width="380" class="newsdown"><div align="left"></div></td>
                    <td width="114" class="newsdown"><div align="right"></div></td>
                  </tr>
                </table></td>
                <td>&nbsp;</td>
              </tr>
            </table></td>
          </tr>
        </table>        </td>
  </tr>
</table>';
}

Weiss jemand woran das liegen könnte ?
 
Gibt es die entsprechenden Eintraege in der DB denn schon?
Denn sonst kann UPDATE ja nicht funktionieren.

Und bitte wo soll denn da eine Weiterleitung stattfinden? Ich kann in dem Script kein einziges header() entdecken.

Gibt es eine Fehlermeldung?
 
Er meinte mit Weiterleitung den "META-Refresh", aber du hast recht, es ist keine Weiterleitung....
 
Gibt es die entsprechenden Eintraege in der DB denn schon?

Daran hatte ich noch gar nicht gedacht. *schäm*! Nun, habe ich in die spalte "userpic" den eintrag "bild" gemacht. Nun wenn ich ein neues Userpic uploade, verschiebt sich mein ganzes layout und er macht gar nichts. Er Updated die spalte nicht und es erfolgt kein "refresh" :P!

Ich hab um ehrlich zu sein keine ahnung worran es liegt, denn wie ich schon sagte, habe ich vom "Uploaden per HTTP" nicht soviel ahnung.

Wäre nett wenn mir jemand helfen könnte.

PS: das mit dem header(), da muss ich doch eigentlich nur das Echo wegnehmen und dafür den header() befehl einbinden ?! da vor dem header befehl ja keine ausgabe erfolgen darf ? :)

Vielen Dank für eure Hilfe
MFG
Tim
 
nero_85 hat gesagt.:
sollte pref eine Konstante oder eine Variable sien! Wäre es 2. fehlt jeweils ein $!

Okay, In diesem Falle gebe ich dir Recht. Das ist mir leider nicht aufgefallen. Aber trotz diesem Leichtsinnsfehler funktioniert es nicht.

:-/ ... Trotzdem Danke, ohne $ wäre es so oder so ned gegangen ;)
 
$pref ist in der config datei vorhanden:
PHP:
<?
// Mysql daten und so ...
$pref = "new_";
// noch mehr zeug :P ...
?>

Das $pref verwende ich ja in all meinen Scripten. Im Membersscript, Userscript etc.. also an dem Pref kanns definitiv nicht liegen :)
 
Zurück