Avatar billede artico Novice
01. november 2006 - 13:43 Der er 13 kommentarer og
1 løsning

Valider data der sendes mellem sider?

Hmmm Jeg har fået at vide at jeg skal validere det der kommer i gennem 'nx' på mine sider.

Min website er opbygget som følger:

$nx = $_GET['nx'];
if($nx=="")
{
$side = "velkommen.php";
}
else if(isset($nx))
{
$side = $nx.".php";
}
if($align=="")
{
  $att="center";
}
else if(isset($align))
{
  $att=$align;
}

Filerne er lagt i biblioteker og linkene ser f.eks således ud:
<a href='$_PHP_SELF?vid=$row[id]&stk=1&nx=shop/plus'>

Hvordan vil "i" validere 'nx' ?
Avatar billede coderdk Praktikant
01. november 2006 - 13:57 #1
if ( !empty( $_GET['nx'] ) && $_GET['nx'] == basename( $_GET['nx'] ) && is_file( $_GET['nx'] . ".php" && $_GET['nx'] != basename( $_SERVER['PHP_SELF'] ) )
Avatar billede artico Novice
01. november 2006 - 14:25 #2
Ok, betyder det at jeg skal have dette på alle sider der er med i et link ?
Avatar billede coderdk Praktikant
01. november 2006 - 14:32 #3
Hej, alle steder? Den skal vel bare være på den side der modtager nx?
Den kodestump du har vist, har du vel forhåbentligt kun ét sted? ;)
Ellers skil det ud i en include fil...
Avatar billede artico Novice
01. november 2006 - 14:38 #4
Den er i en include... Men jeg mener "alle filerne" f.eks vedr. kundeklub ligger i eget bibliotek som her:
kundeklub/kundeklub.php
kundeklub/opret_kunde.php
kundeklub/red_kunde.php
kundeklub/kundeklub_papirkurv.php
.. osv....

Så skal din kodestump i hver fil.. ikke?
Avatar billede coderdk Praktikant
01. november 2006 - 14:50 #5
Den skal vel være hvor du har den kode du pastede i toppen, tilpasset:

$nx = $_GET['nx'];
if($nx=="")
{
$side = "velkommen.php";
}
else if ( !empty( $_GET['nx'] ) && $_GET['nx'] == basename( $_GET['nx'] ) && is_file( $_GET['nx'] . ".php" && $_GET['nx'] != basename( $_SERVER['PHP_SELF'] ) )
{
$side = $nx.".php";
}
if($align=="")
{
  $att="center";
}
else if(isset($align))
{
  $att=$align;
}
Avatar billede artico Novice
01. november 2006 - 15:03 #6
OK!.. Mange TAK! Send et svar :-)
Avatar billede artico Novice
01. november 2006 - 15:41 #7
ØV.. den gir en fejl: unexpected '{' i linien efter:

else if ( !empty( $_GET['nx'] ) && $_GET['nx'] == basename( $_GET['nx'] ) && is_file( $_GET['nx'] . ".php" && $_GET['nx'] != basename( $_SERVER['PHP_SELF'] ) )
{ // FEJL HER?
Avatar billede coderdk Praktikant
01. november 2006 - 20:02 #8
Der var lidt ged i parenteser:

$nx = $_GET['nx'];
if($nx=="")
{
$side = "velkommen.php";
}
else if ( !empty( $_GET['nx'] ) && $_GET['nx'] == basename( $_GET['nx'] )
        && is_file( $_GET['nx'] . ".php" )
        && $_GET['nx'] != basename( $_SERVER['PHP_SELF'] ) )
{
$side = $nx.".php";
}
if($align=="")
{
  $att="center";
}
else if(isset($align))
{
  $att=$align;
}
Avatar billede artico Novice
01. november 2006 - 22:58 #9
Øv, den viser fint nok velkommen.php men når jeg klikker på et link, giver den include fejl ved, der hvor siden hentes ind:
include("$side"); // HER er fejlen?
Avatar billede artico Novice
02. november 2006 - 09:40 #10
ØV,ØV fejlen er stadig:

Warning: include() [function.include]: Failed opening '' for inclusion (include_path='.:') 

Er der nogen der har et bud?
Avatar billede artico Novice
02. november 2006 - 10:20 #11
Så var der flere gryn i posen for en løsning, mit webhotel har lukket min webside, til jeg har fundet en løsning, p.g.a en der spammer via et "hul" (Håber det er dette).. så jeg har problemos!
Avatar billede coderdk Praktikant
02. november 2006 - 11:14 #12
include("$side"); <- hvor er den kode? Hvor sætter du $side? Jeg tror ikke det vi har gang i nu stopper spam, men jeg kan tage fejl :)
Avatar billede artico Novice
02. november 2006 - 12:14 #13
Jeg har en index.php som starter med include af nx koden herover.. længere nede på siden henter den så de valgte sider ind med include("$side");

og linket der henter siden til visning der er f.eks:
<a href='$_PHP_SELF?vid=$row[id]&stk=1&nx=shop/plus'>
Avatar billede artico Novice
16. november 2006 - 12:54 #14
lukker butikken..
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