Dan-Levi Skrevet 18. september 2013 Del Skrevet 18. september 2013 (endret) Hei, Er det noen som kan forklare meg hvorfor dette lille scriptet returnerer 'not ok'? Jeg har forsøkt på flere sider, og har også laget en enkel side selv for å teste, uten hell dessverre. <?php if (!empty($_POST['email']) === true && !empty($_POST['passwd']) === true) { $email = $_POST['email']; $passwd = $_POST['passwd']; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,"https://accounts.google.com/"); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, "Email=".$email."&Passwd=".$passwd); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $server_output = curl_exec ($ch); curl_close ($ch); if ($server_output == "OK") { echo 'ok'; } else { echo 'not ok'; } } else { echo 'Check your input'; } ?> Må få legge til at dette ikke er laget for å logge inn på Google, det har de nok sørget for at ikke fungerer. Endret 18. september 2013 av Dan-Levi Lenke til kommentar
xibriz Skrevet 19. september 2013 Del Skrevet 19. september 2013 (endret) En wild guess: Hvis du navigerer til accounts.google.com så ser du at de har en del input-felter, blandt annet ett som heter "dsh" som endrer seg for hver gang. Jeg antar at dette feltet har en unik nøkkel av noe slag som forhindrer det du prøver på. Jeg antar at den eneste sjansen du har er å bruke cURL til å først hente siden fra accounts.google.com, deretter parse HTML-koden, legge inn brukernavn og passord også sende alle input-feltene i retur. Men det er ingen garanti for at dette vil fungere. Endret 19. september 2013 av xibriz Lenke til kommentar
Thorbear Skrevet 19. september 2013 Del Skrevet 19. september 2013 Har du kikket på dokumentasjonen for curl_exec() hva den returnerer, og hvordan CURLOPT_RETURNTRANSFER påvirker dette? Kan også anbefale bruk av var_dump() når du lurer på hvorfor en variabel ikke inneholder det den skal. I ditt tilfelle, legg inn en var_dump($server_output); på linja før if ($server_output ...), så vil du nok fort se hvorfor du alltid får "not ok" som utskrift til skjermen. Vil også nevne at følgende sammenlikning virker litt rar: !empty($_POST['email']) === true Funksjonen empty() returnerer alltid én av true eller false, og disse verdiene blir ikke misforstått av if-setninger, så du kan trygt skrive: !empty($_POST['email']) Og det vil ha akkurat samme utfall, alltid, sammenlikne med true er bare smør på flesk. Lenke til kommentar
Crowly Skrevet 19. september 2013 Del Skrevet 19. september 2013 (endret) Vil også nevne at følgende sammenlikning virker litt rar: !empty($_POST['email']) === true Funksjonen empty() returnerer alltid én av true eller false, og disse verdiene blir ikke misforstått av if-setninger, så du kan trygt skrive: !empty($_POST['email']) Og det vil ha akkurat samme utfall, alltid, sammenlikne med true er bare smør på flesk. Bare for å tilføye, hvis du absolutt vil ha med true eller false så gjør følgende, det ser bedre ut (imo) if (empty($_POST['email']) === true) // true if (empty($_POST['email']) !== true) // false if (empty($_POST['email']) === false) // false if (empty($_POST['email']) !== false) // true Er vel strengt tatt kun nødvendig å spesifisere true eller false for funksjoner som kan returnere andre verdier som tolkes som true/false, f.eks. 1 og 0. Endret 19. september 2013 av Crowly Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå