Avatar billede kirsten Nybegynder
12. juni 2003 - 20:36 Der er 22 kommentarer og
1 løsning

Jeg har stirret mig blind!

Jeg har vist stirret mig blind på dette script!
jeg er helt sikker på det går galt i php som omdøber og flytter billedet!?
Det kommer ikke med nogen fejl andet end den ikke indsætter noget i DB'n!

Er der en som gidder tjekke det igennem

<?php
$HTTP_GET_VARS = $_GET;
$HTTP_POST_VARS = $_POST;
$HTTP_FILES_VARS = $_FILES;
$HTTP_SERVER_VARS = $_SERVER;
extract($_GET);
extract($_POST);
extract($_FILES);
extract($_SERVER);

if (!empty($_FILES['upfile']['name'])) {
    if(is_uploaded_file($HTTP_POST_FILES['upfile']['tmp_name'])) {
        $dist = $HTTP_SERVER_VARS['DOCUMENT_ROOT']."/user_system/img/";
        $billed = $HTTP_POST_FILES['upfile']['name'];
        $user_group = $_POST['user_group'];
        $user_name = $_POST['user_name'];
        $password = $_POST['password'];
        $first_name = $_POST['first_name'];
        $last_name = $_POST['last_name'];
        $email = $_POST['email'];
        $filnavn = $_FILES['upfile']['name'];
    $temparr = explode(".", $filnavn);
    $temparr[count($temparr)-2] = $user_name;
    $filnavn = implode(".", $temparr);
       
        mysql_connect("","","");
        mysql_select_db("");
        $tjek = mysql_query("SELECT * FROM user_system WHERE user_name= '$_POST[user_name]'");
        if (mysql_num_rows($tjek))
        {
        echo "user_name: <b>$user_name</b>, findes allerede!";
        exit;
        }else{
       
        mysql_query("INSERT INTO user_system (user_group, user_name, password, first_name, last_name, email, picture) VALUES ('$user_group', '$user_name', '$password', '$first_name', '$last_name', '$email', '$picture')") or die(mysql_error());

        move_uploaded_file($HTTP_POST_FILES['upfile']['tmp_name'], $dist.$filnavn);
        $besked = "bruger blev tilføjet!";
        }}else{
        $besked = "Det gik helt galt!";
        }
        }else{
        $besked = "Tilføj ny bruger";
        }
?>
Avatar billede mjl Nybegynder
12. juni 2003 - 20:38 #1
Hvad er...

move_uploaded_file
Avatar billede mjl Nybegynder
12. juni 2003 - 20:39 #2
eller?

if(is_uploaded_file($HTTP_POST_FILES['upfile']['tmp_name'])) {

is_uploaded_file
Avatar billede kirsten Nybegynder
12. juni 2003 - 20:39 #3
det er meningen at den skal omdøbe filnavnet til user_name!
Avatar billede mjl Nybegynder
12. juni 2003 - 20:41 #4
Ser forkert ud...

move_uploaded_file

og

is_uploaded_file
Avatar billede kirsten Nybegynder
12. juni 2003 - 20:46 #5
okay fandt en fejl selv:
$billed = $HTTP_POST_FILES['upfile']['name'];
er ændret til
$picture = $HTTP_POST_FILES['upfile']['name'];

men den omdøber ikke filen???
Avatar billede mjl Nybegynder
12. juni 2003 - 20:47 #6
Den skal overskrive - ikk?
Avatar billede mjl Nybegynder
12. juni 2003 - 20:48 #7
move_uploaded_file($HTTP_POST_FILES['upfile']['tmp_name'], $dist.$filnavn);

skal måske være

move_uploaded_file($HTTP_POST_FILES['upfile']['name'], $dist.$filnavn);
Avatar billede kirsten Nybegynder
12. juni 2003 - 20:49 #8
er ikke helt sikker på hvad du mener?
Avatar billede mjl Nybegynder
12. juni 2003 - 20:50 #9
'tmp_name' = 'name'
Avatar billede fangel Nybegynder
12. juni 2003 - 20:50 #10
mener du skal bruge copy() istedet for move_uploaded_file()...

mjl => is_uploaded_file findes, den tjekker om det er en uploaded fil, så evt hackerangab kan overleves

Morten
Avatar billede mjl Nybegynder
12. juni 2003 - 20:51 #11
ok
Avatar billede tipsen Nybegynder
12. juni 2003 - 20:52 #12
Det er forøvrigt nogle lidt grimme høkerløsninger du bruger med dine variable i starten af scriptet.
Avatar billede kirsten Nybegynder
12. juni 2003 - 20:53 #13
Jeg er en krejler...! ;0P
Avatar billede _darkstar_ Nybegynder
12. juni 2003 - 20:57 #14
Din indentering er fuldstændig i skoven. Det er ikke underligt at du ikke kan overskue dit script. Dårlig identering er lig dårlig kode.

Se http://www.homer.ilias.uni-koeln.de/iliasdoc/doc/html/8_3.html
Avatar billede _darkstar_ Nybegynder
12. juni 2003 - 20:59 #15
Avatar billede kirsten Nybegynder
12. juni 2003 - 21:05 #16
he he, jeg tager kritikken til mig som en mand... ;)
Avatar billede fangel Nybegynder
12. juni 2003 - 21:33 #17
_darkstar_ => god og gennemtænkt artikel... ting til eftertanke (især magic_numbers... også meget fedt ex)

Morten
Avatar billede _darkstar_ Nybegynder
12. juni 2003 - 22:01 #18
Jeg er selv noget af en stil-fascist, når det gælder kode. For mig er det svært at leve uden.
Avatar billede fangel Nybegynder
12. juni 2003 - 22:07 #19
if(22 == $num) { start_thermonuclearwar(); } // overdrevent? pjat... ;)

Morten
Avatar billede _darkstar_ Nybegynder
12. juni 2003 - 22:24 #20
Jeg har designet betalingssystemer. I den sammenhæng er det bestemt ikke noget pjat :)
Avatar billede _darkstar_ Nybegynder
12. juni 2003 - 22:26 #21
if($return_code = 632321320) { send_pengene();}
if($return_code = 632321230) { ring_til_politiet_han_snyder(); }
Avatar billede fangel Nybegynder
12. juni 2003 - 22:27 #22
det var til start_thermonuclearwar(); hvad med bare something();... men nej ;) den kolde krig var ikke forgæves

Morten
Avatar billede _darkstar_ Nybegynder
12. juni 2003 - 22:35 #23
something() ikke alle til at fange pointen. Desværre. Overdrivelse fremmer forståelsen.
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