Archief - PHP: POST verzenden vanuit PHP

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Bram

Legacy Member
Hey all,

Ik vroeg me iets af: is het mogelijk om POST variabelen te verzenden vanuit php?

Ik wou namelijk het volgende doen: ik heb een log in scriptje, maar als ik fout inlog, zou ik de fout willen aanduiden in hetzelfde log in script, maar dan met bv de input fields een rode rand.

Normaal zou ik gewoon opt einde van m'n login script (bij fout) nen header: Location: login.php?error=true ofzo zetten (om via $_GET op te halen), maar ik vin da da zo stom staat in de url...

Daarom vroeg ik mij af of ik dus ipv met de header en $_GET nie met POST zou kunnen werken... Alst nie mogelijk is, dan ist zo natuurlijk :p

Alternatieven zijn ook welkom! (checken met AJAX lijkt me wat overkill :p)

Smokyke

Legacy Member
Lol ja ik zou zeggen met autosubmit form mah das nie echt ideaal.

Waarom verstuur je het niet met een sessie of cookie?

Cyberkef

Legacy Member
Ik dacht ook wel direct aan een sessie om zoiets te doen eigenlijk :)

dJeez

Legacy Member
Waarom zou je daar in godsnaam een redirect voor nodig hebben? Vul gewoon bij de weergave van je form in het geval van fouten de value in van het betreffende form veld, en gebruik bij voorkeur een CSS klasse om fouten aan te geven.

Zorg er ook voor dat het script dat de form weergeeft wordt gebruikt om naar te posten, ik vermoed nl. op basis van je vraagstelling dat je dat nu niet doet.

Maar als je echt data wil posten naar een form check je best de curl extensie.

Lord Kveldulv

Legacy Member
Ik heb op het werk een class geschreven die dat doet voor Ogone payments via post over https. Dat wordt gedaan met een fsockopen. Je moet je header dan volledig zelf gaan opbouwen. Het gemakkelijkste is een sniffer gebruiken om te kijken wat uw form verstuurd. Dus Host, User-Agent, Accept, Accept-Language,... moet je allemaal invullen. Daarachter zet je je form fields, ook weer in de juiste vorm. En dan 'submitten' met fsockopen.

dJeez

Legacy Member
Lord Kveldulv zei:
Ik heb op het werk een class geschreven die dat doet voor Ogone payments via post over https. Dat wordt gedaan met een fsockopen.
Waarom het wiel opnieuw uitvinden als curl dat al perfect doet eigenlijk? Je verstuurt toch ook mails via classes of de mail functie van PHP, en niet door zelf de zoveelste implementatie van het SMTP protocol te gaan schrijven?

frenzal

Legacy Member
Ik heb deze functie gebruikt om via POST gegevens door te sturen:

PHP:
function post_data($vars,$url){
        $ch = curl_init();
        curl_setopt($ch,CURLOPT_URL,$url);
        curl_setopt($ch,CURLOPT_POST,1);
        curl_setopt($ch,CURLOPT_POSTFIELDS,$vars);
        curl_exec($ch);
        curl_close($ch);
}

waarbij $vars een array is van de door te geven post data en $url spreekt voor zich

Parsec

Legacy Member
Niet alle servers ondersteunen CURL, in dat geval is fsockopen wel een alternatief.

dJeez

Legacy Member
Parsec zei:
Niet alle servers ondersteunen CURL, in dat geval is fsockopen wel een alternatief.
Dan nog zou je je beter houden aan standaard oplossingen zoals diegene die in PEAR zitten ipv zelf de zoveelste implementatie te gaan schrijven (die niet eens gegarandeerd bugvrij is). PEAR wordt door zowat iedereen genegeerd, terwijl er enorm nuttige zaken in staan (en die op een veel grotere schaal getest worden).
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan