Vraag & Antwoord

Webprogrammeren & scripting

[PHP] Variabelen doorgeven via adres

Anoniem
BasHamar
6 antwoorden
  • Je kent het wel, adressen als http://www.basje.com/films/view.php?action=review&id=1 (bestaat echt).

    Maar is er een andere manier om variabelen te scheiden dan gebruik te maken van "&"? Hierdoor voldoen pagina's die links bevatten naar een dergelijke pagina nl. niet meer aan de HTML 4.01 standaard, aangezien & ook het begin is van alle HTML Special Characters.

    Op zich geen ramp, maar als er een oplossing is dan zou ik die graag horen.

    Alvast bedankt,

    - Basje.
  • -> url-encode/escape <-
  • Door post te gebruiken ipv van get, dit geld alleen bij een formulier natuurlijk. Dan worden de waarde niet meegestuurd, ook is het mogelijk om gewoon je eigen scheiding te maken, maar persoonlijk geef ik er de voorkeur aan om gebruik te maken van de standaard voorziening hiervoor. Dus gewoon met de ?xxx=5&ddf=f
  • Dit is gewoon de standaard hoor…

    Je zou natuurlijk ook kunnen werken met URL's als http://www.basje.com/films/view.php
    eview/1
    , maar dat moet je server ondersteunen (Apache => Multivieuws).
  • Ok, bedankt voor de antwoorden…

    Cim: verklaar je nader!

    Bill: hoe weet ik of mijn Apache multiviews ondersteunt? Als ik op die link klik van jou dan wordt het script wel gedraait… Maar de waarden lijken niet aan de goede variabelen gebonden te worden. Hoe zou dit in theorie moeten?

    Alvast bedankt,

    - Basje.
  • Je moet de waardes inderdaad zelf uit de url halen en ze in de juiste variabele stoppen, dat gaat als volgt:

    list($action, $id) = explode("/", substr($PATH_INFO, 1));

    om dus een URL zoals "news.php/show/1" om te zetten, de $action is dan "show" en het $id is dan "1".

    Probeer het uit of het werkt, als het niet werkt kan je het nog met een .htaccess proberen aan te zetten, maar dat moet de provider toelaten:

    Options +Multiviews

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.

Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord