Avatar billede sorensen_123 Nybegynder
21. april 2007 - 12:23 Der er 42 kommentarer og
1 løsning

Upload billede, generer thumbnail, og gem filen.

Hejsa,

Jeg sidder og mangler et thumbnail script.

Man skal kunne uploade et billede - jpg, gif, eller png, og så skal den ændre størrelsen til 48x64px.

Derefter skal den gemme billedet som GIF (uanset om det var en jpg eller png brugeren uploadede).

Derefter skal den gemme filen efter variablen $brugernavn, så hvis brugeren f.eks. er Admin, så kommer filen til at hedde Admin.gif.

Filen skal gemmes i mappen "profilbilleder/". Så dvs. filen ligger i profilbilleder/Admin.gif.

Håber der er nogen der lige hurtigt kan lave sådan et lille script.

Mvh.
Elias
Avatar billede dkfire Nybegynder
21. april 2007 - 15:58 #1
Jeg tror du hellere skal stille det spørgsmål under opgaver.
Avatar billede jakobdo Ekspert
21. april 2007 - 22:19 #2
Du kunne starte med at få denne til at virke:

http://webcafe.epx.dk/artikler/php/upload/
Avatar billede sorensen_123 Nybegynder
22. april 2007 - 18:53 #3
Jeg har prøvet at lave min egen lille upload på denne måde:

$mappe = "profilbilleder/";

$billedenavn = $brugernavn;

$destination = $mappe . basename( $billedenavn);

move_uploaded_file($_FILES['redprofuplpic']['tmp_name'], $destination);

Men det virker ikke. Nogen der kan se hvad der er galt??
Avatar billede sorensen_123 Nybegynder
22. april 2007 - 18:55 #4
Skal siges at jeg vil have det uploadede billedes navn til at være $brugernavn.gif
Avatar billede jakobdo Ekspert
22. april 2007 - 19:00 #5
Har du husket at chmod mappen: profilbilleder ?? (den skal chmodes til 777)
Avatar billede sorensen_123 Nybegynder
22. april 2007 - 19:01 #6
Lige nu ligger det jo på min computer (kører det på apache), så der burde da ikke være noget med chmod?? Kan i hvert fald ikke se noget..
Avatar billede jakobdo Ekspert
22. april 2007 - 19:37 #7
Må jeg lige se hele din kode?
Avatar billede sorensen_123 Nybegynder
22. april 2007 - 19:40 #8
Den ser således ud:

<?
if(!$_SESSION[username] OR !$_SESSION[password]){ //Tjek om bruger er logget ind...
    echo "Du er ikke logget ind, og kan derfor ikke redigere din profil.<br>Log ind i menuen til højre, og prøv siden igen.";
}else{
   
$brugernavn = $_SESSION[username]; //Henter brugernavn fra session
$kodeord = $_SESSION[password]; //Henter kodeord fra session

$rigtigtnavn = $_POST[redprofnavn];
$by = $_POST[redprofby];
$birthyear = $_POST[redprofbirthyear];
$arbejde = $_POST[redprofarbejde];
$signatur = $_POST[redprofsignatur];
$email = $_POST[redprofemail];
$msn = $_POST[redprofmsn];
$icq = $_POST[redproficq];
$hjemmeside = $_POST[redprofhjemmeside];
$link1 = $_POST[redproflink1];
$link2 = $_POST[redproflink2];
$hobbier = $_POST[redprofhobbier];
$citat = $_POST[redprofcitat];
$profilbillede = $_POST[redprofuplpic];

mysql_query("UPDATE casemodusers SET realname = '$rigtigtnavn' WHERE username = '$brugernavn' AND password = '$kodeord'")or die(mysql_error());
mysql_query("UPDATE casemodusers SET city = '$by' WHERE username = '$brugernavn' AND password = '$kodeord'")or die(mysql_error());
mysql_query("UPDATE casemodusers SET birthyear = '$birthyear' WHERE username = '$brugernavn' AND password = '$kodeord'")or die(mysql_error());
mysql_query("UPDATE casemodusers SET arbejde = '$arbejde' WHERE username = '$brugernavn' AND password = '$kodeord'")or die(mysql_error());
mysql_query("UPDATE casemodusers SET email = '$email' WHERE username = '$brugernavn' AND password = '$kodeord'")or die(mysql_error());
mysql_query("UPDATE casemodusers SET signatur = '$signatur' WHERE username = '$brugernavn' AND password = '$kodeord'")or die(mysql_error());
mysql_query("UPDATE casemodusers SET msn = '$msn' WHERE username = '$brugernavn' AND password = '$kodeord'")or die(mysql_error());
mysql_query("UPDATE casemodusers SET icq = '$icq' WHERE username = '$brugernavn' AND password = '$kodeord'")or die(mysql_error());
mysql_query("UPDATE casemodusers SET hjemmeside = '$hjemmeside' WHERE username = '$brugernavn' AND password = '$kodeord'")or die(mysql_error());
mysql_query("UPDATE casemodusers SET coollink1 = '$link1' WHERE username = '$brugernavn' AND password = '$kodeord'")or die(mysql_error());
mysql_query("UPDATE casemodusers SET coollink2 = '$link2' WHERE username = '$brugernavn' AND password = '$kodeord'")or die(mysql_error());
mysql_query("UPDATE casemodusers SET hobbier = '$hobbier' WHERE username = '$brugernavn' AND password = '$kodeord'")or die(mysql_error());
mysql_query("UPDATE casemodusers SET favoritcitat = '$citat' WHERE username = '$brugernavn' AND password = '$kodeord'")or die(mysql_error());   
}
if(!$profilbillede){
}else{

$mappe = "profilbilleder/";

$billedenavn = $brugernavn;

$destination = $mappe . basename( $billedenavn);

move_uploaded_file($_FILES['redprofuplpic']['tmp_name'], $destination);

}

echo "Din profil er blevet ændret.";

?>
Avatar billede jakobdo Ekspert
22. april 2007 - 19:46 #9
Jeg faldt lige over en anden ting først!
Du kan rette alt mysql_query til:

mysql_query("UPDATE casemodusers SET realname = '$rigtigtnavn',city = '$by',birthyear = '$birthyear',arbejde = '$arbejde',email = '$email',signatur = '$signatur',msn = '$msn',icq = '$icq',hjemmeside = '$hjemmeside',coollink1 = '$link1',coollink2 = '$link2',hobbier = '$hobbier',favoritcitat = '$citat' WHERE username = '$brugernavn' AND password = '$kodeord' LIMIT 1")or die(mysql_error());
Avatar billede jakobdo Ekspert
22. april 2007 - 19:49 #10
Og prøv også at ret din profil kode til:

if(isset($profilbillede))
{
    $mappe = "profilbilleder/";
    $billedenavn = $brugernavn;
    $destination = $mappe . basename( $billedenavn);
    echo 'DEBUG<br />';
    echo 'src : ' . $_FILES['redprofuplpic']['tmp_name'] . '<br />';
    echo 'Dst : ' . $destination . '<br />';
   
    if(move_uploaded_file($_FILES['redprofuplpic']['tmp_name'], $destination))
    {
        echo 'Billedet blev uploadet<br />';
    }
    else
    {
        echo 'Billedet blev IKKE uploadet<br />';
    }
}
Avatar billede sorensen_123 Nybegynder
22. april 2007 - 19:49 #11
Ja, jeg kunne bare ikke huske hvordan man gjorde det..

Takker :)
Avatar billede sorensen_123 Nybegynder
22. april 2007 - 19:51 #12
Der står bare:

DEBUG
src :
Dst : profilbilleder/Admin
Billedet blev IKKE uploadet
Avatar billede jakobdo Ekspert
22. april 2007 - 20:01 #13
Må jeg se koden til din form?
Avatar billede sorensen_123 Nybegynder
22. april 2007 - 20:05 #14
Den er rimelig lang..

Men her er stedet hvor mit input til file boksen er:
    <tr>
        <td>Upload nyt:</td> <td><input type="file" name="redprofuplpic"></td>
    </tr>
Avatar billede jakobdo Ekspert
22. april 2007 - 20:13 #15
Må jeg pgså se din linie:

<form .....>
Avatar billede nyhuus Nybegynder
23. april 2007 - 09:08 #16
Jeg kan anbefale denne guide. den er rigtig god og lærte mig at lave billede upload :)

http://www.udvikleren.dk/PHP/Article.aspx/138/
Avatar billede sorensen_123 Nybegynder
29. april 2007 - 13:14 #17
Hov, glemte denne post..

Her er min form:
<form name="login" method="POST" action="?side=redigerprofildo">
Avatar billede jakobdo Ekspert
29. april 2007 - 13:43 #18
Når der er tale om upload af filer, så skal du huske at tilføje:

enctype="multipart/form-data"
Så din form linie bliver:

<form name="login" method="POST" action="?side=redigerprofildo" enctype="multipart/form-data">
Avatar billede sorensen_123 Nybegynder
29. april 2007 - 16:13 #19
Bum bum.. Nu står der da noget i SRC, her er hele fejlen:

DEBUG
src : C:\WM\php-4.3.11\tmp\php263.tmp
Dst : profilbilleder/Admin
Billedet blev IKKE uploadet
Din profil er blevet ændret.

Jeg ændrede $profilbillede fra $profilbillede = $_POST[uploadprofilpic]; til $profilbillede = $_FILES[uploadprofilpic];, og da jeg ændrede det, kom fejlen, før, da jeg benyttede POST kom der ingen fejl..

Her er koden til mit upload:

$profilbillede = $_FILES[uploadprofilpic];
}
if(isset($profilbillede))
{
    $mappe = "profilbilleder/";
    $billedenavn = $brugernavn;
    $destination = $mappe . basename($billedenavn);
    echo 'DEBUG<br />';
    echo 'src : ' . $_FILES['uploadprofilpic']['tmp_name'] . '<br />';
    echo 'Dst : ' . $destination . '<br />';
   
    if(move_uploaded_file($_FILES['redprofuplpic']['tmp_name'], $destination))
    {
        echo 'Billedet blev uploadet<br />';
    }
    else
    {
        echo 'Billedet blev IKKE uploadet<br />';
    }
}
Avatar billede sorensen_123 Nybegynder
29. april 2007 - 16:16 #20
Lige rettet lidt til, men får stadig samme fejl:
$profilbillede = $_FILES[uploadprofilpic];
}
if(isset($profilbillede))
{
    $mappe = "profilbilleder/";
    $billedenavn = $brugernavn;
    $destination = $mappe . basename($billedenavn);
    echo 'DEBUG<br />';
    echo 'src : ' . $_FILES['uploadprofilpic']['tmp_name'] . '<br />';
    echo 'Dst : ' . $destination . '<br />';
   
    if(move_uploaded_file($_FILES['uploadprofilpic']['tmp_name'], $destination))
    {
        echo 'Billedet blev uploadet<br />';
    }
    else
    {
        echo 'Billedet blev IKKE uploadet<br />';
    }
}
Avatar billede sorensen_123 Nybegynder
29. april 2007 - 16:28 #21
Nå, nu ser det og som om at den uploader alligevel..

Smid svar jakobdo :)
Avatar billede sorensen_123 Nybegynder
29. april 2007 - 16:43 #22
Jeg ved ikke om du har forstan på GD-Lib, men har prøvet at lave noget der kan resize billedet, men som altid uden held.

Måske kan du hjælpe mig, her er koden:

$profilbillede = $_FILES[uploadprofilpic];
}
if(isset($profilbillede))
{
    $mappe = "profilbilleder/";
    $billedenavn = $brugernavn;
    $destination = $mappe . basename($billedenavn);
    $thumbnail = $destination;
    move_uploaded_file($_FILES['uploadprofilpic']['tmp_name'], $destination);
        $imgsize = getimagesize($destination);
        $width ="90";
        $height ="90";
        $sti_img = ImageCreateTrueColor($width,$height);
    if($ext == 'jpeg' OR $ext == 'jpg' OR $ext == 'jpg')
        {
        $src_img = ImageCreateFromJpeg($destination);
        } elseif($ext == 'gif') {
        $src_img = ImageCreateFromGif($destination);
        } elseif($ext == 'png') {
        $src_img = ImageCreateFromPng($destination);
        }
        ImageCopyResampled($sti_img,$src_img,'0','0','0','0',$width,$height,ImageSX($src_img),ImageSY($src_img));
    ImageGif($sti_img,$thumbnail);
}

Her er fejlen:

Warning: imagesx(): supplied argument is not a valid Image resource in C:\WM\www\casemod\redigerprofildo.php on line 46

Warning: imagesy(): supplied argument is not a valid Image resource in C:\WM\www\casemod\redigerprofildo.php on line 46

Warning: imagecopyresampled(): supplied argument is not a valid Image resource in C:\WM\www\casemod\redigerprofildo.php on line 46
Avatar billede sorensen_123 Nybegynder
29. april 2007 - 16:46 #23
En lidt opdateret udgave:

    $profilbillede = $_FILES[uploadprofilpic];
    }
    if(isset($profilbillede))
    {
        $mappe = "profilbilleder/";
        $billedenavn = $brugernavn;
        $destination = $mappe . basename($billedenavn);
        $thumbnail = $destination;
        $ext = strtolower(end(explode(".", $_FILES['uploadprofilpic']['tmp_name'])));
            $ext = strtolower($ext);
        move_uploaded_file($_FILES['uploadprofilpic']['tmp_name'], $destination);
            $imgsize = getimagesize($destination);
            $width ="90";
            $height ="90";
            $sti_img = ImageCreateTrueColor($width,$height);
        if($ext == 'jpeg' OR $ext == 'jpg' OR $ext == 'jpg')
            {
            $src_img = ImageCreateFromJpeg($destination);
            } elseif($ext == 'gif') {
            $src_img = ImageCreateFromGif($destination);
            } elseif($ext == 'png') {
            $src_img = ImageCreateFromPng($destination);
            }
            ImageCopyResampled($sti_img,$src_img,'0','0','0','0',$width,$height,ImageSX($src_img),ImageSY($src_img));
        ImageGif($sti_img,$thumbnail);
    }
Avatar billede sorensen_123 Nybegynder
29. april 2007 - 17:00 #24
Skal siges at billedet BLIVER resizet og gemt! Dog kommer fejlen op, og billedet bliver bare sort.
Avatar billede jakobdo Ekspert
29. april 2007 - 18:55 #25
Jeg bruge altid denne funktion:

function resize( $filename, $newfilename, $maxw, $maxh )
{
    $result = false;
    $srcim = imagecreatefromjpeg( $filename );
    $ow = imagesx( $srcim );
    $oh = imagesy( $srcim );
    $wscale = $maxw / $ow;
    $hscale = $maxh / $oh;
    $scale = ( $hscale < $wscale ? $hscale : $wscale );
    $nw = round( $ow * $scale, 0 );
    $nh = round( $oh * $scale, 0 );
    $dstim = imagecreatetruecolor( $nw, $nh );
    imagecopyresampled( $dstim, $srcim, 0, 0, 0, 0, $nw, $nh, $ow, $oh );
    $result = imagejpeg( $dstim, $newfilename, 85 );
    imagedestroy( $dstim );
    imagedestroy( $srcim );
    return file_exists($newfilename);
}
Avatar billede sorensen_123 Nybegynder
29. april 2007 - 19:23 #26
Kan du ikke skrive funktionen over i min kode??

Så lægger jeg 100 points oven i..

Men det ser ud som om at den ikke resizer i pixels (vil have billedet til at være 90x90px, og ikke bare mindsker størrelsen med f.eks. 30px på hver side), kan du lave koden om??
Avatar billede jakobdo Ekspert
29. april 2007 - 19:33 #27
Vis mig lige din fulde kode!
Avatar billede sorensen_123 Nybegynder
30. april 2007 - 14:44 #28
redigerprofildo.php:
<?
if(!$_SESSION[xxx] OR !$_SESSION[xxxx]){ //Tjek om bruger er logget ind...
    echo "Du er ikke logget ind, og kan derfor ikke redigere din profil.<br>Log ind i menuen til højre, og prøv siden igen.";
}else{
   
$brugernavn = $_SESSION[xxx]; //Henter brugernavn fra session
$kodeord = $_SESSION[xxxx]; //Henter kodeord fra session

$rigtigtnavn = $_POST[redprofnavn];
$by = $_POST[redprofby];
$birthyear = $_POST[redprofbirthyear];
$arbejde = $_POST[redprofarbejde];
$signatur = $_POST[redprofsignatur];
$email = $_POST[redprofemail];
$msn = $_POST[redprofmsn];
$icq = $_POST[redproficq];
$hjemmeside = $_POST[redprofhjemmeside];
$link1 = $_POST[redproflink1];
$link2 = $_POST[redproflink2];
$hobbier = $_POST[redprofhobbier];
$citat = $_POST[redprofcitat];

mysql_query("UPDATE casemodusers SET realname = '$rigtigtnavn',city = '$by',birthyear = '$birthyear',arbejde = '$arbejde',email = '$email',signatur = '$signatur',msn = '$msn',icq = '$icq',hjemmeside = '$hjemmeside',coollink1 = '$link1',coollink2 = '$link2',hobbier = '$hobbier',favoritcitat = '$citat' WHERE username = '$brugernavn' AND password = '$kodeord' LIMIT 1")or die(mysql_error());

    $profilbillede = $_FILES[uploadprofilpic];
    }
    if(isset($profilbillede))
    {
        $mappe = "profilbilleder/";
        $billedenavn = $brugernavn . ".gif";
        $destination = $mappe . basename($billedenavn);
        $thumbnail = $destination;
        $ext = strtolower(end(explode(".", $_FILES['uploadprofilpic']['name'][2])));
            $ext = strtolower($ext);
        move_uploaded_file($_FILES['uploadprofilpic']['tmp_name'], $destination);
            $imgsize = getimagesize($destination);
            $width ="48";
            $height ="64";
            $sti_img = ImageCreateTrueColor($width,$height);
        if($ext == 'jpeg' OR $ext == 'jpg' OR $ext == 'jpg')
            {
            $src_img = ImageCreateFromJpeg($destination);
            } elseif($ext == 'gif') {
            $src_img = ImageCreateFromGif($destination);
            } elseif($ext == 'png') {
            $src_img = ImageCreateFromPng($destination);
            }
            ImageCopyResampled($sti_img,$src_img,'0','0','0','0',$width,$height,ImageSX($src_img),ImageSY($src_img));
        ImageGif($sti_img,$thumbnail);
    }

echo "Din profil er blevet ændret.";

