Ik werk bij een club, maar die website is zo gruwelijk verouderd dat foto's uploaden echt eeuwen duurt. Ik ben bezig met een extern script wat info dumpt in formuliertjes op die site, maar het lukt me niet zo
ik heb dit, en wat ik aan de tutorial hierzo snap, zou dit het moeten doen:
<?php
$link = "http://www.n201.nl/user.php";
$account = "inlognaam";
$pass = "inlogpassword";
$ch = curl_init($link);
curl_setopt($ch, CURLOPT_POST, true);
//zet het type op post
curl_setopt($ch, CURLOPT_POSTFIELDS, "uname=" .$account."&pass=".$pass."&op=login");
//stuur de gegevens uit het formulier door naar de link
curl_exec($ch);
//Zet de output op het scherm
if (curl_errno($ch)) {
print curl_error($ch);
//Als er een fout is geef deze dan
}
else{
curl_close($ch);
//Sluit de link met de website
}
?>
ik krijg nu 'ongeldige login' terwijl ik zeker weten goed gegevens heb hmm
ik heb een vaag vermoeden dat ze nog wat sneaky beveiligingen hebben gemaakt. Weet iemand er een paar en hoe je die omzijlt? Graag in je achterhoofd houden dat het een redelijk oude website is
edit:
wat wel jammer is, manual inloggen en met fopen() de pagina uitlezen resulteert in een melding vanaf de site dat je niet bent ingelogd. Als iemand daar een suggestie voor heeft...?
Dat tweede is om op het foto deel te komen. Het is de bedoeling nadat ik ingelogd ben, foto's kan uploaden, en dat in de formuliertjes 2 waardes standaard ingevuld worden, zodat je dat niet bij elke foto moet doen.
Dit resulteert in een bericht dat ik juist ben ingelogd, maar daarna dat ik geen toegang hebt (die melding krijgt je als naar 'fotos' gaat zonder ingelogd te zijn)
edit: Als ik inlog via cURL, moet ik er dan ook kunnen inloggen als ik de pagina manual bezoek? want na de inlog verwijst ie terug naar hun index.php, en daar ben ik dan niet ingelogd
Ik weet niet hoe het precies werkt, maar volgens mij handelt curl automatisch (sessie) cookies af. Als je dezelfde curl resource gebruikt zou je ingelogd moeten blijven lees ik ook op php.net.
Dus misschien helpt het om in plaats van regel 17, dit te gebruiken:
Misschien moet je dan toch zelf je cookies bijhouden. Eigenlijk zou je met een packet sniffer eens moeten kijken wat voor requests php precies verstuurt vanuit je script. Dan zie je gelijk als er iets mist.