Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[PHP] index.php?category=?? vraagje

Pagina: 1
Acties:
  • 143 views sinds 30-01-2008

  • YoshiBignose
  • Registratie: April 2004
  • Laatst online: 26-11 12:03
ik heb links naaar bepaalde categorien op mijn php pagina.

<a href="index.php?category=1" .......

zodat hij de pagina opent en de category toont. daarvoor staat een script op de pagina:

$category = $_GET['category'];

werk allemaal perfect, maar als ik voor de eerste keer de pagina open (dus www.test.nl/index.php), is er natuurlijk geen categorie opgegeven. hoe kan ik ervoor zorgen dat hij standaard op een bepaalde categorie start?

Facts don't care about your feelings


  • Snake
  • Registratie: Juli 2005
  • Laatst online: 07-03-2024

Snake

Los Angeles, CA, USA

PHP:
1
2
3
4
if(!isset($_GET['category']))
{ $category = "standaardcategorie"; }
else
{ $category = $_GET['category']; }

Going for adventure, lots of sun and a convertible! | GMT-8


  • Rhannie
  • Registratie: Oktober 2004
  • Laatst online: 29-10 21:42

Rhannie

[DPC] Team Black Bulls

Afgezien van het feit dat dit ontzettend basic is, is het ook nog eens onveilig. Ik zou eerst maar eens hiermee beginnen:
PHP:
1
2
3
4
5
<?php

$category = int $_GET['category'];

?>

Dat zorgt ervoor dat $category altijd een getal is.

Voor je probleem zal je moeten zoeken naar if/else-switches.

edit:
Zoals wat hierboven gepost is dus.

[ Voor 7% gewijzigd door Rhannie op 10-11-2007 16:18 ]

[ Athlon XP 3000+ (Barton) @ 2635MHz | Abit NF7-S2 | Zalman CNPS7000-Cu | 2 x MDT 512MB DDR400 | Sapphire Radeon 9800SE @ 432MHz core/378MHz mem met alle pipelines unlocked + Zalman VF700-AlCu | WD800JB | WD2500JB | Antec SLK3000B | Zalman ZM400B-APS ]


  • YoshiBignose
  • Registratie: April 2004
  • Laatst online: 26-11 12:03
idd basic, maar kon nergens het antwoord vinden en hier weet iedereen het direct. bedankt :)

Facts don't care about your feelings


  • 0fbe
  • Registratie: Januari 2004
  • Laatst online: 29-11 07:16
Paddixx schreef op zaterdag 10 november 2007 @ 16:17:
Afgezien van het feit dat dit ontzettend basic is, is het ook nog eens onveilig. Ik zou eerst maar eens hiermee beginnen:
PHP:
1
2
3
4
5
<?php

$category = int $_GET['category'];

?>

Dat zorgt ervoor dat $category altijd een getal is.

Voor je probleem zal je moeten zoeken naar if/else-switches.

edit:
Zoals wat hierboven gepost is dus.
Hoezo zou dat onveilig zijn. Zolang je bijv. later in je index.php zoekt op:
PHP:
1
2
3
4
5
6
7
<?php 
if($category = 1)
{
doe(iets);
}

?>

Kan het geen kwaad...

  • Rhannie
  • Registratie: Oktober 2004
  • Laatst online: 29-10 21:42

Rhannie

[DPC] Team Black Bulls

timcooijmans
Ja, maar meestal gaat zoiets gepaard met:
PHP:
1
2
3
4
5
<?php

mysql_query("SELECT * FROM database WHERE categorie='$categorie'");

?>

En dan kan het wel een hoop problemen opleveren.

[ Athlon XP 3000+ (Barton) @ 2635MHz | Abit NF7-S2 | Zalman CNPS7000-Cu | 2 x MDT 512MB DDR400 | Sapphire Radeon 9800SE @ 432MHz core/378MHz mem met alle pipelines unlocked + Zalman VF700-AlCu | WD800JB | WD2500JB | Antec SLK3000B | Zalman ZM400B-APS ]


Verwijderd

Of, als je een te uitgebreid systeem krijgt, dan zijn IF-ELSE structuren niet meer de meest overzichtelijke manier van programmeren.

Kijk dan bijvoorbeeld eens naar de SWITCH functie:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
$invoer = $_GET["..."];
switch($invoer)
{
case '1':
 //pagina 1
break;
case '2':
 //etc
break;
default:
 //hier dus zonder invoer, of een onbekende invoer
break;
}//eind switch


Wanner je GET informatie gaat gebruiken in SQL, zoals hierboven beschreven, dan is het handig om een of beide van deze functies te gebruiken:
http://nl3.php.net/addslashes
http://nl3.php.net/htmlspecialchars

[ Voor 24% gewijzigd door Verwijderd op 10-11-2007 16:27 ]


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 20-11 11:59

NMe

Quia Ego Sic Dico.

Dit is dermate basaal dat je hier prima zelf uit moet kunnen komen met elke willekeurige handleiding in de hand. Dat is je overigens al vaker gezegd op dit forum. Ik stel voor dat je in het vervolg wat meer onderzoek doet vóór je hier post, want op deze manier hebben we niets aan elkaar.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1

Dit topic is gesloten.