[php] url "afkappen"

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • BlackShadow
  • Registratie: Februari 2002
  • Laatst online: 18-09 11:34
Beste medetweakers,

Ik ben nog niet zo lang bezig met php maar ik sta voor het volgende probleem(pje):
Als ik een variabele doorgeef aan een andere pagina (bv: ?page=home)
dan zou ik graag hebben dat deze in de titelbalk weggelaten wordt, niet door frames, dat weet ik zelf ook :)

dus:
http://www.blaat.com/site.php?var=blaat
wordt
http://www.blaat.com/site.php

Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 17:06

gorgi_19

Kruimeltjes zijn weer op :9

Enige oplossing: Door middel van POST je variabelen doorgeven.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

Verwijderd

Dan moet je de pagina aanroepen met een HTTP POST request, ofwel: je zet de variabelen in een formulier, en verstuurt dat formulier (method="POST").

Acties:
  • 0 Henk 'm!

  • BlackShadow
  • Registratie: Februari 2002
  • Laatst online: 18-09 11:34
ik heb een voorbeeld waardoor in de link dus degelijk staat:
http://www.blaat.com/site.php?var=blaat

en in de volgende pagina wordt er dus rekening gehouden met de waarde van "var" maar wordt dit volledig "afgekapt"

Acties:
  • 0 Henk 'm!

  • Postman
  • Registratie: Februari 2000
  • Laatst online: 19:05
Wat je met afgekapt bedoelt snap ik niet, maar die var kun je nog steeds gebruiken. Alleen niet meer via $_GET.

Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 17:06

gorgi_19

Kruimeltjes zijn weer op :9

BlackShadow schreef op 25 February 2003 @ 19:37:
ik heb een voorbeeld waardoor in de link dus degelijk staat:
http://www.blaat.com/site.php?var=blaat

en in de volgende pagina wordt er dus rekening gehouden met de waarde van "var" maar wordt dit volledig "afgekapt"
Je verstuurt nu variabelen door middel van GET.
Wil je dit niet, dan moet je POST gebruiken.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

  • supakeen
  • Registratie: December 2000
  • Laatst online: 09-09 14:42
BlackShadow schreef op 25 February 2003 @ 19:37:
ik heb een voorbeeld waardoor in de link dus degelijk staat:
http://www.blaat.com/site.php?var=blaat

en in de volgende pagina wordt er dus rekening gehouden met de waarde van "var" maar wordt dit volledig "afgekapt"
Gorgi en Cheatah geven je het antwoord, post gebruiken :)

[ Voor 6% gewijzigd door supakeen op 25-02-2003 19:40 ]


Acties:
  • 0 Henk 'm!

  • BlackShadow
  • Registratie: Februari 2002
  • Laatst online: 18-09 11:34
gorgi_19 schreef op 25 February 2003 @ 19:39:
[...]

Je verstuurt nu variabelen door middel van GET.
Wil je dit niet, dan moet je POST gebruiken.
Heb je hiervan een voorbeeldje?
ik heb niet zo veel ervaring in php
(dit is nu het spijtige aan php vind ik, jserver-side)

[ Voor 13% gewijzigd door BlackShadow op 25-02-2003 19:44 ]


Acties:
  • 0 Henk 'm!

  • Postman
  • Registratie: Februari 2000
  • Laatst online: 19:05
zmn schreef op 25 February 2003 @ 19:40:
[...]

Gorgi en Cheatah geven je het antwoord, post gebruiken :)
offtopic:
He?! En wat blijft er over als je $_GET wegstreept dan? :P

Acties:
  • 0 Henk 'm!

  • Sybr_E-N
  • Registratie: December 2001
  • Laatst online: 20:50
BlackShadow schreef op 25 February 2003 @ 19:41:
[...]

Heb je hiervan een voorbeeldje?
ik heb niet zo veel ervaring in php
(dit is nu het spijtige aan php vind ik, jserver-side)
Tjek de sticky: http://gathering.tweakers.net/forum/list_messages/512413

Acties:
  • 0 Henk 'm!

  • BlackShadow
  • Registratie: Februari 2002
  • Laatst online: 18-09 11:34
variabelen die door de QUERYSTRING mee worden gegeven, (iets.php?blaat=blaa). Gebruik voortaan $_GET

variabelen die met een formulier meekomen. Gebruik voortaan $_GET voor get-formulieren en $_POST voor post-formulieren of een combinatie van beiden, $_REQUEST
hier zeggen ze dus van enkel $_GET te gebruiken als de variabelen via een querystring worden meegegeven, hoe moet je dit dan toepassen door $_POST te gebruiken?

(of zie ik het nu allemaal verkeerd :?

Acties:
  • 0 Henk 'm!

  • Postman
  • Registratie: Februari 2000
  • Laatst online: 19:05
PHP:
1
str_replace("$_GET","$_POST",$jouw_document);

Acties:
  • 0 Henk 'm!

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 16:51
Wat jij wilt kan wel maar op een vrij lastige manier, je wilt dus dat je niet de variablen ziet maar dat ze naar de pagina toe moeten worden gestuurd.
Zoals wel uit de vorige reacties is gebleken kan dit alleen door de waarden via POST te versturen. POST gegevens kun je in principe niet "zien," maar je kunt ze natuurlijk wel ophalen.

Als je gegevens via een link wilt versturen mag je dus geen ?var=iets gebruiken omdat alles wat achter het ? staat tot de querystring en dus de get variablen behoort.

Je kunt deze vraag volgens mij beter in /13 vragen omdat je met javascript dit prob. wel op kunt lossen. De oplossing zit ogever als volgt in elkaar, ipv een link naar een pagina maak je nu een link naar een js functie eventueel met argumenten. Die functie zet de waarden in een formulier met hidden field en verstuurd daarna dit formulier. Hoppa, via POST verzonden.

Als je het mooi wilt doen maak je van die functie dus iets waarmee je een onbeperkt aantal variablen mee kunt sturen.

Acties:
  • 0 Henk 'm!

  • BlackShadow
  • Registratie: Februari 2002
  • Laatst online: 18-09 11:34
http://www.raised4design.com/raised4design.php
het gaat om deze site, als je naar deze url gaat kan je vanonder een taal kiezen of links ergens een pagina, in de broncode kan ik nergens een javascript vinden of een formulier
dit gebeurt enkel met de variabelen "lang" en "page"

[ Voor 11% gewijzigd door BlackShadow op 25-02-2003 20:05 ]


Acties:
  • 0 Henk 'm!

  • Postman
  • Registratie: Februari 2000
  • Laatst online: 19:05
Eeuh, lama. Nu BlackShadow die link poste snap ik de post van djluc wel (waarom zet je zo'n link ook niet in je topicstart?).

[ Voor 76% gewijzigd door Postman op 25-02-2003 20:07 ]


Acties:
  • 0 Henk 'm!

Verwijderd

FlamerX schreef op 25 February 2003 @ 20:05:

:?
Hoezo moeilijk doen als het makkelijk kan? Een woord in je formulier aanpassen geeft hetzelfde resultaat.

Voor de afhandeling van de request wel ja, maar je kunt niet een POST request doen via een linkje he, er zal dus een formulier verstuurd moeten worden, en dát is dus wat hij beschrijft.

Mijn vraag is: waarom? En kom nou niet met een reden als 'dat vind ik niet mooi', want dan kun je beter iets anders gaan doen dan het voor jezelf lastig maken. :)

Acties:
  • 0 Henk 'm!

  • BlackShadow
  • Registratie: Februari 2002
  • Laatst online: 18-09 11:34
FlamerX schreef op 25 February 2003 @ 20:05:
Eeuh, lama. Nu BlackShadow die link poste snap ik de post van djluc wel (waarom zet je zo'n link ook niet in je topicstart?).
ik dacht dat ik zo ook duidelijk kon zijn... blijkt dus van niet :)
ik heb de broncode doorzocht en volgens mij gebeurt alles server-side

Acties:
  • 0 Henk 'm!

  • BlackShadow
  • Registratie: Februari 2002
  • Laatst online: 18-09 11:34
Verwijderd schreef op 25 februari 2003 @ 20:07:

[...]

Voor de afhandeling van de request wel ja, maar je kunt niet een POST request doen via een linkje he, er zal dus een formulier verstuurd moeten worden, en dát is dus wat hij beschrijft.

Mijn vraag is: waarom? En kom nou niet met een reden als 'dat vind ik niet mooi', want dan kun je beter iets anders gaan doen dan het voor jezelf lastig maken. :)
ik stuur op sommige momenten nogal veel variabelen mee en ik vind niet dat iedereen daar zaken mee heeft... Daarbij zou zo een probleem oplossen waarschijnlijk ook een stap verder zijn in het php aanleren.
ik weet dat ik een newbie ben op dit vlak en ik heb hier degelijk al gezocht naar de oplossing, eerst kwam ik van strstr naar explode, nu naar POST-variabelen...

[ Voor 12% gewijzigd door BlackShadow op 25-02-2003 20:13 ]


Acties:
  • 0 Henk 'm!

Verwijderd

BlackShadow schreef op 25 February 2003 @ 20:11:
[...]

ik stuur op sommige momenten nogal veel variabelen mee en ik vind niet dat iedereen daar zaken mee heeft... Daarbij zou zo een probleem oplossen waarschijnlijk ook een stap verder zijn in het php aanleren.

Welke variabelen zijn het zoal? Variabelen zoals een taalkeuze, dingen die iedere keer meegegeven moeten worden? Zo ja, dan kun je beter eens iets over sessies en/of cookies lezen :)

Acties:
  • 0 Henk 'm!

  • BlackShadow
  • Registratie: Februari 2002
  • Laatst online: 18-09 11:34
Verwijderd schreef op 25 februari 2003 @ 20:14:

[...]

Welke variabelen zijn het zoal? Variabelen zoals een taalkeuze, dingen die iedere keer meegegeven moeten worden? Zo ja, dan kun je beter eens iets over sessies en/of cookies lezen :)
moet je echt zo een ver uitgebouwde reden hebben over dat vraagje?
ik dacht heus niet dat dit zo een groot probleem zou opleveren...

ik heb een variabele voor keuze van de skin, taalkeuze, pagekeuze, dan komen er nog eens variabelen bij van het gastenboek

Acties:
  • 0 Henk 'm!

  • cybermans
  • Registratie: Maart 2001
  • Laatst online: 17-09 09:56
skin, taalkeuze kan je in een (sessie)cookie douwen maar een pagekeuze zou ik gewoon in de adres balk meegeven. 1 van de redenen die ik kan bedenken voor dit is om het te laten lijken alsof het geen dynamische pagina is voor google. een (vind ik ranzige) methode is txt submit buttons te creeren (zal je ook met javascript moeten gaan spelen denk ik)

Strava | Runkeeper | Endomondo (mijn leikr uploads)


Acties:
  • 0 Henk 'm!

  • nikao
  • Registratie: November 1999
  • Laatst online: 10-02-2022
maar ik snap niet helemaal waarom er zo moeilijk gedaan wordt.. als je het met post wil doen dan doe je dat toch?.. maak je van de link een button en je verstuurt in hidden fields je variabelen mee ..

Acties:
  • 0 Henk 'm!

  • Arnaud
  • Registratie: Mei 2000
  • Laatst online: 16-09 07:24
Serverside afhandelen:
a) Kijk of er GET-variabelen zijn, zo ja
1) Sla alle GET-variabelen op in de sessie (eventueel met een timestamp)
2) Doe een redirect naar de gewenste pagina, maar dan zonder de variabelen
b) zo nee
1) Lees alle variabelen uit de Sessie (let eventueel op de timestamp)

Klaar. Geen GET-variabelen in de URL, toch beschikbaar voor PHP

Acties:
  • 0 Henk 'm!

  • BlackShadow
  • Registratie: Februari 2002
  • Laatst online: 18-09 11:34
zo werkt het perfect, thx arnaud
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?PHP
for ($i = 1; $i <= 3; $i++)
{
    if ($page == $i)
    {
        session_start(); 
        $_SESSION['page'] = $i;
        header("Location: http://www.domein.com"); 
    }
    
    if ($lang == $i)
    {
        session_start(); 
        $_SESSION['lang'] = $i;
        header("Location: http://www.domein.com"); 
    }
}
session_start();
echo "<p>page = $page"; 
echo "<p><a href=?page=1>1</a>";
echo "<p><a href=?page=2>2</a>";
echo "<p><a href=?page=3>3</a>";
echo "<p>taal = $lang"; 
echo "<p><a href=?lang=1>1</a>";
echo "<p><a href=?lang=2>2</a>";
echo "<p><a href=?lang=3>3</a>";
?>


(sorry voor de late reactie)
Pagina: 1