/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Validering af textarea...
Fra : Jeppe Christensen


Dato : 16-02-06 00:51

Hejsa NG....

Jeg jeg har problemer med at validere en textarea..

Mit textarea ser således ud:

<div class="loginoptions">Nyheds indhold:</div><div><textarea
rows="12" cols="50" name="newcontens"><?php echo
$_GET["newcontens"]; ?></textarea>

($_GET["newcontens"] er en del af min validering, sådan at hvis
man har ikke har skrevet noget i boksen ovenover skal man ikke
til at skrive denne tekst om, hvis i forstår)

Min validering ser således ud:

      if(!$_POST["newcontens"]){
      header("Location:
?show=new_administration&newshow=add_new&error=newcontens&headlin
e=$_POST[headline]");   
      exit;   
      }

Det virker ikke helt da den på en eller anden måde tolker
$_GET["newcontens"] som fylde i textarea selvom den faktisk ikke
indeholder noget.

Kan jeg sætte den til at den "skal" have noget rigtig indhold
eller?

Det er jo ikke det samme som når jeg valider en <input
type="text" name="headline"/> som jo bare gøres således:

      if(!$_POST["headline"]){
      header("Location:
?show=new_administration&newshow=add_new&error=headline&newconten
s=$_POST[newcontens]");   
      exit;
      }

Håber i kan hjælpe mvh. Jeppe

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Benny Nissen (16-02-2006)
Kommentar
Fra : Benny Nissen


Dato : 16-02-06 01:18

Jeppe Christensen wrote:
> Hejsa NG....
>
> Jeg jeg har problemer med at validere en textarea..
>
> Mit textarea ser således ud:
>
> <div class="loginoptions">Nyheds indhold:</div><div><textarea
> rows="12" cols="50" name="newcontens"><?php echo
> $_GET["newcontens"]; ?></textarea>
>
> ($_GET["newcontens"] er en del af min validering, sådan at hvis
> man har ikke har skrevet noget i boksen ovenover skal man ikke
> til at skrive denne tekst om, hvis i forstår)

Har eller ikke har skrevet noget ?

Du skal nok bruge $_POST['newscontens'] i stedet for
$_GET['newscontens'] da du formodentligt sender formen med POST og ikke GET.

--
Benny Nissen

Bertel Lund Hansen (16-02-2006)
Kommentar
Fra : Bertel Lund Hansen


Dato : 16-02-06 09:54

Jeppe Christensen skrev:

> Mit textarea ser således ud:

> <div class="loginoptions">Nyheds indhold:</div><div><textarea
> rows="12" cols="50" name="newcontens"><?php echo
> $_GET["newcontens"]; ?></textarea>

> Det virker ikke helt da den på en eller anden måde tolker
> $_GET["newcontens"] som fylde i textarea selvom den faktisk
> ikke indeholder noget.

Hvis du indskyder en variabel, kan du bedre styre det. I starten:

if (isset($_GET["newcontens"]))
   $newcontent=$_GET["newcontens"];
else
   $newcontent='Skriv din tekst her!';

og længere nede:

<div class="loginoptions">Nyheds indhold:</div><div>
<textarea rows="12" cols="50" name="newcontens"><?php echo $newcontent; ?></textarea>

Men som Benny Nissen også anfører, skal du lige tjekke om GET
eller POST er det rigtige.

PS. En stavefejl som "newcontens" giver sådan set ikke problemer
hvis man staver ens hele vejen igennem, men hvis en anden
programmør seks måneder senere skal rette i koden, vil det
være nærliggende at han staver 'rigtigt' og derved får en fejl.

--
Bertel
http://bertel.lundhansen.dk/      http://fiduso.dk/

Geert Lund (16-02-2006)
Kommentar
Fra : Geert Lund


Dato : 16-02-06 21:14

Jeppe Christensen wrote:

> Håber i kan hjælpe mvh. Jeppe

Som de andre også har påpeget - skal du i hvertfald passe på din
sammenblanding af $_POST og $_GET i din form. Hvis det ikke tjener noget
specifikt formål at teste på den ene eller anden metode - ville jeg i
stedet bruge $_REQUEST.

Yderligere kan det være dit TEXTAREA indeholder blanktegn/mellemrum - og
derfor kan det være en (alt efter det forventede indhold) ide at benytte
funktionen trim() [1] til at teste på indholdet:

<?php

if ( !trim($_REQUEST['newcontens']) ) echo "ikke sat"; else echo "sat";

?>

<form method="post">
<div class="loginoptions">Nyheds indhold:</div><div><textarea
rows="12" cols="50" name="newcontens"><?php echo trim(
$_REQUEST["newcontens"] ); ?></textarea>
<input type="submit">
</form>


[1] - http://dk.php.net/trim

--
Med venlig hilsen
Geert Lund,
www.GLD.dk

Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408522
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste