Op mijn site zou ik graag een extern plaatje op halen en die op mijn pagina laten zien.
bijvoorbeeld dit op mijn pagina:
<img src="http://www.sitemasters.be/images/header1.jpg">
Maar stel nou dat ik dat plaatje alleen zou kunnen zien wanneer ik ingelogt zou zijn op sima.
EDIT:
Nu vraag je je misschien af hoe kan dit nou ? dat je alleen een plaatje kan zien wanneer je ingelogt bent. Maar met GD libary van PHP kan dat. Kijk zeg maar je hebt bijvoorbeeld dit script: http://www.site...amp;id=465
Als je dat script hebt en je gaat naar de pagina ver.php (waar het plaatje aangemaakt wordt) dan krijg je gewoon een plaatje te zien, maar stel dat er boven aan ver.php de code zet:
<?php
// $_SESSION['gebruikersrol'] heeft de waarde "admin"
if(isset($_SESSION['gebruikersrol'])) {
// de sessievariabele 'gebruikersrol' bestaat, inspecteer de waarde
if($_SESSION['gebruikersrol'] == "admin") {
echo "je plaatje.jpg.";
} else {
echo "Dit onderdeel is alleen voor admins.";
}
} else {
// de sessievariabele 'gebruikersrol' bestaat niet OF is ge-unset OF is gelijk aan NULL
echo "Je gebruikersrol is op dit moment onbekend.";
}
?>
<?php
// $_SESSION['gebruikersrol'] heeft de waarde "admin"
Als je een inlogt met een script, dan is de sessie gekoppeld aan de php-engine die het script uitvoert, en dan heeft diezelfde engine normaal gezien toegang tot dat plaatje.
Edit: Maar ik zou eerlijk gezegd gewoon de content van een pagina op sima ophalen met file_get_contents. (Bijvoorbeeld dit topic). En dan een gedeelte ervan uithalen met preg_match (het gedeelte waar het plaatje staat). En dan zie je of je online bent of niet.
Is het niet zo dat bij cURL de Server de session krijgt en niet de computer van de bezoeker. Dan heb ik er namelijk nog steeds niet aan. (bijna 99% zeker, met sockets is dat namelijk wel zo).
Ik heb dit al geprobeerd met sockets, wat eigenlijk hetzelfde principe heeft. Ik dacht zelf eigenlijk aan om een cookie te faken bij de bezoeker, maar ik heb geen idee hoe dit moet.
@Kokx: Ik kan het externe plaatje alleen goed weergeven als de bezoeker van mijn pagina ingelogt is (een session heeft lopen) op de externe site, waar mijn externe plaatje staat.
Je bedoelde op sima. Dus als je gewoon de pagina van sima ophaald en daar met preg_match gedeeltes uitfiltert dan weet je toch of iemand online is. Of zie ik het verkeerd.
Hij wil het van een andere site uitlezen. Als er op die site een online lijst staat gaat het met gemak. Ik heb hier ff snel een scriptje geschreven dat kijkt of ik online ben op sima:
Vb: http://www.kokx.nl/testsima.php
En dan is het formulier op loginform.php verstuurd met waarde gebruikersnaam = Murfy en wachtwoord = gaatjegeenzakaan alsof je het zou ingevuld hebben.
Dan is dus je sessie aangemaakt en kan je met file_get_contents je bestand ophalen.
edit:
Met file_get_contents lukt het niet, want hij wil niet inloggen. Als je deze methode gebruikt krijgt de server een sessie, maar de bezoeker van mijn pagina moet er een hebben.
Hmmz.. maar is het dan ook niet de server die file_get_contents uitvoert, dus dan heeft hij toch ook de sessie?
Je moet voor die post('site.be',.....) eens echo zetten, dan krijg je ook de output.
Dan kan je gelijk zien of je wel bent ingelogd. Vergeet ook niet dat je, als je een knopje met de naam "verzenden" hebt waarop "Inloggen" staat, dat je dan ook &verzenden=Inloggen moet meegeven voor de zekerheid.
Ja, ik had het geechood maar ik ben niet ingelogt.
Ik had dit zelf al eens geprobeerd met de onderstaande code, hierbij haal ik eerst even een cookie op vervolgens stuur ik de cookie met de headers van de volgende socket mee.
Als ik dan echo krijg ik de hele pagina te zien op de image na, zelfs als ik /turing.image.php vervang door $host."/turing.image.php"
Wanneer ik ingelogt ben en dan de image van de pagina pregmatch krijg ik wel gewoon de hele pagina te zien inclusief met image. Dus concludeerde ik dat de bezoeker van mijn site ingelogt moet zijn op de site waar ik mijn image van af wil halen.
Nu is mijn vraag dus, hoe doe ik dat ?? Misschien kan ik een soort auto login maken zodat ze op mijn site inlog gegevens invullen en dan word de bezoeker ingelogt ?? is dit mogelijk ??