Avatar billede d.kryger Praktikant
26. november 2003 - 08:59 Der er 12 kommentarer og
1 løsning

Hvorfor kan man ikke det?

Hej Eksperter.

Jeg er ved at lave en nyhedsside, hvor man skulle skrive nyhederne på en webside.

Man skal også kunne uploade et billede til nyheden, og det har jeg også fået til at virke, MEN jeg har et spm.

Jeg tjekker om der er skrevet noget i diverse felter sådan:
if (trim($_POST["tekst"])=="")
{
print "<font face='Verdana' color='red' size='1'>Der skal indtastes en tekst...<br></font>";
$fejl = true;
}

Men hvis jeg laver den med billedet, så virker det ikke:
if (trim($_POST["billede"])=="")
{
print "<font face='Verdana' color='red' size='1'>Der skal vælges et billede til nyheden...<br></font>";
$fejl = true;
}

Den husker heller ikke hvad man skriver i felterne, hvis man har har glemt et:
<input type="text" name="overskrift" size="71" class="input" value='<?php if (isset($_POST["overskrift"])) print $_POST["overskrift"]; ?>'><br>
<input type="file" name="billede" size="56" class="input" value='<?php if (isset($_POST["billede"])) print $_POST["billede"]; ?>'>

Hvad går det galt?
Avatar billede fsconsult.dk Nybegynder
26. november 2003 - 09:05 #1
de fleste nyere browsere ignorerer af sikkerhedsgrunde evt. "value" i <input type="file">.
Avatar billede d.kryger Praktikant
26. november 2003 - 09:07 #2
Ja, men det virker med:
<input type="text" name="overskrift" size="71" class="input" value='<?php if (isset($_POST["overskrift"])) print $_POST["overskrift"]; ?>'>

Men ikke med:
<input type="file" name="billede" size="56" class="input" value='<?php if (isset($_POST["billede"])) print $_POST["billede"]; ?>'>
Avatar billede d.kryger Praktikant
26. november 2003 - 09:08 #3
sorry, havde ikke set at du skrev "i <input type="file">"
Kan man så ikke skrive noget andet?
Avatar billede d.kryger Praktikant
26. november 2003 - 09:11 #4
Hvad så med:
if (trim($_POST["billede"])=="")
{
print "<font face='Verdana' color='red' size='1'>Der skal vælges et billede til nyheden...<br></font>";
$fejl = true;
}

Hvad er der galt der?

Det virke ved overskrift m.v.
Avatar billede ultragames Nybegynder
26. november 2003 - 13:04 #5
lav en variabel der hedder: $billede = (isset($$_POST["billede"]));

og sæt $billede som value  i din text, kan være det hjælper ...
Avatar billede fangel Nybegynder
26. november 2003 - 13:07 #6
fordi de ikke heder $_POST['billede'] - men ahr sit eget superglobalt array

$_FILES['navn-paa-feltet']['tmpname'] = hvor filen ligger i tmp mappen
$_FILES['navn-paa-feltet']['name'] = hvad filen rigtig hedder
$_FILES['navn-paa-feltet']['type'] = mime-type på filen (ikke altid den findes)

osv...

så prøv og kig på om

if(isset($_FILES['navn']['tmpname'])) - skulle kunne klare det

Morten
Avatar billede d.kryger Praktikant
26. november 2003 - 13:10 #7
Ultragames -> Man kan selv ikke have en value. Hvis jeg skriver value='123', skriver den det ikke i feltet...
Avatar billede d.kryger Praktikant
26. november 2003 - 13:16 #9
Hvad skal jeg så skrive?

Dette virker i hvert fald ikke:
if (isset($_FILES['billede']['tmp_name']))
{
print "<font face='Verdana' color='red' size='1'>Der skal vælges et billede til nyheden...<br></font>";
$fejl = true;
}
Avatar billede fangel Nybegynder
26. november 2003 - 13:23 #10
nej - så er der netop et billede... det skal så være

if(!isset...) for at se om det ikke er sat

Morten
Avatar billede d.kryger Praktikant
26. november 2003 - 13:27 #11
Hvis jeg sætter et ! ind, så kommer skriver den ikke noget når man har "glemt" at vælge et billede...
Avatar billede fangel Nybegynder
26. november 2003 - 13:31 #12
hmmm - hvis der ikke er uploaded nogle fil bør der ikke være noget tmp_name... men du kan slf også bare tjekke om om size er lig 0...

if($_FILES['billede']['size'] < 5) // tja - et billede er vel næppe mindre en 5 bytes... men ellers bare brug == 0

Morten
Avatar billede d.kryger Praktikant
02. januar 2004 - 13:31 #13
lukker spm.
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