posten naar andere website?
Ik heb het zelf nog nooit getest, maar kun je eigenlijk posten van de ene naar de andere website?
Stel, ik heb 2 (eigen) websites... website A en website B.
Stel ik zet op website A een formulier met een "action" naar website B:
Code (php)
1
2
3
4
2
3
4
<form action="http://www.websiteB.nl/post" method="post">
<label>naam:</label><input type="text" name="name">
<input type="submit" value="verzenden">
</form>
<label>naam:</label><input type="text" name="name">
<input type="submit" value="verzenden">
</form>
Zou dit gewoon werken? Kan ik dan op website B de waarden van het formulier (dat op website A gepost is) uitlezen?
(Indien dit werkt, is er dan ook een manier om website B te laten openen in een nieuw venster in plaats van hetzelfde venster?)
Ben benieuwd...
Quote:
Zou dit gewoon werken? Kan ik dan op website B de waarden van het formulier (dat op website A gepost is) uitlezen?
Ja.
Quote:
(Indien dit werkt, is er dan ook een manier om website B te laten openen in een nieuw venster in plaats van hetzelfde venster?)
Nee.
Code (php)
1
2
3
4
2
3
4
<form action="http://www.websiteB.nl/post" method="post" target="_blank">
<label>naam:</label><input type="text" name="name">
<input type="submit" value="verzenden">
</form>
<label>naam:</label><input type="text" name="name">
<input type="submit" value="verzenden">
</form>
Gewijzigd op 20/01/2013 17:05:39 door Victor -
Lol... een nee en een ja. Maar het kan dus wel. Da's mooi! Nog nooit gebruikt, maar kan wel eens handig zijn denk ik zo :)
Dat hangt van je browserinstellingen af... maar het is wel wat ik bedoelde.
Om te kunnen posten, moet er dan altijd op een formulierknop worden geklikt? Of kan het ook automatisch. Stel ik bezoek www.mijnsite.nl/nu-posten en dat er dan automatisch naar een andere site wordt gepost zonder dat ik op een knop hoef te drukken. Kan dat?
Maar misschien is het handig als je jou situatie met ons deelt? Dan kunnen we misschien lastige problemen handiger oplossen. ;)
Submit via Ajax kan niet altijd cross-domain, maar zou je kunnen proberen. Anders een javascript submit van een form in een (onzichtbaar) iframe, of een cURL request vanuit php.
Je kunt een formulier posten met javascript (form.submit() ) dat zou je bij een onload al kunnen doen. Maar waarvoor zou je dat willen?
Als je geen ajax request kan sturen, invoke dan gewoon een klik op de sumbit.
Als je wil dat het ongemerkt gebeurt, neem als target een iframe (zonder zichtbare afmetingen)
Geen kat die merkt dat dit gebeurt
... behalve die paar geeks die devel tools kennen ...
Ik wil bijv. een bezoeker van site A naar site B doorsturen.
Op site B wil ik weten of de bezoeker afkomstig is van site A.
Dan zou ik bijv. via een form een hidden code kunnen doorsturen naar site B, waardoor site B weet dat de bezoeker van site A komt. Alleen het zou dan handig kunnen zijn als de bezoeker niet zelf op de verzendknop hoeft te klikken, maar dat ik in de code bijvoorbeeld een header doe naar www.siteA.nl/doorsturen en dat er dan dus een formulier wordt gepost, waardoor site B wordt geopend en deze gelijk over de juiste gegevens (de code) beschikt.
Try it and see ...
Ozzie PHP op 22/01/2013 13:49:00:
... via een form een hidden code kunnen doorsturen naar site B,...
Test ook eens uit of $_SERVER['HTTP_REFERER'] werkt
@Kris: ja, dat werkt wel, maar er zijn browsers / plugins die referers onzichtbaar maken, dus dat is geen veilige optie.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script>
$(document).ready(function($) {
$("#my_form").submit();
});
</script>
<form id="my_form" method="post" target="my_iframe" action="http://www.phphulp.nl/zoeken/">
<input type="hidden" name="q" value="iframe">
<input id="my_submit" type="submit" value="go">
</form>
Zoeken op phphulp naar "iframe"
<iframe id="my_iframe">
<script>
$(document).ready(function($) {
$("#my_form").submit();
});
</script>
<form id="my_form" method="post" target="my_iframe" action="http://www.phphulp.nl/zoeken/">
<input type="hidden" name="q" value="iframe">
<input id="my_submit" type="submit" value="go">
</form>
Zoeken op phphulp naar "iframe"
<iframe id="my_iframe">
(ofwel $("#my_submit").click() )
Gewijzigd op 22/01/2013 14:41:32 door Kris Peeters
SiteA.Nl?ref=siteB
Toevoeging op 22/01/2013 15:02:52:
Je kunt natuurlijk ook gewoon een parameter meegeven in de URL. De dat is drie keer zo makkelijk
SiteA.Nl?ref=siteB
Dat klopt... maar ik plaats validatiecodes niet graag zichtbaar in een URL. Vandaar dat ik me afvraag of je het ook kunt posten.