Avatar billede matz Nybegynder
30. oktober 2006 - 13:56 Der er 64 kommentarer og
1 løsning

hvorfor virker min billedeupload ikke

Fejl jeg får når jeg prøver og uploade et billede:

Warning: copy(): Unable to access in /var/www/hotels/.dk/playboi/html/dating/upload.php on line 6

Warning: copy(): Unable to access in /var/www/hotels/.dk/playboi/html/dating/upload.php on line 7

Min kode:

<?php
if (isset($_POST['Submit'])) {
$mappe="billede/";
$billedenavn = time() . $_FILES[billedfil][name];
$thumbnavn = "thmb_" . $billednavn;
copy($_FILES[billedfil] [tmp_name], $mappe.$billednavn);
copy($_FILES[billedfil] [tmp_name], $mappe.$thumbnavn);
} else {
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>
<form action="<?php echo $PHP_SELF; ?>" method="post" enctype="multipart/form-data" name="upload_form">

Vælg billede:
<input type="file" name="billedefil" />
<input type="submit" name="Submit" value="Upload" />

</form>
<?php
}
?>

</body>
</html>
Avatar billede kdjweb Nybegynder
30. oktober 2006 - 14:00 #1
prøver at skifte adgang til 777?
Avatar billede matz Nybegynder
30. oktober 2006 - 14:00 #2
jeg har givet min mappe alle de rettigheder man kan
Avatar billede sw_red_6 Nybegynder
30. oktober 2006 - 14:06 #3
har du prøvet at bruge $_FILES[billedefil][name];?
Avatar billede matz Nybegynder
30. oktober 2006 - 14:10 #4
copy($_FILES[billedfil] [name], $mappe.$billednavn);
copy($_FILES[billedfil] [name], $mappe.$thumbnavn);

Den siger det samme der...
Avatar billede sw_red_6 Nybegynder
30. oktober 2006 - 14:16 #5
nu var det mere fordi der er forskel på inputfeltets navn og på det du har skrevet i $_FILES[]
Avatar billede matz Nybegynder
30. oktober 2006 - 14:23 #6
Jeg har prvet og rette det, men samme fejl kommer
Avatar billede erikjacobsen Ekspert
30. oktober 2006 - 15:04 #7
Så vis hvad du har rettet det til. Enten billedefil eller billedfil
Avatar billede bravida Nybegynder
30. oktober 2006 - 15:20 #8
Denne kode her virker, bruger den selv.

<?php
if (isset($_FILES['filnavn'])) {
    print "Fil, der er blevet overført: {$_FILES['filnavn']['name']}<p>\n";
    $tempfile = $_FILES['filnavn']['tmp_name'];
    $destination = $_SERVER["DOCUMENT_ROOT"]."/billeder/".$_FILES['filnavn']['name'];
    copy($tempfile, $destination);
    $query = "INSERT INTO billeder SET billednavn='".$_FILES['filnavn']['name']."'";
    $Result1 = mysql_query($query, $cms) or die(mysql_error());
}

?>
<form action="upload.php" method="post" enctype="multipart/form-data" name="" id="">
  <p>Fil der skal overf&oslash;res:
    <input name="filnavn" type="file" id="filnavn">
</p>
  <p>
    <input name="overf&oslash;r" type="submit" id="overf&oslash;r" value="Overf&oslash;r">
  </p>
</form>
</body>
</html>
Avatar billede bravida Nybegynder
30. oktober 2006 - 15:23 #9
PS: Ret i koden hvis din billede mappe ikke hedder "billeder"
Avatar billede bravida Nybegynder
30. oktober 2006 - 15:28 #10
PS: Ret cms min databasenavn.
Avatar billede matz Nybegynder
31. oktober 2006 - 09:13 #11
Det virker nu, men jeg skal have gemt billedstien i databasen i feltet "billede". Så dnen tildeles hver bruger et billede efter hvad de har uploadet.

Her er den kode jeg bruger:

<?php
include_once('connect.php');

mysql_select_db($database);
$db_profil = mysql_query("select * from brugere where brugernavn = '$_GET[profil]'");
$profil = mysql_fetch_array($db_profil);
$brugernavn = $_SESSION[brugernavn];

if (isset($_POST['Submit'])) {
$mappe="billede/";
$billednavn = time() . $_FILES[billedfil][name];
$thumbnavn = "thmb_" . $billednavn;
copy($_FILES[billedfil] [tmp_name], $mappe.$billednavn);
copy($_FILES[billedfil] [tmp_name], $mappe.$thumbnavn);
echo "Billedet er uploadet";
} else {
echo "Der skete en fejl";
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>
<form action="<?php echo $PHP_SELF; ?>" method="post" enctype="multipart/form-data" name="upload_form">

Vælg billede:
<input type="file" name="billedfil" />
<input type="submit" name="Submit" value="Upload" />

</form>
<?php
}
?>

</body>
</html>
Avatar billede sw_red_6 Nybegynder
31. oktober 2006 - 10:24 #12
det kan være svært at hjælpe med uden at kende din tabelstruktur.
men det kunne være noget i retning af:
INSERT INTO tabelnavn('billede') VALUES('$mappe.$billednavn')
eller hvis den er tilknyttet brugeren i tabellen brugere kunne det være
UPDATE brugere SET billede = '$mappe.$billednavn' WHERE brugernavn = $brugernavn
Avatar billede matz Nybegynder
31. oktober 2006 - 10:43 #13
sw_red_6 >>

Har du mulighed for at indsætte " UPDATE brugere SET billede = '$mappe.$billednavn' WHERE brugernavn = $brugernavn " i koden?
Avatar billede sw_red_6 Nybegynder
31. oktober 2006 - 11:05 #14
jah vi kan jo prøve med det her:
<?php
include_once('connect.php');

mysql_select_db($database);
$db_profil = mysql_query("select * from brugere where brugernavn = '$_GET[profil]'");
$profil = mysql_fetch_array($db_profil);
$brugernavn = $_SESSION[brugernavn];

if (isset($_POST['Submit'])) {
$mappe="billede/";
$billednavn = time() . $_FILES[billedfil][name];
$thumbnavn = "thmb_" . $billednavn;
copy($_FILES[billedfil] [tmp_name], $mappe.$billednavn);
copy($_FILES[billedfil] [tmp_name], $mappe.$thumbnavn);

$sql = "UPDATE brugere SET billede = '$mappe.$billednavn' WHERE brugernavn = $brugernavn";
mysql_query($sql) or die(mysql_error());
/* ALT MELLEM DISSE KOMMENTARER ER IKKE NØDVENDIG, MEN KAN BRUGES TIL AT TJEKKE OM DET VIRKER */
$aff_rows = mysql_affected_rows();
if($aff_rows >= 1) {
  echo "billedet er tilknyttet bruger: $brugernavn";
}
/* ALT MELLEM DISSE KOMMENTARER ER IKKE NØDVENDIG, MEN KAN BRUGES TIL AT TJEKKE OM DET VIRKER */

echo "Billedet er uploadet";
} else {
echo "Der skete en fejl";
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>
<form action="<?php echo $PHP_SELF; ?>" method="post" enctype="multipart/form-data" name="upload_form">

Vælg billede:
<input type="file" name="billedfil" />
<input type="submit" name="Submit" value="Upload" />

</form>
<?php
}
?>

</body>
</html>
Avatar billede matz Nybegynder
31. oktober 2006 - 11:18 #15
Når jeg prøver og uploade et billed siger den:

You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
Avatar billede sw_red_6 Nybegynder
31. oktober 2006 - 11:32 #16
prøv at sætte den her ind lige før mysql_query($sql) or die(mysql_error());
echo $sql; jeg vil godt se hvad den skriver
Avatar billede matz Nybegynder
31. oktober 2006 - 11:49 #17
Den siger:

UPDATE brugere SET billede = 'billede/.1162291759showphoto.jpg' WHERE brugernavn = You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
Avatar billede sw_red_6 Nybegynder
31. oktober 2006 - 11:52 #18
hmm prøv at skifte $brugernavn ud med '$brugernavn' eller hvis det ikke virker så prøv med '$_GET[profil]'
Avatar billede matz Nybegynder
31. oktober 2006 - 12:07 #19
Den virker med  '$_GET[profil]'

Men den gemmer intet i feltet "billede" i tabellen "brugere"
Avatar billede matz Nybegynder
31. oktober 2006 - 12:07 #20
Den vil godt uploade billedet til mappen
Avatar billede sw_red_6 Nybegynder
31. oktober 2006 - 12:18 #21
hmm bare for at tjekke men prøv lige at erstatte:
$sql = "UPDATE brugere SET billede = '$mappe.$billednavn' WHERE brugernavn = $brugernavn";
med den her:
$sql = "UPDATE brugere SET billede = '$mappe."".$billednavn' WHERE brugernavn = '$_GET[profil]'";

og sæt det her ind i den if jeg har lavet:
echo "billedet er tilknyttet bruger: $_GET['profil']";
echo "billede: "$mappe."".$billednavn;
istedet for den her:
echo "billedet er tilknyttet bruger: $brugernavn";

Vil godt vide hvad der står i databasen når du har uploadet et billede
Avatar billede matz Nybegynder
31. oktober 2006 - 12:24 #22
Så skriver den:

Parse error: parse error, unexpected '\"' in /var/www/hotels/.dk/playboi/html/dating/upload.php on line 16

Linje 16:

$sql = "UPDATE brugere SET billede = '$mappe."".$billednavn' WHERE brugernavn = '$_GET[profil]'";

Koden som den er nu:

<?php
include_once('connect.php');

mysql_select_db($database);
$db_profil = mysql_query("select * from brugere where brugernavn = '$_GET[profil]'");
$profil = mysql_fetch_array($db_profil);
$brugernavn = $_SESSION[brugernavn];

if (isset($_POST['Submit'])) {
$mappe="billede/";
$billednavn = time() . $_FILES[billedfil][name];
$thumbnavn = "thmb_" . $billednavn;
copy($_FILES[billedfil] [tmp_name], $mappe.$billednavn);
copy($_FILES[billedfil] [tmp_name], $mappe.$thumbnavn);

$sql = "UPDATE brugere SET billede = '$mappe."".$billednavn' WHERE brugernavn = '$_GET[profil]'";
mysql_query($sql) or die(mysql_error());
/* ALT MELLEM DISSE KOMMENTARER ER IKKE NØDVENDIG, MEN KAN BRUGES TIL AT TJEKKE OM DET VIRKER */
$aff_rows = mysql_affected_rows();
if($aff_rows >= 1) {
  echo "billedet er tilknyttet bruger: $_GET['profil']";
echo "billede: "$mappe."".$billednavn;
}
/* ALT MELLEM DISSE KOMMENTARER ER IKKE NØDVENDIG, MEN KAN BRUGES TIL AT TJEKKE OM DET VIRKER */

echo "Billedet er uploadet";
} else {
echo "Der skete en fejl";
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>
<form action="<?php echo $PHP_SELF; ?>" method="post" enctype="multipart/form-data" name="upload_form">

Vælg billede:
<input type="file" name="billedfil" />
<input type="submit" name="Submit" value="Upload" />

</form>
<?php
}
?>

</body>
</html>
Avatar billede sw_red_6 Nybegynder
31. oktober 2006 - 12:27 #23
hmm brokker den sig også hvis du prøver med den her:
$sql = "UPDATE brugere SET billede = '$mappe$billednavn' WHERE brugernavn = '$_GET[profil]'";
Avatar billede matz Nybegynder
31. oktober 2006 - 12:43 #24
Ja nu brokker den sig vist mere:

Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /var/www/hotels/.dk/playboi/html/dating/upload.php on line 21
Avatar billede sw_red_6 Nybegynder
31. oktober 2006 - 12:46 #25
heh jeg det var mig der har glemt et .

prøv at ændre det her:
  echo "billedet er tilknyttet bruger: $_GET['profil']";
  echo "billede: "$mappe."".$billednavn;
til det her:
  echo "billedet er tilknyttet bruger: $_GET['profil']";
  echo "billede: $mappe$billednavn";
Avatar billede matz Nybegynder
31. oktober 2006 - 13:00 #26
Den melder stadig fejl :)

Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /var/www/hotels/.dk/playboi/html/dating/upload.php on line 21


Min kode nu:

<?php
include_once('connect.php');

mysql_select_db($database);
$db_profil = mysql_query("select * from brugere where brugernavn = '$_GET[profil]'");
$profil = mysql_fetch_array($db_profil);
$brugernavn = $_SESSION[brugernavn];

if (isset($_POST['Submit'])) {
$mappe="billede/";
$billednavn = time() . $_FILES[billedfil][name];
$thumbnavn = "thmb_" . $billednavn;
copy($_FILES[billedfil] [tmp_name], $mappe.$billednavn);
copy($_FILES[billedfil] [tmp_name], $mappe.$thumbnavn);

$sql = "UPDATE brugere SET billede = '$mappe$billednavn' WHERE brugernavn = '$_GET[profil]'";
mysql_query($sql) or die(mysql_error());
/* ALT MELLEM DISSE KOMMENTARER ER IKKE NØDVENDIG, MEN KAN BRUGES TIL AT TJEKKE OM DET VIRKER */
$aff_rows = mysql_affected_rows();
if($aff_rows >= 1) {
  echo "billedet er tilknyttet bruger: $_GET['profil']";
  echo "billede: $mappe$billednavn";
}
/* ALT MELLEM DISSE KOMMENTARER ER IKKE NØDVENDIG, MEN KAN BRUGES TIL AT TJEKKE OM DET VIRKER */

echo "Billedet er uploadet";
} else {
echo "Der skete en fejl";
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>
<form action="<?php echo $PHP_SELF; ?>" method="post" enctype="multipart/form-data" name="upload_form">

Vælg billede:
<input type="file" name="billedfil" />
<input type="submit" name="Submit" value="Upload" />

</form>
<?php
}
?>

</body>
</html>
Avatar billede sw_red_6 Nybegynder
31. oktober 2006 - 13:01 #27
hm så prøv at sætte et . ind mellem $mappe og $billednavn i den linie
Avatar billede matz Nybegynder
31. oktober 2006 - 13:16 #28
den melder:

Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /var/www/hotels/.dk/playboi/html/dating/upload.php on line 21
Avatar billede sw_red_6 Nybegynder
31. oktober 2006 - 13:20 #29
så prøv at sætte // foran
Avatar billede matz Nybegynder
31. oktober 2006 - 13:27 #30
Nu kan jeg uploade billed igen, men den gemmer stadig intet i databasen under "billede"
Avatar billede sw_red_6 Nybegynder
31. oktober 2006 - 13:29 #31
har du et link, så jeg kan se?
Avatar billede matz Nybegynder
31. oktober 2006 - 13:32 #32
http://www.playboi.dk/dating/

log ind med test i begge felter
Avatar billede sw_red_6 Nybegynder
31. oktober 2006 - 13:55 #33
Kan du ikke lige prøve den her en gang
<?php
include_once('connect.php');

mysql_select_db($database);
$db_profil = mysql_query("select * from brugere where brugernavn = '$_GET[profil]'");
$profil = mysql_fetch_array($db_profil);
$brugernavn = $_SESSION[brugernavn];

if (isset($_POST['Submit'])) {
$mappe="billede/";
$billednavn = time() . $_FILES[billedfil][name];
$thumbnavn = "thmb_" . $billednavn;
copy($_FILES[billedfil] [tmp_name], $mappe.$billednavn);
copy($_FILES[billedfil] [tmp_name], $mappe.$thumbnavn);

$billede = $mappe."".$billednavn;
$sql = "UPDATE brugere SET billede = '$billede' WHERE brugernavn = '$_GET[profil]'";
echo $sql;
mysql_query($sql) or die(mysql_error());
/* ALT MELLEM DISSE KOMMENTARER ER IKKE NØDVENDIG, MEN KAN BRUGES TIL AT TJEKKE OM DET VIRKER */
$aff_rows = mysql_affected_rows();
if($aff_rows != -1) {
  echo "billedet er tilknyttet bruger: $_GET['profil']";
  echo "billede: $billede";
}
/* ALT MELLEM DISSE KOMMENTARER ER IKKE NØDVENDIG, MEN KAN BRUGES TIL AT TJEKKE OM DET VIRKER */

echo "Billedet er uploadet";
} else {
echo "Der skete en fejl";
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>
<form action="<?php echo $PHP_SELF; ?>" method="post" enctype="multipart/form-data" name="upload_form">

Vælg billede:
<input type="file" name="billedfil" />
<input type="submit" name="Submit" value="Upload" />

</form>
<?php
}
?>

</body>
</html>
Avatar billede matz Nybegynder
31. oktober 2006 - 13:57 #34
Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /var/www/hotels/.dk/playboi/html/dating/upload.php on line 23
Avatar billede sw_red_6 Nybegynder
31. oktober 2006 - 13:59 #35
arh jeg er god til at overse småting i dag...
prøv det her:
echo "billedet er tilknyttet bruger: ".$_GET['profil'];
i stedet for:
echo "billedet er tilknyttet bruger: $_GET['profil']";
Avatar billede matz Nybegynder
31. oktober 2006 - 14:02 #36
Nu skriver den :)

UPDATE brugere SET billede = 'billede/1162299686showphoto.jpg' WHERE brugernavn = ''billedet er tilknyttet bruger: billede: billede/1162299686showphoto.jpgBilledet er uploadet

Så den får ikke brugeren med...
Avatar billede sw_red_6 Nybegynder
31. oktober 2006 - 14:06 #37
hmm prøv at skifte $_GET[profil] ud med $_SESSION[brugernavn]
Avatar billede matz Nybegynder
31. oktober 2006 - 14:08 #38
Parse error: parse error, unexpected T_VARIABLE, expecting ',' or ';' in /var/www/hotels/.dk/playboi/html/dating/upload.php on line 23

Koden som den er nu:

<?php
include_once('connect.php');

mysql_select_db($database);
$db_profil = mysql_query("select * from brugere where brugernavn = '$_GET[profil]'");
$profil = mysql_fetch_array($db_profil);
$brugernavn = $_SESSION[brugernavn];

if (isset($_POST['Submit'])) {
$mappe="billede/";
$billednavn = time() . $_FILES[billedfil][name];
$thumbnavn = "thmb_" . $billednavn;
copy($_FILES[billedfil] [tmp_name], $mappe.$billednavn);
copy($_FILES[billedfil] [tmp_name], $mappe.$thumbnavn);

$billede = $mappe."".$billednavn;
$sql = "UPDATE brugere SET billede = '$billede' WHERE brugernavn = $_SESSION[brugernavn]";
echo $sql;
mysql_query($sql) or die(mysql_error());
/* ALT MELLEM DISSE KOMMENTARER ER IKKE NØDVENDIG, MEN KAN BRUGES TIL AT TJEKKE OM DET VIRKER */
$aff_rows = mysql_affected_rows();
if($aff_rows != -1) {
  echo "billedet er tilknyttet bruger: "$_SESSION[brugernavn];
  echo "billede: $billede";
}
/* ALT MELLEM DISSE KOMMENTARER ER IKKE NØDVENDIG, MEN KAN BRUGES TIL AT TJEKKE OM DET VIRKER */

echo "Billedet er uploadet";
} else {
echo "Der skete en fejl";
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>
<form action="<?php echo $PHP_SELF; ?>" method="post" enctype="multipart/form-data" name="upload_form">

Vælg billede:
<input type="file" name="billedfil" />
<input type="submit" name="Submit" value="Upload" />

</form>
<?php
}
?>

</body>
</html>
Avatar billede sw_red_6 Nybegynder
31. oktober 2006 - 14:10 #39
det er fordi der skal være et . mellem " og $_SESSION[brugernavn]
Avatar billede matz Nybegynder
31. oktober 2006 - 14:15 #40
Nu siger den:

UPDATE brugere SET billede = 'billede/1162300488showphoto.jpg' WHERE brugernavn = .You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

Koden nu:

<?php
include_once('connect.php');

mysql_select_db($database);
$db_profil = mysql_query("select * from brugere where brugernavn = '$_GET[profil]'");
$profil = mysql_fetch_array($db_profil);
$brugernavn = $_SESSION[brugernavn];

if (isset($_POST['Submit'])) {
$mappe="billede/";
$billednavn = time() . $_FILES[billedfil][name];
$thumbnavn = "thmb_" . $billednavn;
copy($_FILES[billedfil] [tmp_name], $mappe.$billednavn);
copy($_FILES[billedfil] [tmp_name], $mappe.$thumbnavn);

$billede = $mappe."".$billednavn;
$sql = "UPDATE brugere SET billede = '$billede' WHERE brugernavn = .$_SESSION[brugernavn]";
echo $sql;
mysql_query($sql) or die(mysql_error());
/* ALT MELLEM DISSE KOMMENTARER ER IKKE NØDVENDIG, MEN KAN BRUGES TIL AT TJEKKE OM DET VIRKER */
$aff_rows = mysql_affected_rows();
if($aff_rows != -1) {
  echo "billedet er tilknyttet bruger: ".$_SESSION[brugernavn];
  echo "billede: $billede";
}
/* ALT MELLEM DISSE KOMMENTARER ER IKKE NØDVENDIG, MEN KAN BRUGES TIL AT TJEKKE OM DET VIRKER */

echo "Billedet er uploadet";
} else {
echo "Der skete en fejl";
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>
<form action="<?php echo $PHP_SELF; ?>" method="post" enctype="multipart/form-data" name="upload_form">

Vælg billede:
<input type="file" name="billedfil" />
<input type="submit" name="Submit" value="Upload" />

</form>
<?php
}
?>

</body>
</html>
Avatar billede sw_red_6 Nybegynder
31. oktober 2006 - 14:16 #41
vi prøver lige med den her:
$sql = "UPDATE brugere SET billede = '$billede' WHERE brugernavn = '$_SESSION[brugernavn]'";
Avatar billede matz Nybegynder
31. oktober 2006 - 14:18 #42
Så siger den:

