mboost-dp1

Billedupload med flere felter på


Gå til bund
Gravatar #1 - dmy
5. maj 2009 06:13
Hej

Jeg skal have knyttet endnu et billede på, men har problemer med hvordan jeg kan gøre det, har stadig ikke helt fået forståelsen af hvordan man kan skrive det og hvordan man ikke kan skrive det.

Dette her er mine oplysninger, som skal gemmes i databasen.
overskrift, maerke, aargang, model, farve, km, pris, billede1, billede2

Men som det kan ses i koden, mangler billede2, jeg kan simpelthen ikke se hvor jeg kan sætte den ind og hvordan det skal stå.


Se min kode her:
<?php

$allowedFileTypes = array('jpg','gif','png');
$uploadDir = '../pic/biler/';

//Er der trykket på Upload file knappen?
if(isset($_POST['Submit'])){
//Har vi en fil?
if(is_uploaded_file($_FILES['billede1']['tmp_name'])){
//Filendelse
$extension = strtolower(pathinfo($_FILES['billede1']['name'],PATHINFO_EXTENSION));

//Er filen en af de filer vi gerne vil have?
if(in_array($extension,$allowedFileTypes)){
if( file_exists("../pic/biler/" . $_FILES['billede1']['name'])){
$filnavn = substr( md5( time() ), 0, 10 ) . '_' . $_FILES['billede1']['name'];
}else{
$filnavn = basename($_FILES['billede1']['name']);
}



//Vi flytter filen fra tmp til vores UPLOADDIR
if(move_uploaded_file($_FILES['billede1']['tmp_name'],$uploadDir . $filnavn))
{

$overskrift = mysql_real_escape_string($_POST["overskrift"]);
$maerke = mysql_real_escape_string($_POST["maerke"]);
$aargang = mysql_real_escape_string($_POST["aargang"]);
$model = mysql_real_escape_string($_POST["model"]);
$farve = mysql_real_escape_string($_POST["farve"]);
$km = mysql_real_escape_string($_POST["km"]);
$pris = mysql_real_escape_string($_POST["pris"]);

mysql_query("INSERT INTO biler (overskrift, maerke, aargang, model, farve, km, pris, billede1 ) VALUES ('".$overskrift."', '".$maerke."', '".$aargang."', '".$model."', '".$farve."', '".$km."', '".$pris."', '".$filnavn."')")or die(mysql_error());

echo '<br /><div id="nyhed_rettet">File ('.basename($_FILES['billede1']['name']).') Billedet blev uploadet </div>';
}else{
echo '<br /><div id="nyhed_rettet">Fejl - Billedet kan ikke uploades: '.basename($_FILES['billede1']['name']).'</div>';
}
}else{
echo '<br /><div id="nyhed_rettet">Forkert filtype, gyldige filtyper er: ('.implode(',',$allowedFileTypes).')</div>';
}
}else{
$description = mysql_real_escape_string($_POST['description']);
$overskrift = mysql_real_escape_string($_POST["overskrift"]);
$maerke = mysql_real_escape_string($_POST["maerke"]);
$aargang = mysql_real_escape_string($_POST["aargang"]);
$model = mysql_real_escape_string($_POST["model"]);
$farve = mysql_real_escape_string($_POST["farve"]);
$km = mysql_real_escape_string($_POST["km"]);
$pris = mysql_real_escape_string($_POST["pris"]);

mysql_query("INSERT INTO biler (overskrift, maerke, aargang, model, farve, km, pris, billede1 ) VALUES ('".$overskrift."', '".$maerke."', '".$aargang."', '".$model."', '".$farve."', '".$km."', '".$pris."', '".$filnavn."')")or die(mysql_error());
echo '<br /><div id="nyhed_rettet">Informationer er gemt, ingen billeder var valgt</div>';
}
}

?>
Gravatar #2 - dmy
6. maj 2009 08:09
Er der overhovedet ikke et øje der kan hjælpe???
Gravatar #3 - Corholio
6. maj 2009 09:24
Et generelt spørgsmål? Hvad er din erfaring med at kode i PHP?

Det fremgår faktisk rimeligt tydeligt hvor du skal lave ændringer for at kunne tilføje billede2.
Du burde kunne komme afsted med at duplikere logikken for hvor der står billede1 og rette denne tekst til billede2.

Husk at din tabel også skal rettes til, så den indeholder et felt til billede2.
Gravatar #4 - dmy
6. maj 2009 09:38
Ja jeg stadig har ikke helt forstået syntaksen.

Mit problem ligger i hvordan koden skal stå, når der er sat et billede mere på, kan ikke lige præcis se, fra hvor i koden og til hvor i koden, der skal dublikeres.

Det lyder umiddelbart ikke så svært, men kan simpelthen ikke få det til at virke.
Gravatar #5 - dmy
6. maj 2009 09:45
Jeg tror det er lige her i, jeg laver fejl, skal denne $filnavn dække over begge billeder eller skal de have en variabel hver?



if(in_array($extension,$allowedFileTypes)){
if( file_exists("../pic/biler/" . $_FILES['billede1']['name'])){
$filnavn = substr( md5( time() ), 0, 10 ) . '_' . $_FILES['billede1']['name'];
}else{
$filnavn = basename($_FILES['billede1'][
'name']);
}
Gravatar #6 - Windcape
6. maj 2009 10:48
Det er din kode, hvordan skal vi kunne vide det?

Hvis du har downloadet noget random kode et eller andet sted, og bare gerne vil have nogen til at fikse den for dig, så er det jo en hel anden sag.
Gravatar #7 - dmy
6. maj 2009 10:53
Det kan man vel se, når jeg har skrevet den ind jo, som kan ses øverst.

Jeg har selv skrevet noget af koden og har fået hjælp til resten.

Det jeg sådan set spørger om er syntaksen, hvorman kan man skrive det?

Fx:

//Dette er med et billede

if(isset($_POST['Submit'])){
//Har vi en fil?
if(is_uploaded_file($_FILES['billede1']['tmp_name']))


//Dette er med to

if(is_uploaded_file($_FILES['billede1']['tmp_name']
&& $_FILES['billede2']['tmp_name'] ))



Aner ikke hvorfor den laver mærkelige tegn i min kode når jeg gemmer???
Gravatar #8 - TullejR
6. maj 2009 10:55
Måske ville det være flere dag gad hjælpe dig hvis koden ikke var så smertende at se på. :)
(newz.dk elendige kode-formatering hjælper heller ikke.. få nu fingeren ud, mandalej..)
Gravatar #9 - dmy
6. maj 2009 11:08
Koden kan ses her, uden Newz mærkelige tegn

http://www.dianadesign.dk/uploadproblem.zip
Gå til top

Opret dig som bruger i dag

Det er gratis, og du binder dig ikke til noget.

Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.

Opret Bruger Login