?>
Avatar billede jakobdo Ekspert
30. april 2007 - 15:14 #29
Hvor er formen henne?
Avatar billede nyhuus Nybegynder
30. april 2007 - 16:08 #30
(ignorer denne post, skal bare have mit "abonnèr" taget fra)
Avatar billede jakobdo Ekspert
30. april 2007 - 16:10 #31
nyhuusdk: Det kan du gøre "bare" ved at fjerne eller sætte abonner med tom tekst op trykke SEND
Avatar billede sorensen_123 Nybegynder
30. april 2007 - 16:49 #32
Her er hele min redigerprofil (formen)
<?
if(!$_SESSION[xxx] OR !$_SESSION[xxx]){ //Tjek om bruger er logget ind...
    echo "Du er ikke logget ind, og kan derfor ikke redigere din profil.<br>Log ind i menuen til højre, og prøv siden igen.";
}else{
$brugernavn = $_SESSION[xxx]; //Henter brugernavn fra session
$kodeord = $_SESSION[xxx]; //Henter kodeord fra session
$res = mysql_query("SELECT * FROM casemodusers WHERE username='$brugernavn' AND password='$kodeord'")or die(mysql_error()); //Forbinder til databasen hvor brugernavn og password er ligmed det man loggede ind med...
$brugerinfo = mysql_fetch_array($res); //Laver en fetch_array, så man kan trække opl. fra tabeller ud med $brugerinfo[tabel]....
?>
<form name="login" method="POST" action="?side=redigerprofildo" enctype="multipart/form-data">
<table>

<tr>
        <td><b>Generelt:</b></td>
    </tr>
   
    <tr>
        <td>Brugernavn:</td> <td><? echo $brugernavn; ?></td>
    </tr>
   
    <tr>
        <td>Navn:</td> <td><input type="text" name="redprofnavn" style="width:200px;" value="<? echo $brugerinfo[realname]; ?>"></td>
    </tr>
   
    <tr>
        <td>By:</td> <td><input type="text" name="redprofby" style="width:200px;" value="<? echo $brugerinfo[city]; ?>"></td>
    </tr>
   
    <tr>
        <td>Fødselsdag:</td> <td>
       
    <select>
  <option>1.</option>
  <option>2.</option>
  <option>3.</option>
  <option>4.</option>
  <option>5.</option>
  <option>6.</option>
  <option>7.</option>
  <option>8.</option>
  <option>9.</option>
  <option>10.</option>
  <option>11.</option>
  <option>12.</option>
  <option>13.</option>
  <option>14.</option>
  <option>15.</option>
  <option>16.</option>
  <option>17.</option>
  <option>18.</option>
  <option>19.</option>
  <option>20.</option>
  <option>21.</option>
  <option>22.</option>
  <option>23.</option>
  <option>24.</option>
  <option>25.</option>
  <option>26.</option>
  <option>27.</option>
  <option>28.</option>
  <option>29.</option>
  <option>30.</option>
  <option>31.</option>
    </select>
   
    <select>
  <option>Januar</option>
  <option>Februar</option>
  <option>Marts</option>
  <option>April</option>
  <option>Maj</option>
  <option>Juni</option>
  <option>Juli</option>
  <option>August</option>
  <option>September</option>
  <option>Oktober</option>
  <option>November</option>
  <option>December</option>
    </select>

    <input type="text" size="4" maxlength="4" name="redprofbirthyear" value="<? echo $brugerinfo[bithyear]; ?>">

    </td>
    </tr>
   
   
    <tr>
        <td>Køn:</td> <td><select><option>Mand</option><option>Kvinde</option></select></td>
    </tr>

    <tr>
        <td>Arbejde:</td> <td><input type="text" name="redprofarbejde" style="width:200px;" value="<? echo $brugerinfo[arbejde]; ?>"></td>
    </tr>
   
    <tr>
        <td>Signatur:</td> <td><textarea cols="30" rows="5" name="redprofsignatur"><? echo $brugerinfo[signatur]; ?></textarea></td>
    </tr>

    <tr>
        <td><br></td>
    </tr>

    <tr>
        <td><b>Kontakt info:</b></td>
    </tr>
   
    <tr>
        <td>Email Adresse:</td> <td><input type="text" name="redprofemail" style="width:200px;" value="<? echo $brugerinfo[email]; ?>"></td>
    </tr>
   
    <tr>
        <td>MSN:</td> <td><input type="text" name="redprofmsn" style="width:200px;" value="<? echo $brugerinfo[msn]; ?>"></td>
    </tr>
   
    <tr>
        <td>ICQ:</td> <td><input type="text" name="redproficq" style="width:200px;" value="<? echo $brugerinfo[icq]; ?>"></td>
    </tr>

    <tr>
        <td><br></td>
    </tr>

    <tr>
        <td><b>Links:</b></td>
    </tr>
   
    <tr>
        <td>Hjemmeside:</td> <td><input type="text" name="redprofhjemmeside" style="width:200px;" value="<? echo $brugerinfo[hjemmeside]; ?>"></td>
    </tr>
   
    <tr>
        <td>Cool Links:</td> <td><input type="text" name="redproflink1" style="width:200px;" value="<? echo $brugerinfo[coollink1]; ?>"></td>
    </tr>
   
    <tr>
        <td></td> <td><input type="text" name="redproflink2" style="width:200px;" value="<? echo $brugerinfo[coollink2]; ?>"></td>
    </tr>
   
    <tr>
        <td><br></td>
    </tr>

    <tr>
        <td><b>Profilbillede:</b></td>
    </tr>
   
    <tr>
        <td>
            <? if(file_exists("profilbilleder/" . $brugerinfo[username] . ".gif" )){ ?>
                <img src="profilbilleder/<? echo $brugerinfo[username]; ?>.gif">
            <? }else{ ?>
                <img src="profilbilleder/casemodnopicture.gif">
            <? } ?>
        </td>
    </tr>
   
    <tr>
        <td>Upload nyt:</td> <td><input type="file" name="uploadprofilpic"></td>
    </tr>
   
    <tr>
        <td><br></td>
    </tr>

    <tr>
        <td><b>Mere om dig:</b></td>
    </tr>
   
    <tr>
        <td>Hobbier:</td> <td><textarea cols="30" rows="5" name="redprofhobbier"><? echo $brugerinfo[hobbier]; ?></textarea></td>
    </tr>
   
    <tr>
        <td>Favorit Citat:</td> <td><textarea cols="30" rows="5" name="redprofcitat"><? echo $brugerinfo[favoritcitat]; ?></textarea></td>
    </tr>
   
    <tr>
        <td></td> <td><b><a href="?side=skiftkode">Tryk her for at skifte kodeord</a></b> (alt du har ændret på denne side vil gå tabt, da du vil blive ført til en ny side).</td>
    </tr>
   
       
    <tr>
        <td><br></td>
    </tr>

    <tr>
        <td><input type="submit" value="Rediger profil!"></td>
    </tr>

</table>

</form>
<? } ?>
Avatar billede jakobdo Ekspert
30. april 2007 - 17:12 #33
Og alt koden som så behandler data, det er?
Er det alt koden fra dit indlæg: 30/04-2007 14:44:50
Avatar billede sorensen_123 Nybegynder
30. april 2007 - 17:27 #34
Ja, altså..

Her er min form:
<?
if(!$_SESSION[xxx] OR !$_SESSION[xxx]){ //Tjek om bruger er logget ind...
    echo "Du er ikke logget ind, og kan derfor ikke redigere din profil.<br>Log ind i menuen til højre, og prøv siden igen.";
}else{
$brugernavn = $_SESSION[xxx]; //Henter brugernavn fra session
$kodeord = $_SESSION[xxx]; //Henter kodeord fra session
$res = mysql_query("SELECT * FROM casemodusers WHERE username='$brugernavn' AND password='$kodeord'")or die(mysql_error()); //Forbinder til databasen hvor brugernavn og password er ligmed det man loggede ind med...
$brugerinfo = mysql_fetch_array($res); //Laver en fetch_array, så man kan trække opl. fra tabeller ud med $brugerinfo[tabel]....
?>
<form name="login" method="POST" action="?side=redigerprofildo" enctype="multipart/form-data">
<table>

<tr>
        <td><b>Generelt:</b></td>
    </tr>
   
    <tr>
        <td>Brugernavn:</td> <td><? echo $brugernavn; ?></td>
    </tr>
   
    <tr>
        <td>Navn:</td> <td><input type="text" name="redprofnavn" style="width:200px;" value="<? echo $brugerinfo[realname]; ?>"></td>
    </tr>
   
    <tr>
        <td>By:</td> <td><input type="text" name="redprofby" style="width:200px;" value="<? echo $brugerinfo[city]; ?>"></td>
    </tr>
   
    <tr>
        <td>Fødselsdag:</td> <td>
       
    <select>
  <option>1.</option>
  <option>2.</option>
  <option>3.</option>
  <option>4.</option>
  <option>5.</option>
  <option>6.</option>
  <option>7.</option>
  <option>8.</option>
  <option>9.</option>
  <option>10.</option>
  <option>11.</option>
  <option>12.</option>
  <option>13.</option>
  <option>14.</option>
  <option>15.</option>
  <option>16.</option>
  <option>17.</option>
  <option>18.</option>
  <option>19.</option>
  <option>20.</option>
  <option>21.</option>
  <option>22.</option>
  <option>23.</option>
  <option>24.</option>
  <option>25.</option>
  <option>26.</option>
  <option>27.</option>
  <option>28.</option>
  <option>29.</option>
  <option>30.</option>
  <option>31.</option>
    </select>
   
    <select>
  <option>Januar</option>
  <option>Februar</option>
  <option>Marts</option>
  <option>April</option>
  <option>Maj</option>
  <option>Juni</option>
  <option>Juli</option>
  <option>August</option>
  <option>September</option>
  <option>Oktober</option>
  <option>November</option>
  <option>December</option>
    </select>

    <input type="text" size="4" maxlength="4" name="redprofbirthyear" value="<? echo $brugerinfo[bithyear]; ?>">

    </td>
    </tr>
   
   
    <tr>
        <td>Køn:</td> <td><select><option>Mand</option><option>Kvinde</option></select></td>
    </tr>

    <tr>
        <td>Arbejde:</td> <td><input type="text" name="redprofarbejde" style="width:200px;" value="<? echo $brugerinfo[arbejde]; ?>"></td>
    </tr>
   
    <tr>
        <td>Signatur:</td> <td><textarea cols="30" rows="5" name="redprofsignatur"><? echo $brugerinfo[signatur]; ?></textarea></td>
    </tr>

    <tr>
        <td><br></td>
    </tr>

    <tr>
        <td><b>Kontakt info:</b></td>
    </tr>
   
    <tr>
        <td>Email Adresse:</td> <td><input type="text" name="redprofemail" style="width:200px;" value="<? echo $brugerinfo[email]; ?>"></td>
    </tr>
   
    <tr>
        <td>MSN:</td> <td><input type="text" name="redprofmsn" style="width:200px;" value="<? echo $brugerinfo[msn]; ?>"></td>
    </tr>
   
    <tr>
        <td>ICQ:</td> <td><input type="text" name="redproficq" style="width:200px;" value="<? echo $brugerinfo[icq]; ?>"></td>
    </tr>

    <tr>
        <td><br></td>
    </tr>

    <tr>
        <td><b>Links:</b></td>
    </tr>
   
    <tr>
        <td>Hjemmeside:</td> <td><input type="text" name="redprofhjemmeside" style="width:200px;" value="<? echo $brugerinfo[hjemmeside]; ?>"></td>
    </tr>
   
    <tr>
        <td>Cool Links:</td> <td><input type="text" name="redproflink1" style="width:200px;" value="<? echo $brugerinfo[coollink1]; ?>"></td>
    </tr>
   
    <tr>
        <td></td> <td><input type="text" name="redproflink2" style="width:200px;" value="<? echo $brugerinfo[coollink2]; ?>"></td>
    </tr>
   
    <tr>
        <td><br></td>
    </tr>

    <tr>
        <td><b>Profilbillede:</b></td>
    </tr>
   
    <tr>
        <td>
            <? if(file_exists("profilbilleder/" . $brugerinfo[username] . ".gif" )){ ?>
                <img src="profilbilleder/<? echo $brugerinfo[username]; ?>.gif">
            <? }else{ ?>
                <img src="profilbilleder/casemodnopicture.gif">
            <? } ?>
        </td>
    </tr>
   
    <tr>
        <td>Upload nyt:</td> <td><input type="file" name="uploadprofilpic"></td>
    </tr>
   
    <tr>
        <td><br></td>
    </tr>

    <tr>
        <td><b>Mere om dig:</b></td>
    </tr>
   
    <tr>
        <td>Hobbier:</td> <td><textarea cols="30" rows="5" name="redprofhobbier"><? echo $brugerinfo[hobbier]; ?></textarea></td>
    </tr>
   
    <tr>
        <td>Favorit Citat:</td> <td><textarea cols="30" rows="5" name="redprofcitat"><? echo $brugerinfo[favoritcitat]; ?></textarea></td>
    </tr>
   
    <tr>
        <td></td> <td><b><a href="?side=skiftkode">Tryk her for at skifte kodeord</a></b> (alt du har ændret på denne side vil gå tabt, da du vil blive ført til en ny side).</td>
    </tr>
   
       
    <tr>
        <td><br></td>
    </tr>

    <tr>
        <td><input type="submit" value="Rediger profil!"></td>
    </tr>

</table>

</form>
<? } ?>