UPDATE brugere SET billede = 'billede/1162300662showphoto.jpg' WHERE brugernavn = ''billedet er tilknyttet bruger: billede: billede/1162300662showphoto.jpgBilledet er uploadet
Avatar billede sw_red_6 Nybegynder
31. oktober 2006 - 16:58 #43
hrm prøv det her i stedet for:
<?php
include_once('connect.php');

$profil_navn = $_GET['profil'];

mysql_select_db($database);
$db_profil = mysql_query("select * from brugere where brugernavn = '$profil_navn'");
$profil = mysql_fetch_array($db_profil);
$brugernavn = $_SESSION[brugernavn];

if (isset($_POST['Submit'])) {
$mappe="billede/";
$billednavn = time() . $_FILES[billedfil][name];
$thumbnavn = "thmb_" . $billednavn;
copy($_FILES[billedfil] [tmp_name], $mappe.$billednavn);
copy($_FILES[billedfil] [tmp_name], $mappe.$thumbnavn);

$billede = $mappe."".$billednavn;
$sql = "UPDATE brugere SET billede = '$billede' WHERE brugernavn = '$profil_navn'";
echo $sql."<br>";
mysql_query($sql) or die(mysql_error());
/* ALT MELLEM DISSE KOMMENTARER ER IKKE NØDVENDIG, MEN KAN BRUGES TIL AT TJEKKE OM DET VIRKER */
$aff_rows = mysql_affected_rows();
if($aff_rows != -1) {
  echo "billedet er tilknyttet bruger: '$profil_navn'<br>";
  echo "billede: $billede<br>";
}
/* ALT MELLEM DISSE KOMMENTARER ER IKKE NØDVENDIG, MEN KAN BRUGES TIL AT TJEKKE OM DET VIRKER */

echo "Billedet er uploadet";
} else {
echo "Der skete en fejl";
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>
<form action="<?php echo $PHP_SELF; ?>" method="post" enctype="multipart/form-data" name="upload_form">

Vælg billede:
<input type="file" name="billedfil" />
<input type="submit" name="Submit" value="Upload" />

</form>
<?php
}
?>

</body>
</html>
Avatar billede matz Nybegynder
31. oktober 2006 - 18:19 #44
Nu siger den:

UPDATE brugere SET billede = 'billede/1162315150showphoto.jpg' WHERE brugernavn = ''
billedet er tilknyttet bruger: ''
billede: billede/1162315150showphoto.jpg
Billedet er uploadet
Avatar billede sw_red_6 Nybegynder
01. november 2006 - 08:45 #45
hvad bruger du den her til?
$brugernavn = $_SESSION[brugernavn];
Avatar billede matz Nybegynder
01. november 2006 - 09:24 #46
Jeg går udfra den registrere brugernavnet når man er logget ind...og derved tager den med - men det gør den så ikke kan vi se.
Avatar billede sw_red_6 Nybegynder
01. november 2006 - 09:56 #47
vi prøver lige noget en gang
<?php
include_once('connect.php');

mysql_select_db($database);
$db_profil = mysql_query("select * from brugere where brugernavn = '$profil_navn'");
$profil = mysql_fetch_array($db_profil);
$brugernavn = $_SESSION[brugernavn];

echo "<pre>"; print_r($profil); echo "</pre>";

if (isset($_POST['Submit'])) {
$mappe="billede/";
$billednavn = time() . $_FILES[billedfil][name];
$thumbnavn = "thmb_" . $billednavn;
copy($_FILES[billedfil] [tmp_name], $mappe.$billednavn);
copy($_FILES[billedfil] [tmp_name], $mappe.$thumbnavn);

$billede = $mappe."".$billednavn;
$sql = "UPDATE brugere SET billede = '$billede' WHERE brugernavn = '$brugernavn'";
echo $sql."<br>";
mysql_query($sql) or die(mysql_error());
/* ALT MELLEM DISSE KOMMENTARER ER IKKE NØDVENDIG, MEN KAN BRUGES TIL AT TJEKKE OM DET VIRKER */
$aff_rows = mysql_affected_rows();
if($aff_rows != -1) {
  echo "billedet er tilknyttet bruger: '$brugernavn'<br>";
  echo "billede: $billede<br>";
}
/* ALT MELLEM DISSE KOMMENTARER ER IKKE NØDVENDIG, MEN KAN BRUGES TIL AT TJEKKE OM DET VIRKER */

echo "Billedet er uploadet";
} else {
echo "Der skete en fejl";
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>
<form action="<?php echo $PHP_SELF; ?>" method="post" enctype="multipart/form-data" name="upload_form">

Vælg billede:
<input type="file" name="billedfil" />
<input type="submit" name="Submit" value="Upload" />

</form>
<?php
}
?>

</body>
</html>


Forresten hvordan tjekker du at login er OK?
Avatar billede matz Nybegynder
01. november 2006 - 10:08 #48
Det virkede heller ikke. Mit login er:

<?php
session_start();
if (session_is_registered("brugernavn") AND ("kodeord")) {
include("loggetind.php");
}else{
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="STYLESHEET" type="text/css" href="stylesheet.css">
<title>Opret profil</title>
</head>
<body class="body" bgcolor="FFFFCB">



<?php

include("connect.php");

if($_POST[action] == 'login') {

if($_POST[brugernavn] == NULL OR $_POST[kodeord] == NULL) {



} else {



$s_tjekbruger = mysql_query("SELECT brugernavn, kodeord FROM brugere WHERE brugernavn LIKE '$_POST[brugernavn]' AND kodeord = '$_POST[kodeord]'");

$tjekbruger = mysql_fetch_array($s_tjekbruger);

if($tjekbruger[brugernavn] == NULL) {



print "<meta http-equiv=\"refresh\" content=\"0;url=login_nej.php\">";



} else {



$_SESSION[brugernavn] = $_POST[brugernavn];

$_SESSION[kodeord] = $_POST[kodeord];
$dato_array = getdate();

$dato = date('d-m-Y H:i:s');

mysql_query("UPDATE brugere SET status = 'Online' WHERE brugernavn = '$_SESSION[brugernavn]'") or die(mysql_error());
mysql_query("UPDATE brugere SET sidstset = '$dato' WHERE brugernavn = '$_SESSION[brugernavn]'") or die(mysql_error());


$fejl == 'nej';

print "<meta http-equiv=\"refresh\" content=\"0;url=loggetind.php\">";

}

}

} else {

}

?>

<?php

if($_GET[login] == "nej")

{

print "<font color=red>Forkert kodeord eller brugernavn!</font>";

}

?>

</font>
<br />
<form action="login.php" method="POST">

  <p><b>Brugernavn:</b>
      <input type="text" class="input" name="brugernavn" maxlength="20">
</p>
  <p>      <b>Adgangskode:</b>
    <input type="password" class="input" name="kodeord" maxlength="20">
  </p>
  <p>
    <input type="submit" class="input" value="Login" name="login"> <a target="_self" href="opret.html">Opret bruger</a>
      <br>
    <a target="_self" href="glemtkode.php">Glemt password</a>
 
    <input type="hidden" name="action" value="login">
   
  </p>
</form>

</body>



</html>

<?php

}

?>
Avatar billede sw_red_6 Nybegynder
01. november 2006 - 11:48 #49
prøv at ligge det her op giv besked når du har gjort det så jeg kan se hvad den skriver:
<?php
include_once('connect.php');

mysql_select_db($database);
$db_profil = mysql_query("select * from brugere where brugernavn = '$profil_navn'");
$profil = mysql_fetch_array($db_profil);
$brugernavn = $_SESSION[brugernavn];

echo "<pre>"; print_r($profil); echo "</pre>";
echo "<pre>"; print_r($_SESSION); echo "</pre>";

if (isset($_POST['Submit'])) {
$mappe="billede/";
$billednavn = time() . $_FILES[billedfil][name];
$thumbnavn = "thmb_" . $billednavn;
copy($_FILES[billedfil] [tmp_name], $mappe.$billednavn);
copy($_FILES[billedfil] [tmp_name], $mappe.$thumbnavn);

$billede = $mappe."".$billednavn;
$sql = "UPDATE brugere SET billede = '$billede' WHERE brugernavn = '$brugernavn'";
echo $sql."<br>";
mysql_query($sql) or die(mysql_error());
/* ALT MELLEM DISSE KOMMENTARER ER IKKE NØDVENDIG, MEN KAN BRUGES TIL AT TJEKKE OM DET VIRKER */
$aff_rows = mysql_affected_rows();
if($aff_rows != -1) {
  echo "billedet er tilknyttet bruger: '$brugernavn'<br>";
  echo "billede: $billede<br>";
}
/* ALT MELLEM DISSE KOMMENTARER ER IKKE NØDVENDIG, MEN KAN BRUGES TIL AT TJEKKE OM DET VIRKER */

echo "Billedet er uploadet";
} else {
echo "Der skete en fejl";
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>
<form action="<?php echo $PHP_SELF; ?>" method="post" enctype="multipart/form-data" name="upload_form">

Vælg billede:
<input type="file" name="billedfil" />
<input type="submit" name="Submit" value="Upload" />

</form>
<?php
}
?>

</body>
</html>
Avatar billede matz Nybegynder
01. november 2006 - 17:20 #50
Så skriver den:

UPDATE brugere SET billede = 'billede/1162397981landskab.jpg' WHERE brugernavn = ''
billedet er tilknyttet bruger: ''
billede: billede/1162397981landskab.jpg
Billedet er uploadet
Avatar billede sw_red_6 Nybegynder
02. november 2006 - 08:47 #51
arh, i går var virkelig en dårlig dag for mig!!
Du mangler session_start(); i starten af filen, ellers kan du ikke bruge sessions
Avatar billede matz Nybegynder
03. november 2006 - 08:56 #52
Nu virker det perfekt :) Tak for det.

Hvis jeg vil lave et udtræk af billedet med det samme når det er uploadet, ser koden så bare sådan her ud:

echo "<img src=\"php print $profil['billede']" align="middle" "\">";

Den melder fejl på den kode.

Læg et svar :)
Avatar billede erikjacobsen Ekspert
03. november 2006 - 09:16 #53
echo "<img src=\"{$profil['billede']}\" align=\"middle\">";
Avatar billede sw_red_6 Nybegynder
03. november 2006 - 09:36 #54
billedvisningen er som erikjacobsen skriver
Avatar billede matz Nybegynder
03. november 2006 - 09:47 #55
Den kode som erikjacobsen skriver virker ikke...Der bliver vist et kryds.
Avatar billede erikjacobsen Ekspert
03. november 2006 - 09:56 #56
Og hvad siger "Vis kilde" der står som billedenavn?
Avatar billede matz Nybegynder
03. november 2006 - 10:06 #57
Den siger:

<img src"" align="middle" />
Avatar billede erikjacobsen Ekspert
03. november 2006 - 10:09 #58
Det kan den nu ikke sige, hvis du har skrevet af efter 09:16:57
Men $profil['billede'] er tom - hvorfor mon det?
Avatar billede matz Nybegynder
03. november 2006 - 10:16 #59
Det her udskriver den:

<pre></pre><pre>Array
(
    [brugernavn] => Matz
    [kodeord] => kodeord
)
</pre>UPDATE brugere SET billede = 'billede/1162545275showphoto.jpg' WHERE brugernavn = 'Matz'<br>billedet er tilknyttet bruger: 'Matz'<br>billede: billede/1162545275showphoto.jpg<br>Billedet er uploadet<img src="" align="middle">
</body>
</html>

Men den gemmer jo stien i billede, den tager bare ikke fat i den.
Avatar billede erikjacobsen Ekspert
03. november 2006 - 10:23 #60
Det kan være meget godt - men hvor kommer $profil fra?
Avatar billede sw_red_6 Nybegynder
03. november 2006 - 12:30 #61
hvis du skriver koden så kan jeg godt rense lidt op i den så du ikke får alle de output, eller du kan gøre det selv bare sæt // foran de linjer med echo "<pre>"; print_r(); echo "</pre>";

og for at få fat i billedet kan du jo prøve med det her:
echo "<img src=\"{$billede}\" align=\"middle\">";
Avatar billede sw_red_6 Nybegynder
03. november 2006 - 12:32 #62
hov, hvis du selv renser op i de output så skal du da vidst også lige sætte // foran echo $sql."<br>";
Avatar billede matz Nybegynder
06. november 2006 - 09:16 #63
Jeps det virker nu...tak for det :)
Avatar billede matz Nybegynder
06. november 2006 - 09:30 #64
Har i kendskab til hvordan man kan lave en max size upload på et billede ? Og om det skal være jpg, gif osv. ?

Jeg kan godt give flere points for det
Avatar billede sw_red_6 Nybegynder
06. november 2006 - 09:55 #65
du kan prøve det her til størrelsen:
<input type="hidden" name="MAX_FILE_SIZE" value="100000" />
<input type="file" name="billedfil" />

og du kan også tjekke filstørrelse i PHP
mht. filtypen skal det være i PHP og det kan blive lidt vanskeligere at have med at gøre
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