Avatar billede skirk Nybegynder
26. maj 2005 - 12:52 Der er 10 kommentarer

Mysql fjerner backslah i sti

Hej

Jeg har lavet et lille stunp php som skal insætte et billedes sti. Men når den insætter stien i mysql så er \ væk. Hvordan kan det går til jeg har lavet typen til en varchar(200)


nogle ideer ?


Mvh

Skirk
Avatar billede erikjacobsen Ekspert
26. maj 2005 - 13:07 #1
Ja, brug addslashes-funktionen inden du indsætter.
Eller skriv dine \-ere som /-ere - det skal såmænd nok virke. Oftest ;)
Avatar billede skirk Nybegynder
26. maj 2005 - 14:01 #2
Hmm det virker ikke hvis jeg gør sådan, men er det en rigtig måde jeg gør det på eller?

Og har du et eksempel på at det andet forslag? :)


<?php



if (isset($_POST['submit'])) {
        $username = $_POST['username'];
        $password = $_POST['password'];
        $filepath = $_POST['fileup'];
   
    }
   
    $wee = addslashes($filepath);
   
//    echo $_POST['username'];
//    echo $_POST['password'];
//    echo $_POST['fileup'];
   
   
   
   
        $image = imagecreatefromjpeg($wee);
        $w = imagesx($image);
        $h = imagesy($image);
//        echo $w;
//        echo $h;

        $maxw = 150;
        $maxh = 150;
        $scalw = $w/$maxw;
        $scalh = $h/$maxh;
       
        if ($scalw>$scalh){
           
            $neww = $w/$scalw;   
            $newh = $h/$scalw;       
        }
        else {
            $neww = $w/$scalh;                           
            $newh = $h/$scalh;   
        }

        $newimage = imagecreatetruecolor($neww,$newh);
        imagecopyresized($newimage,$image,0,0,0,0,$neww,$newh,$w,$h);
        $filnavn = pathinfo($wee);
        $filnavn = $filnavn['basename'];
        imagejpeg($newimage,"../uppic/media/profiles/".$filnavn);
   
   
       
    $kryb = md5($password);
   
    $conn = mysql_connect("localhost", "root", "mikker") or die("Kunne ikke forbinde");
    mysql_select_db("test", $conn);
    mysql_query("INSERT INTO bruger(username,password,picpath) VALUES ('".$username."','".$kryb."','".$filepath."')") or die (mysql_error());
    $result = mysql_query("SELECT picpath FROM bruger") or die (mysql_error());
   
   
    while($blog_entry = mysql_fetch_array($result)){
       
        echo $blog_entry['picpath'];
       
    }
?>
Avatar billede erikjacobsen Ekspert
26. maj 2005 - 14:12 #3
Du skal nok kun lave addslashes lige inden du indsætter. Men hvad indeholder dit filnavn, som kan gå galt?
Avatar billede skirk Nybegynder
26. maj 2005 - 14:15 #4
fx et billede der ligger her c:\billeder\fisk.jpg og når den sætter den sti ind i databasen laver den stien om til c:billederfisk.jpg
Avatar billede sukos Juniormester
26. maj 2005 - 14:32 #5
Måske, lige inden din query
$filepath = str_replace("\\", "\\\\", $filepath);

Men hvorfor bruger du \ og den fulde sti?
Avatar billede sukos Juniormester
26. maj 2005 - 14:34 #6
Eller som erik skriver:

mysql_query("INSERT INTO bruger(username,password,picpath) VALUES ('".$username."','".$kryb."','". addslashes($filepath)."')") or die (mysql_error());
Avatar billede skirk Nybegynder
26. maj 2005 - 14:37 #7
oki på den måde men ja jeg faktisk ikke bruge den fulde sti billedet skal placere sig et andet sted :)
Avatar billede skirk Nybegynder
27. maj 2005 - 16:09 #8
Nå jeg har fået det til smid et svar en af jer og jeg giver point :)
Avatar billede sukos Juniormester
27. maj 2005 - 16:39 #9
Erik samler ikke på point, og det var han hans forslag som er rigtigt, så, smid svar selv, og accepter dit eget svar! :O)
Avatar billede skirk Nybegynder
27. maj 2005 - 18:45 #10
wee
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