Avatar billede svend-herlig Nybegynder
23. januar 2008 - 01:58 Der er 9 kommentarer og
1 løsning

Billede upload på bruger niveau.

Jeg har nu fået lavet mit login system færdigt, det er bygget i PHP med MySQL, og det virker rigtig godt og enkelt :)

Mine bruger har nu adgang til en gang familiebilleder i fællesskab og en fællesmappe med up/download mulighed. Det næste projekt er bruger defineret upload. Jeg vil gerne at "Hans" foruden de billeder jeg har valgt, skal have mulighed for at uploade billeder af ham selv til en bestemt mappe!
(og senere andre typer filer til en anden mappe)

Og jeg vil gerne have det til at virke sådan at når man har logget ind og for login menuen frem skal der bare nederes være et link til en side hvor pågældende bruger kan uploade ting til mappen med brugerens navn.

Altså når "anne" logger på skal hun have adgang til at uploade billeder til hendes mappe, "søren" til sin osv.

Nogen der kan hjælpe mig, jeg er stadig forholdsvis ny på PHP markedet...

Dennis
www.udenpis.dk
Avatar billede showsource Seniormester
23. januar 2008 - 10:39 #1
Du holder jo styr på log ind, og det bruger du så til at bestemme hvilken mappe der uploades til.
Brugen af specialtegn, æ,ø,å m.m. vil jeg dog fraråde til dirnavne/filnavne

Hvordan holder du tjek på om man er logget ind?
Avatar billede svend-herlig Nybegynder
23. januar 2008 - 13:09 #2
<?php
if(isset($_SESSION['logget_ind'])){
echo "

beskyttet indhold

";}else{ include("ikke.inc");}
?>
Avatar billede svend-herlig Nybegynder
23. januar 2008 - 13:12 #3
Og her er login modulet:

<?
$db=mysql_connect("localhost", "brugernavn", "kode"); mysql_select_db("db");
$result = mysql_query("SELECT NULL FROM users WHERE brugernavn =
'".$_POST['brugernavn']."' AND password = '".$_POST['password']."'") or die
(mysql_error());
if ($antal_raekker=mysql_num_rows($result)>0){
$_SESSION['logget_ind']=1;
  $_SESSION['brugernavn'] = $brugernavn;
  $_SESSION['password'] = $password;


}else{ include("ikke.inc");} ?>

</body>
</html>
Avatar billede showsource Seniormester
23. januar 2008 - 15:57 #4
hmm, du har jo så $_SESSION['brugernavn'] som du kan bruge til at bestemme hvortil filer skal uploades.
Avatar billede svend-herlig Nybegynder
27. januar 2008 - 14:49 #5
kan du forklare det lidt nærmere? det jeg skal bruge er  noget ale:
$dist = $_SERVER["DOCUMENT_ROOT"] .'/lukket/testupload/' $_SESSION['brugernavn'];
hvis jeg forstår dig ret`?
Avatar billede svend-herlig Nybegynder
11. april 2008 - 10:26 #6
Som sagt forstår jeg ikke hvordan jeg hiver de informationer ud. fx kunne jeg godt tænke mig der stod: Velkommen Fornavn Efternavn
Avatar billede fant0mas Nybegynder
11. april 2008 - 10:58 #7
Du skal lige tage et kig på SQL injection.
Jeg kunne på 2 sekunder have adgang til dit "beskyttede" indhold.

$_POST[], $_GET[] osv. må aldrig indsættes direkte i en query.
Husk det så :D
Avatar billede svend-herlig Nybegynder
11. april 2008 - 19:06 #8
okay, mange tak, kunen du ikke forklare mig hvad, hvordan jeg retter det...?
Avatar billede fant0mas Nybegynder
12. april 2008 - 13:38 #9
$brugernavn = mysql_real_escape_string($_POST['brugernavn']);
$password = mysql_real_escape_string($_POST['password']);

$result = mysql_query("SELECT * FROM users WHERE brugernavn = '$brugernavn' AND password = '$password'") or die(mysql_error());

addslashes() kan også bruges, meningen er at vi vil hindre brugeren at manipulere vores query. Som dit var, kunne jeg også tømme din database, og det er vi jo ikke interesseret i :D

Men for forstå det, så prøv først at bruge følgende i dit login (begge felter):
pony' or '1'='1
Avatar billede svend-herlig Nybegynder
17. oktober 2010 - 17:09 #10
sorry, jeg vil gerne lukke, skriv hvis du føler dig snydt for point
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