$_get vervangen naar $_post

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Space gremlin

space gremlin

06/10/2013 19:24:49
Quote Anchor link
hoi op mijn website gebruik ik momenteel gegevens die meegegeven worden in de adres balk
Dus http://www.m.........?id=20 en word dmv een $_get opgepakt in de volgende php.
Kan ik dit ook zodanig aanpassen dat ik alles via een $_post kan oppakken,
Of een andere manier. ik wil eigenlijk geen of zo min mogelijk extra gegevens in de adres balk hebben.
 
PHP hulp

PHP hulp

24/11/2024 08:58:25
 
Allan de Bruin

Allan de Bruin

06/10/2013 19:29:19
Quote Anchor link
Ik denk dat dat misschien een rotwerkje zal zijn: alle $_GET veranderen naar $_POST?
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

06/10/2013 19:36:38
Quote Anchor link
$_GET staat in de url en $_POST staat in een formulier met attribuut method="POST" (standdard is "GET")
 
Space gremlin

space gremlin

06/10/2013 19:43:39
Quote Anchor link
Ja snap ik. maar mijn variable komen niet uit een formulier, dus ik moet ze verplicht mee verzenden.
en met get moet je ze in de url zetten.

Echter zit ik mij net te bedenken misschien kan ik wel een combi
get variable gebruiken en die dan weer ontleden. zo hoef ik maar 1 variable mee te sturen elke keer.
ik vind zo een hele lijst van variable bovenin niet netjes staan.

Dat het een rotwerkje is zal inderdaad. maar ja als het kan is mooi, ik ben nu toch bezig.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

06/10/2013 19:53:13
Quote Anchor link
Wat houdt je tegen om een formulier te maken met alleen maar hidden inputs?
 
Space gremlin

space gremlin

06/10/2013 19:58:46
Quote Anchor link
wat ik momenteel heb is oa.
gegevens komen uit een database in die gegevens zit een link verwerkt.
door het klikken van de link gaat hij door naar de volgende pagina waar hij de gegevens nodig heeft
zie hier onder. ik heb namelijk geen form button op deze bladzijde. maar als ik moet zoeken naar
een formulier met hidden inputs. ga ik daar eens kijken wat dat doet voor mij

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php

 <td width="27"  valign="left">[code]<?= '<a href="index2.php?p=contact&feedback_info='.$cartnr." ".$name." ".$developer.'"><img src="plaatjes/comment-small.png" alt="'.$addcomment.'" /></a>'; ?>
</td>

?>
 
Ramon van Dongen

Ramon van Dongen

07/10/2013 10:16:34
Quote Anchor link
Aan de andere kant is het voor bezoekers (en zoekmachines) juist beter om wat meer in de adresbalk te hebben staan. Hoe moet iemand anders weten op welke pagina ze zijn en hoe geef jij iemand anders een rechtstreekse link naar een pagina?

Als je index2.php?p=contact aanpast naar index2.php, maar index2.php?p=home ook naar index2.php. Wat is dan het verschil in de adresbalk?

Misschien zoek je eigenlijk meer naar het herschrijven van de url zodat het wordt:
www.domein.nl/contact

Wellicht kun je daarnaast voor dingen die je echt niet in je adresbalk wilt, eens kijken naar $_SESSION.
 
Space gremlin

space gremlin

07/10/2013 10:21:14
Quote Anchor link
nee klopt
index2.php?p=contact

Dat moet gewoon blijven bestaan. Alleen de variabele er achter dus
&id=20&variable=1 dat wil ik eigenlijk weglaten.

Dus index2.php?p=contact&id=20&variable=1
word dan index2.php?p=contact

index2.php?p=home&id=30&variable=2
word dan index2.php?p=home
Gewijzigd op 07/10/2013 10:25:15 door space gremlin
 
Kris Peeters

Kris Peeters

07/10/2013 11:26:46
Quote Anchor link
Je kan natuurlijk wel alle GET door POST vervangen.

In plaats van
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<a href="index.php?p=kalender">Kalender</a>


doe je
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<form method="post" action=""><input type="hidden" name="p" value="kalender"><input type="submit" value="Kalender"></form>


------
Maar toch even duidelijk maken: dat dient daar niet voor.
GET en POST hebben duidelijke rollen.

Post gebruik je wanneer de gebruiker informatie toevoegt aan de website. Een post in een gastenboek; een comment; ...
Ook bij login gebruik je POST

Get gebruik je wanneer de gebruiker informatie van de site wil lezen. Op basis van de variabelen in de url krijgt de gebruiker telkens de zelfde pagina.

De vraag die jij stelt, stellen de gebruikers van je website niet. Vraag internet-surfers of ze het storend vinden dat er informatie staat in de url-balk; ze vertellen je dat ze daar niet op letten.

-----

Wat je wel kan doen, is die informatie zelf coderen. Maak zelf een systeem dat niet zo leesbaar is voor de buitenstaander.

Een voorbeeld: zorg dat je slechts 1 GET-variabele hebt. (bv. q)

bv. pagina
index.php?q=kalender/21/expand

dan is $_GET['q'] = "kalender/21/expand"
Dan kal je met explode de verschillende variabelen uitlezen

$vars = explode('/', $_GET['q']);

$vars[0] : pagina
$vars[1] : id van het item
$vars[2] : volledige view zien

En mat "mod rewrite" kan je zelfs die "?q=" weglaten.
Gewijzigd op 07/10/2013 11:56:49 door Kris Peeters
 
Space gremlin

space gremlin

07/10/2013 16:36:13
Quote Anchor link
Inderdaad wat jij zegd of coderen of inderdaad zo laten
Jouw eerste optie ga ik testen. ik wel een beetje de regels aanhouden
Dus zou geen optie zijn.

Toevoeging op 07/10/2013 16:36:27:

Inderdaad wat jij zegd of coderen of inderdaad zo laten
Jouw eerste optie ga ik testen. ik wel een beetje de regels aanhouden
Dus zou geen optie zijn.
 
Space gremlin

space gremlin

09/10/2013 22:12:45
Quote Anchor link
Ik ben maar even wat logischer gaan programmeren betreft de variabele.
dus uitgaan van andere variabele waar ik meer info uit kan halen.
zonder er een combi van te maken. 1 maal in de php code kan je dat toch
weer vertalen indien mogelijk. Vind mijn adres balk er nu wel normaal uitzien.
niet zoveel variabele.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.