Og her er min kode der behandler data fra formen:
<?
if(!$_SESSION[xxx] OR !$_SESSION[xxxx]){ //Tjek om bruger er logget ind...
    echo "Du er ikke logget ind, og kan derfor ikke redigere din profil.<br>Log ind i menuen til højre, og prøv siden igen.";
}else{
   
$brugernavn = $_SESSION[xxx]; //Henter brugernavn fra session
$kodeord = $_SESSION[xxxx]; //Henter kodeord fra session

$rigtigtnavn = $_POST[redprofnavn];
$by = $_POST[redprofby];
$birthyear = $_POST[redprofbirthyear];
$arbejde = $_POST[redprofarbejde];
$signatur = $_POST[redprofsignatur];
$email = $_POST[redprofemail];
$msn = $_POST[redprofmsn];
$icq = $_POST[redproficq];
$hjemmeside = $_POST[redprofhjemmeside];
$link1 = $_POST[redproflink1];
$link2 = $_POST[redproflink2];
$hobbier = $_POST[redprofhobbier];
$citat = $_POST[redprofcitat];

mysql_query("UPDATE casemodusers SET realname = '$rigtigtnavn',city = '$by',birthyear = '$birthyear',arbejde = '$arbejde',email = '$email',signatur = '$signatur',msn = '$msn',icq = '$icq',hjemmeside = '$hjemmeside',coollink1 = '$link1',coollink2 = '$link2',hobbier = '$hobbier',favoritcitat = '$citat' WHERE username = '$brugernavn' AND password = '$kodeord' LIMIT 1")or die(mysql_error());

    $profilbillede = $_FILES[uploadprofilpic];
    }
    if(isset($profilbillede))
    {
        $mappe = "profilbilleder/";
        $billedenavn = $brugernavn . ".gif";
        $destination = $mappe . basename($billedenavn);
        $thumbnail = $destination;
        $ext = strtolower(end(explode(".", $_FILES['uploadprofilpic']['name'][2])));
            $ext = strtolower($ext);
        move_uploaded_file($_FILES['uploadprofilpic']['tmp_name'], $destination);
            $imgsize = getimagesize($destination);
            $width ="48";
            $height ="64";
            $sti_img = ImageCreateTrueColor($width,$height);
        if($ext == 'jpeg' OR $ext == 'jpg' OR $ext == 'jpg')
            {
            $src_img = ImageCreateFromJpeg($destination);
            } elseif($ext == 'gif') {
            $src_img = ImageCreateFromGif($destination);
            } elseif($ext == 'png') {
            $src_img = ImageCreateFromPng($destination);
            }
            ImageCopyResampled($sti_img,$src_img,'0','0','0','0',$width,$height,ImageSX($src_img),ImageSY($src_img));
        ImageGif($sti_img,$thumbnail);
    }

echo "Din profil er blevet ændret.";

?>
Avatar billede jakobdo Ekspert
30. april 2007 - 18:01 #35
Test lige denne redigerprofil kode:

if(!$_SESSION[xxx] OR !$_SESSION[xxxx])
{ //Tjek om bruger er logget ind...
    echo "Du er ikke logget ind, og kan derfor ikke redigere din profil.<br>Log ind i menuen til højre, og prøv siden igen.";
}
else
{
    $brugernavn = $_SESSION[xxx]; //Henter brugernavn fra session
    $kodeord = $_SESSION[xxxx]; //Henter kodeord fra session

    $rigtigtnavn = $_POST[redprofnavn];
    $by = $_POST[redprofby];
    $birthyear = $_POST[redprofbirthyear];
    $arbejde = $_POST[redprofarbejde];
    $signatur = $_POST[redprofsignatur];
    $email = $_POST[redprofemail];
    $msn = $_POST[redprofmsn];
    $icq = $_POST[redproficq];
    $hjemmeside = $_POST[redprofhjemmeside];
    $link1 = $_POST[redproflink1];
    $link2 = $_POST[redproflink2];
    $hobbier = $_POST[redprofhobbier];
    $citat = $_POST[redprofcitat];

    mysql_query("UPDATE casemodusers SET realname = '$rigtigtnavn',city = '$by',birthyear = '$birthyear',arbejde = '$arbejde',email = '$email',signatur = '$signatur',msn = '$msn',icq = '$icq',hjemmeside = '$hjemmeside',coollink1 = '$link1',coollink2 = '$link2',hobbier = '$hobbier',favoritcitat = '$citat' WHERE username = '$brugernavn' AND password = '$kodeord' LIMIT 1")or die(mysql_error());

    if($_FILES['uploadprofilpic']['size'];)
    {
        $mappe = "profilbilleder/";
        $billedenavn = $brugernavn . ".gif";
        $destination = $mappe . basename($billedenavn);
        $thumbnail = $destination;
        $ext = strtolower(end(explode(".", $_FILES['uploadprofilpic']['name'])));
        $ext = strtolower($ext);
        move_uploaded_file($_FILES['uploadprofilpic']['tmp_name'], $destination);
        $imgsize = getimagesize($destination);
        $width ="48";
        $height ="64";
        $sti_img = ImageCreateTrueColor($width,$height);
        if($ext == 'jpeg' OR $ext == 'jpg' OR $ext == 'jpg')
        {
            $src_img = ImageCreateFromJpeg($destination);
        }
        elseif($ext == 'gif')
        {
            $src_img = ImageCreateFromGif($destination);
        }
        elseif($ext == 'png')
        {
            $src_img = ImageCreateFromPng($destination);
        }
        ImageCopyResampled($sti_img,$src_img,'0','0','0','0',$width,$height,ImageSX($src_img),ImageSY($src_img));
        ImageGif($sti_img,$thumbnail);
    }
    echo "Din profil er blevet ændret.";
}

?>
Avatar billede jakobdo Ekspert
30. april 2007 - 18:02 #36
Og linien her:
if($_FILES['uploadprofilpic']['size'];)
skal selvfølgelig være:
if($_FILES['uploadprofilpic']['size']>0)
Avatar billede Slettet bruger
30. april 2007 - 18:07 #37
Du kan som debug prøve at rette:

echo 'DEBUG<br />';
    echo 'src : ' . $_FILES['uploadprofilpic']['tmp_name'] . '<br />';
    echo 'Dst : ' . $destination . '<br />';

->

echo "<div style=\"border: dotted 1px 000000; width: 200px; height: 200px;\">DEBUG<br />";
    echo 'src : ' . $_FILES['uploadprofilpic']['tmp_name'] . '<br />';
    echo 'Dst : ' . $destination . '<br />';
echo "\$_FILES: "; print_r($_FILES);
echo "</div>";
Avatar billede sorensen_123 Nybegynder
30. april 2007 - 18:11 #38
Hej Jakobdo.

Nu virker det hele jo perfekt! Jeg siger tusind tak for hjælpen og din tålmodighed!

Jeg har forhøjet pointsatsen fra 30 point til 100 point! Smid svar :)

Endnu en gang tak for hjælpen.
Avatar billede jakobdo Ekspert
30. april 2007 - 18:18 #39
Du får et svar!
Jeg tror i bund og grund fejlen var denne linie:

$ext = strtolower(end(explode(".", $_FILES['uploadprofilpic']['name'][2])));

Der skal ikke stå [2] så det fjernede jeg.
Avatar billede sorensen_123 Nybegynder
30. april 2007 - 19:01 #40
Okay, det kan godt være.. Men alligevel tak ;)
Avatar billede jakobdo Ekspert
30. april 2007 - 19:13 #41
Jeg takker for point! (synes dog "kun" der er 30) :o)
Avatar billede sorensen_123 Nybegynder
30. april 2007 - 23:12 #42
Arrgh! Glemte at forhøje! Det må du sku undskylde :(

Ellers må de jo vente til en anden gang ;) Sorry..
Avatar billede jakobdo Ekspert
01. maj 2007 - 08:11 #43
Det er ok! :o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester