Beiträge von Sublig
-
-
Also wenn du das Tutorial verstanden hast dann sollte das für dich jetzt doch nicht mehr so schwer sein!
-
Mein Problem ist ich bekomme die Werte nicht wenn ich die Seite über das AutoIt-Script aufrufe.
Meine login.php:
PHP
Alles anzeigen<?php // PHP-Code Beginn require_once('db_config.php'); // Die Datenbankverbindungsdaten einbinden, damit die Funktion "mysql_connect" funktioniert mysql_connect($host, $user, $pass); // Öffnet eine Verbindung zu dem MySql-Server mysql_select_db($dbase); // Wählt die Datenbank $dbase aus $Benutzername = mysql_real_escape_string($HTTP_GET_VARS['benutzername']); // In der Variable steht der String der in der Url nach "benutzername=" übermittelt wurde $Passwort = mysql_real_escape_string($HTTP_GET_VARS['passwort']); // In der Variable steht der String der in der Url nach "passwort=" übermittelt wurde $result = mysql_query("SELECT * FROM User_Daten WHERE Benutzername='" . $Benutzername . "'"); // Sendet die Anfrage an die MySql-DB: "Wähle alle Daten aus der Tabelle User_Daten wo der Benutzername gleich $Benutzername ist" // !!! Achtung !!! - Habt ihr vorher den Namen der Tabelle verändert müsst ihr logischerweise auch den neuen Namen verwenden $row = mysql_fetch_row($result); // mysql_fetch_row($result) gibt ein Array zurück mit allen Daten aus der Spalte in der der Benutzername gleich $Benutzername ist if ($row) // Wenn ein Datensatz gefunden wurde { // ... Benutzername ist also schonmal vorhanden in der DB if ($Passwort == $row[1]) // Wenn das übermittelte Passwort in MD5 mit dem Passwort aus der DB übereinstimmt { // Passwort stimmt echo 1; // Gib eine 1 aus } else // Ansonsten { // Passwort stimmt nicht echo 2; // Gib eine 2 aus } } else // Ansonsten { // Benutzername nicht vorhanden echo 0; // Gib eine 0 aus } // PHP-Code Ende ?>
Hab ich so geändert dass das Passwort nicht mehr verschlüsselt ist...
Mein AutoIt-Script:
[autoit]#include <Inet.au3>
[/autoit][autoit][/autoit][autoit]_Login("Hallo","Hallo")
[/autoit][autoit][/autoit][autoit]
; Ein Loginbeispiel zum Testen:
; Benutername: Test
; Passwort: HalloFunc _Login($sBenutzername = "", $sPasswort = "")
[/autoit][autoit][/autoit][autoit]
;$iRValue = _INetGetSource("http://123.bplaced.net/DB/login.php?benutzername=" & $sBenutzername & "&passwort=" & $sPasswort)
$iRValue = _INetGetSource("http://123.bplaced.net/DB/login.php?benutzername=Test&passwort=testtest")
MsgBox(1,"",$iRValue)
; Statt <URL> tragt ihr hier bitte die URL zur login.php-Datei auf dem Webspace ein
; Öffnet die Seite und führt dabei die login.php-Datei aus. Die php-Datei arbeitet nun ihren Code ab und gibt entweder ...
; 0 - Benutzername stimmt nicht (nicht vorhanden) oder ...
; 1 - Passwort und Benutzername stimmt oder ...
; 2 - Passwort stimmt nicht
; ... ausSwitch $iRValue ; je nach Rückgabewert der login.php-Datei wird nun weiter verfahren:
[/autoit]
Case 0 ; - Benutzername stimmt nicht (nicht vorhanden)
MsgBox(16,"Error","Benutzername ist nicht registriert!")
Case 1 ; - Passwort und Benutzername stimmt
MsgBox(32,"Info","Erfolgreich eingeloggt!")
Case 2 ; - Passwort stimmt nicht
MsgBox(16,"Error","Passwort ist falsch!")
EndSwitch
EndFunc ;==>_LoginWenn ich den Link im Browser aufrufe passt alles, dann bekomme ich einen Rückgabewert. Aber wenn ich es über das AutoIt-Script probiere bekomme ich keinen Rückgabewert...
Kann mir jemand helfen?
Edit: Problem gelöst dank Seubo
HttpSetUserAgent()