|  | 		    
					
        
         
          
         
	
          | |  | $_POST, eller? Fra : Troels
 | 
 Dato :  02-08-06 14:12
 | 
 |  | Hejsa,
 
 Jeg har en startside, index.php, der som standard skal vise en startside i
 en celle i en tabel.
 
 Når jeg så klikker på et link skal siden det så smides ind i adresselinien,
 som f.eks. index.php?side=test
 
 Jeg kan fange det med $_GET['test']; , og så gøre resten med include, men
 hvis jeg så bare går ind på index.php, får jeg fejlen "Notice: Undefined
 index: side in c:\programmer\easyphp1-8\www\index.php on line 3
 "
 
 Der må være noget smartere end $_GET / $_POST, som kan returnere '', dvs.
 intet, hvis der intet står, uden at melde fejl?
 
 // Troels
 
 
 
 
 |  |  | 
  René Lønstrup (02-08-2006) 
 
	
          | |  | Kommentar Fra : René Lønstrup
 | 
 Dato :  02-08-06 14:34
 | 
 |  | 
 
            Troels wrote:
 > Når jeg så klikker på et link skal siden det så smides ind i
 > adresselinien, som f.eks. index.php?side=test
 >
 > Jeg kan fange det med $_GET['test'];
 Du mener vel $_GET['side']?
 > men hvis jeg så bare går ind på index.php, får jeg fejlen "Notice:
 > Undefined index: side in c:\programmer\easyphp1-8\www\index.php on
 > line 3 "
 >
 > Der må være noget smartere end $_GET / $_POST, som kan returnere '',
 > dvs. intet, hvis der intet står, uden at melde fejl?
 Du skal spørge om $_GET['side'] er sat før du bruger den. F.eks.:
 if (isset($_GET['side']) && isValid($_GET['side'])) {
 // hvor isValid() er en-eller-anden funktion til validering af inputtet
 }
 else {
 // $_GET['side'] er ikke sat, eller ikke korrekt
 }
 -- 
 Mvh  René Lønstrup
 web: http://rene.loenstrup.net?r=usenet email: se om du kan regne den ud.. 
            
             |  |  | 
  Troels (02-08-2006) 
 
	
          | |  | Kommentar Fra : Troels
 | 
 Dato :  02-08-06 18:22
 | 
 |  | > if (isset($_GET['side']) && isValid($_GET['side'])) {
 > // hvor isValid() er en-eller-anden funktion til validering af inputtet
 
 Min PHP kan ikke snakke isValid, åbenbart...
 
 // Troels
 
 
 
 
 |  |  | 
   Martin (02-08-2006) 
 
	
          | |  | Kommentar Fra : Martin
 | 
 Dato :  02-08-06 18:26
 | 
 |  | Troels wrote:
 >> if (isset($_GET['side']) && isValid($_GET['side'])) {
 >> // hvor isValid() er en-eller-anden funktion til validering af inputtet
 >
 > Min PHP kan ikke snakke isValid, åbenbart...
 
 Nej, det er fordi du SELV skal lave funktionen :)
 
 
 Den funne fx. se sådan her ud
 
 function isValid($page) {
 switch($page) {
 case "index":
 case "about":
 case "links":
 return true;
 default:
 return false;
 }
 }
 
 
 >
 > // Troels
 >
 >
 
 
 |  |  | 
    Troels (02-08-2006) 
 
	
          | |  | Kommentar Fra : Troels
 | 
 Dato :  02-08-06 18:35
 | 
 |  | > Nej, det er fordi du SELV skal lave funktionen :)
 
 Det kunne jeg have tænkt mig til, "Call to undefined function", beklager, nu
 er jeg for dum... Sorry ;)
 
 Al begyndelse er svær! :)
 
 // Troels
 
 
 
 
 |  |  | 
  Jens E. (04-08-2006) 
 
	
          | |  | Kommentar Fra : Jens E.
 | 
 Dato :  04-08-06 15:46
 | 
 |  | Troels wrote:
 
 > Når jeg så klikker på et link skal siden det så smides ind i adresselinien,
 > som f.eks. index.php?side=test
 
 Hvad gør du videre med værdien af 'side'? Bliver den brugt direkte i
 en SQL-sætning eller i en include?
 
 --
 Jens
 
 
 |  |  | 
  Troels (05-08-2006) 
 
	
          | |  | Kommentar Fra : Troels
 | 
 Dato :  05-08-06 18:33
 | 
 |  | > Hvad gør du videre med værdien af 'side'? Bliver den brugt direkte i
 > en SQL-sætning eller i en include?
 
 Jeg har brugt en Iframe, hvor jeg så igennem php laver
 
 Det tages så fra
 
 page="
 <?php
 
 if ($side == "test") {
 
 echo "test.php";
 
 }
 
 ?>"
 
 - det virker helt fint :)
 
 Include kunne også bruges, men nu virker iframen så fint, og den begynder
 ikke at strække tabeller, og scrollbars fungerer 100%
 
 // Troels
 
 
 
 
 |  |  | 
   Jens E. (05-08-2006) 
 
	
          | |  | Kommentar Fra : Jens E.
 | 
 Dato :  05-08-06 18:47
 | 
 |  | 
 
            Troels wrote:
 >> Hvad gør du videre med værdien af 'side'? Bliver den brugt direkte i
 >> en SQL-sætning eller i en include?
 > 
 > Jeg har brugt en Iframe, hvor jeg så igennem php laver
 [snip]
 > if ($side == "test") {
 > echo "test.php";
 > }
 > ?>"
 Prøv at kig på switch istedet for denne if-konstruktion.
http://dk2.php.net/switch > Include kunne også bruges, men nu virker iframen så fint, og den begynder 
 > ikke at strække tabeller, og scrollbars fungerer 100%
 Min pointe var bare at du åbnede op for et stort sikkerhedshul, hvis du
 havde brugt værdien af "side" direkte i en SQL-query eller som i
 nedenstående eksempel.
 Usikker kode: <?php include($side); ?>
 -- 
 Jens
            
             |  |  | 
    Troels (06-08-2006) 
 
	
          | |  | Kommentar Fra : Troels
 | 
 Dato :  06-08-06 21:58
 | 
 |  | > Min pointe var bare at du åbnede op for et stort sikkerhedshul, hvis du
 > havde brugt værdien af "side" direkte i en SQL-query eller som i
 > nedenstående eksempel.
 >
 > Usikker kode: <?php include($side); ?>
 
 Tusinde tak for hjælpen :)
 
 // Troels
 
 
 
 
 |  |  | 
 |  |