form data posten dmv fsockopen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

12/10/2003 20:05:00
Quote Anchor link
Ik heb een vb gevonden voor het posten van form data dmv fockopen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
28
29
30
31
<?php

$host
= "www.domainname.com";
$page = "/cgi-bin/script.cgi";
$params = "param1=value1&param2=value2";
$port = 80:
$timeout = 60;

$header = "POST $page HTTP/1.0\r\nHost: $host\r\n";

$fp = fsockopen ($host, $port, $errno, $errstr, $timeout);

if ($fp === FALSE) {
die ("$errstr ($errno)");
}

else {
fputs($fp, $header);
fputs($fp, "Content-Type: application/x-www-form-urlencoded\r\n");
fputs($fp, "Content-Length: " . strlen ($params) . "\r\n");
fputs($fp, "User-Agent: MSIE\r\n");
fputs($fp, "Connection: close\r\n\r\n");
fputs($fp, $params);
}


while (!feof($fp)) {
$res = fgets ($fp, 1024);
echo($res);
}


fclose ($fp);
?>


Ik heb hier een aantal vragen over:

Wat is het verschil tussen HTTP/1.0 en HTTP/1.1? Maakt het in dit geval uit welke er gebruikt wordt?

Als ik x-www-url-encoded gebruik ipv x-www-form-urlencoded maakt dat uit?

Is het dan noodzakelijk (om de buffer te legen??) om dit te doen?

while (!feof($fp)) {
$res = fgets ($fp, 1024);
echo($res);
}

of kan ik dat er gewoon uitlaten?

Alvast bedankt!

Groeten Danielle
 
PHP hulp

PHP hulp

19/04/2024 16:05:51
 
Bo az

Bo az

12/10/2003 20:46:00
Quote Anchor link
Quote:
fockopen

lolletjes (Y)
het moet zijn: fs(!!!!!)ockopen

maar ik kan je helaas niet helpen...
 
B a s
Beheerder

B a s

12/10/2003 21:50:00
Quote Anchor link
http1.0 en 1.1 zijn twee verschillende 'versies'..

form-encoded is dus voor <form>'s.. formulieren.. Dat andere alleen voor URL adressen, kun je gebruiken als je GET gebruikt in de <form> tag..

de while() loopt is om de content (die de header stuurt etc) te laten zien, kun je dus niet weglaten..

ken het scriptje niet maar denk dat dit het ongeveer doet :)
 
Danielle

Danielle

13/10/2003 08:41:00
Quote Anchor link
Bedankt voor jouw antwoord Bas!

Ik gebruik deze script binnen een while loop om diverse forms achter elkaar te posten naar een programma. Ik heb dat stukje met fgets eruit gelaten want het vertraagd de hele script .. Op zich werkt het .. alleen af en toe worden niet alle forms verstuurd dan houdt hij er gewoon mee op .. ik probeer er achter te komen waardoor dat zou kunnen komen.

In ieder geval bedankt.

Groeten Dani
 
B a s
Beheerder

B a s

13/10/2003 08:55:00
Quote Anchor link
Mag ik weten wat je precies wilt doen?? want misschien is er ook nog wel een simpelere oplossing voor :)
 
Danielle

Danielle

13/10/2003 10:30:00
Quote Anchor link
Hoi Bas,

Ik ben een script aan het maken die berichten gaat posten naar een programma die dat opvangt en daarop sms berichten gaat verzenden. Ik post de informatie mbt inhoud van de smsberichten en gsm nummer etc. als een url naar het programma. Vooraf verzamel ik een lijst met gsm nummers en een lijst met namen, voor ieder sms bericht zet ik de naam van de persoon van wie het gsm nummer is. Dit gaat allemaal prima .. maar soms dan moeten er bijv. 30 berichten verzonden worden en dan houdt hij er na 10 mee op. En soms dan versturen wij er 75 en dan gaat het allemaal goed. Het is dus een onlogische probleem. Hieronder heb ik een stukje code van mijn script gezet.

elseif ($aanhef == "voornaam") {
$voornamen = explode (",", $voornlijst);
foreach($voornamen as $key => $naam){
$volledigetekst = "".$naam.", ".$tekst."";
$gsm = explode (",", $multilijst);
for($i=0;$i<(count($gsm)-1);$i++){
if ($i == $key) {
$telefoon = $gsm[$i];
$data="userid=$userid&listid=$developerid&gsm=$telefoon&text=$volledigetekst&sender=$sender";
$fp = fsockopen($host, 80);
if (!fsockopen) {
echo "connectie faalt na ".$key." keer";
}
fputs($fp, "POST ".$path." HTTP/1.0\r\n");
fputs($fp, "Host: ".$host."\r\n");
fputs($fp, "Content-type: application/x-www-form-urlencoded\r\n");
fputs($fp, "Content-length: ".strlen($data)."\r\n");
fputs($fp, "\r\n");
fputs($fp, $data."\r\n");
fputs($fp, "\r\n");
if (!fputs) {
echo "verzenden faalt na ".$key." keer";
}
fclose($fp);
}
}
}
}

Misschien weet jij wat hier fout gaat? Of misschien heb je een simplere oplossing voor het versturen van de formdata?

Groeten Dani
 
B a s
Beheerder

B a s

13/10/2003 10:43:00
Quote Anchor link
Heb je je eigen SMS service of gebruik je een bestaande?? De code die ik hier zie lijkt me oke.. is niets mis mee..

Als je een bestaande gebruikt dan kan het zo zijn dat je een aantal smsjes per keer mag sturen.. Daardoor kan dus het probleem ontstaan dat je de ene keer wel 20 smsjes kunt sturen, en de andere keer niet..

ik weet niet of je het wil en of je het liever voor jezelf houdt maar ik heb wel interesse in dat script.. ben benieuwd welke service je gebruikt en hoe het script er verder uit ziet :) als je tijd hebt (en het dus leuk vind) mag je hem hier wel posten..
Gewijzigd op 13/10/2003 10:44:00 door B a s
 
Danielle

Danielle

13/10/2003 11:20:00
Quote Anchor link
Hoi Bas,

Ik maak gebruik van mijn eigen sms service. Ik werk voor een bedrijf dat sms diensten aanbiedt op internet. Ik kan helaas niet deze script posten. Maar ik heb wel een aantal andere leuke scripts en functies die geen betrekking hebben met sms die ik zou kunnen posten. Je hoort nog van me!

Groeten Dani
 
B a s
Beheerder

B a s

13/10/2003 12:12:00
Quote Anchor link
Oke prima.. veel succes met je sms script :) hoop dat het goed werkt en blijft werken..

voor welk bedrijf werk je precies?
 
Peter

Peter

18/10/2003 02:42:00
Quote Anchor link
De fgets vertraagd idd, maar het zorgt ook dat je een controle kunt uitvoeren, hierdoor zou je er dus achter kunnen komen WAAR, WANNEER en WAAROM hij stopt :)
 



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.