Indsætter ikke i DB?
Godeftermiddag!
Er rimelig ny inden for php/sql, og lige nu roder jeg med at lægge et billede + beskrivelse ind i databasen. Mine filer:
upload.php
<form method="POST" enctype="multipart/form-data" action="load.php">
<p>
Billedbeskrivelse:<br />
<textarea name="beskrivelse" cols="30" rows="5" type="text"></textarea><br>
Billede:<br />
<input type="file" name="fil" size="21">
<input type="submit" value="Upload!" name="submit">
</p>
</form>
load.php
<?php
include ('connect.php');
$billede = "$_POST[billede]";
$beskrivelse = "$_POST[beskrivelse]";
mysql_query("INSERT INTO billeder (billeder,beskrivelser)VALUES('$billede','$beskrivelse')");
echo "Billedet er blevet uploadet";
?>
mysql
CREATE TABLE billeder (
id int not null primary key auto_increment,
billede blob,
beskrivelse text
);
Når jeg prøver at uploade et billede, skriver den: "Billedet er blevet uploadet", men der kommer intet ind i databasen?
Nogen der kan se problemet?
Håber i kan hjælpe!
Mvh
Kristoffer Sidst redigeret 13:43 02/05/2010 Pointfordeling
Forfatteren har lukket trĺden og har valgt at fordele de 10 point sĺledes:
|
Oprettet af:
MySQL
Point afsat: 10
 Lukket
13:41 02/05/2010
|
<?php
include ('connect.php');
$billede = $_POST[billede];
$beskrivelse = $_POST[beskrivelse];
mysql_query("INSERT INTO billeder (billeder,beskrivelser)VALUES('$billede','$beskrivelse')");
echo "Billedet er blevet uploadet";
?>
Prøv det |
Oprettet af:
Accepteret svar Point modtaget: 3
13:47 02/05/2010
|
1.<?php
2.
3.include ('connect.php');
4.
5.$billede = "$_POST[billede]";
6.$beskrivelse = "$_POST[beskrivelse]";
7.
8.mysql_query("INSERT INTO billeder(billede,beskrivelse)VALUES('$billede','$beskrivelse')");
9.
10.echo "Billedet er blevet uploadet";
11.
12.?>
Hvis det ikke virker, siger du bare til.. for jeg synes at du har kodet det ret mærkeligt :D Men det jeg har gjort er at rette navnene "billeder, beskrivelser" til "billede,beskrivelse" - Fordi at din mysql dump hedder, altså felterne hedder "beskrivelse" "billede"... forstår hvad jeg mener? de skal have samme navn inden de kan finde hinanden :p |
Oprettet af:
Accepteret svar Point modtaget: 3
13:52 02/05/2010
|
Hmm, stadig det samme
EDIT:
Så lige hvad du skrev tv2, fååååck en fail fra min side! :D Ja, jeg koder nok ret mærkeligt :b Tester lige når det er rettet :D
EDIT EDIT:
Nu kan jeg få beskrivelsen ind i databasen, men det ser ikke umiddelbart ud som om der kommer et billede ind..?
Kan i se problemet? Sidst redigeret 13:58 02/05/2010 |
Oprettet af:
 Kommentar
13:53 02/05/2010
|
|
Skriv endelig hvad du får af resultat :D |
Oprettet af:
 Kommentar
13:58 02/05/2010
|
|
vis gerne din nuværende kode. :) - så jeg tager udgangspunkt i noget der er rettet ;P |
Oprettet af:
 Kommentar
14:03 02/05/2010
|
load.php
<?php
include ('connect.php');
$billede = $_POST[billede];
$beskrivelse = $_POST[beskrivelse];
mysql_query("INSERT INTO billeder (billede,beskrivelse)VALUES('$billede','$beskrivelse')");
echo "Billedet er blevet uploadet";
?>
:-) Sidst redigeret 14:23 02/05/2010 |
Oprettet af:
 Kommentar
14:22 02/05/2010
|
upload.php
1.<form method="POST" enctype="multipart/form-data" action="load.php">
2.
3.<p>
4.
5.Billedbeskrivelse:<br />
6.<textarea name="beskrivelse" cols="30" rows="5" type="text"></textarea><br>
7.
8.Billede:<br />
9.<input type="file" name="billede" size="21">
10.
11.<input type="submit" value="Upload!" name="submit">
12.
13.</p>
14.
15.</form>
try that :D |
Oprettet af:
 Kommentar
14:28 02/05/2010
|
|
Virker heller ikke =D |
Oprettet af:
 Kommentar
14:35 02/05/2010
|
Lige off topic sorry :)
Men hvis det er et system som skal bruges af andre end dig, så anbefaler jeg kraftigt at du får noget sikkerhed på dit system der! Det er så let at "hacke" en side via et file input.. |
Oprettet af:
 Kommentar
14:51 02/05/2010
|
|
Som sagt er jeg ny inden for php/mysql, så lige nu ville jeg blive glad hvis min kode virkede. Ellers er der ikke meget at beskytte :-) Men tak for oplysningen. |
Oprettet af:
 Kommentar
14:55 02/05/2010
|
1.1.<form method="POST" enctype="multipart/form-data" action="load.php">
2.
3.2.
4.
5.3.<p>
6.
7.4.
8.
9.5.Billedbeskrivelse:<br />
10.
11.6.<textarea name="beskrivelse" cols="30" rows="5" type="text"></textarea><br>
12.
13.7.
14.
15.8.Billede:<br />
16.
17.9.<input type="text" name="billede" size="21">
18.
19.10.
20.
21.11.<input type="submit" value="Upload!" name="submit">
22.
23.12.
24.
25.13.</p>
26.
27.14.
28.
29.15.</form>
|
Oprettet af:
 Kommentar
15:00 02/05/2010
|
|
Kommer der ikke bare flere og flere linjeskift? |
Oprettet af:
 Kommentar
16:53 02/05/2010
|
|
Du vil have uploadet en fil? Godt så... $_FILES er svaret på dit spørgsmål. Du smider dit billede op på serveren og gemmer stien/filnavnet og beskrivelsen i databasen.. Den kode du har der skal rettes godt til hvis det skal virke. Her er lidt hjælp http://www.w3schools.com/PHP/php_file_upload.asp |
Oprettet af:
Accepteret svar Point modtaget: 4
02:23 03/05/2010
|
Med hjælp fra jer alle tre og nogle andre steder på nettet, endte jeg med denne kode som virker:
load.php
<?php
include ('connect.php');
$BilledeNavn = strtolower($_FILES['fil']['name']);
$beskrivelse = $_POST['beskrivelse'];
$BilledeTmp = $_FILES['fil']['tmp_name'];
$Destination = "billeder/".$BilledeNavn; // Så ender billedet i en mappe der hedder billeder
// så længe vi ikke har en ny fil, kører vi dette loop og ændrer filnavnet.
$oriBilledeNavn = $BilledeNavn;
while (file_exists($Destination)) {
$BilledeNavn = rand(0,100000).$oriBilledeNavn;
$Destination = "billeder/".$BilledeNavn;
}
move_uploaded_file($BilledeTmp, $Destination);
mysql_query("INSERT INTO billeder (billede,beskrivelse)VALUES('$BilledeNavn','$beskrivelse')");
echo "Billedet er blevet uploadet";
?>
|
Oprettet af:
 Kommentar
17:56 04/05/2010
|
Du skal vćre oprettet og logget ind for at svare pĺ en trĺd
|