Autoit3 Datenbank

06/08/2013 12:26 Thomas_F#1
Hey,

Wollte mal fragen ob man iwie z.B. ein link aus einer Datenbank sich raussuchen kann um diesen dann zuöffnen.
Damit man den link in der Datenbank ändern kann und dann das ganze programm einen anderen link hat.

Hoffe mir kann jmd helfen :P

Danke im vorraus
06/08/2013 12:38 FacePalmMan#2
das heisst: man öffnet das programm und sieht dann ein paar links die man öffnen kann. diese Links kann man dann auf knopfdruck bearbeiten. richtig? wenn ja dann: versuch es mal mit TCP!
06/08/2013 12:58 Thomas_F#3
Quote:
Originally Posted by FacePalmMan View Post
das heisst: man öffnet das programm und sieht dann ein paar links die man öffnen kann. diese Links kann man dann auf knopfdruck bearbeiten. richtig? wenn ja dann: versuch es mal mit TCP!
Die Datenbank existiert schon und ich editiere sie per PhpMyAdmin.
Die möchte ich auslesen und als $Link1 speichern.
D.h. wenn sich da dann was ändert ließt er was andres aus.

Sie hat 2 Spalten z.B.

ID Link
1 [Only registered and activated users can see links. Click Here To Register...]
2 [Only registered and activated users can see links. Click Here To Register...]
06/08/2013 13:05 WJNeeson#4
Du erstellst ein PHP Script auf deinem Webspace, der die Datenbank ausliest und ausgibt, dann rufst du in deinem AutoIt Script diese PHP Datei auf und liest die Ausgabe aus
06/08/2013 19:53 BladeTiger12#5
Aber ist vielleicht gefährlich wenn es mehrere Leute haben.
Decompiler sagt alles.
Dann haben die Leute die ganzen Links zu den php seiten die, die
Datenbank bearbeiten.
Ist halt nicht grad schön wenn die User damit dann alles machen können.
Sprich die Seite aufrufen um.. zu ändern u.s.w.
So denke ich gerade.
06/08/2013 20:23 butter123#6
äm ist das ne mysql datenbank? dafür gibs glaub ich ne udf
06/08/2013 20:26 YatoDev#7
Quote:
Originally Posted by BladeTiger12 View Post
Aber ist vielleicht gefährlich wenn es mehrere Leute haben.
Decompiler sagt alles.
Dann haben die Leute die ganzen Links zu den php seiten die, die
Datenbank bearbeiten.
Ist halt nicht grad schön wenn die User damit dann alles machen können.
Sprich die Seite aufrufen um.. zu ändern u.s.w.
So denke ich gerade.
slebst wenn man das programm packen würde oder mit einem eigenen obfuscator arbeitet könnte man doch auch einfach den traffic des programms mitschreiben ^^
06/10/2013 20:28 Thomas_F#8
Es ist eine MySql Datenbank und es ist nicht schlimm wenn die Datenbank ausgelesen wird da nur ID 1,2,3 .... und ein Link drin steht.
06/11/2013 10:09 WJNeeson#9
Quote:
Originally Posted by #System View Post
Du erstellst ein PHP Script auf deinem Webspace, der die Datenbank ausliest und ausgibt, dann rufst du in deinem AutoIt Script diese PHP Datei auf und liest die Ausgabe aus
^So solltest du es machen.

Hier ein Beispiel:

PHP Code:
<?php
$host 
'localhost';
$user 'benutzer';
$pass 'passwort';
$db 'datenbankname';
$connection mysql_connect($host$user$pass) or die('Verbindung zur Datenbank Fehlgeschlagen');

$id $_GET['id'];

mysql_select_db($db$connection) or die('Datenbank konnte nicht ausgewählt werden');
$sql "SELECT * FROM tabellenname WHERE id LIKE '$id' LIMIT 1";
$result mysql_query($sql) or die('Anfrage nicht erfolgreich');

$res mysql_fetch_object($result);

echo 
"<ID>$res->id</ID><br>";
echo 
"<Link>$res->link</Link>";
?>
Sieht unsere Tabelle also so aus:

PHP Code:
id                link

1                 http
://www.google.de/
2                 http://www.youtube.de/
3                 http://www.elitepvpers.com/
4                 http://www.web.de/ 
und wir geben in unserem Internetbrowser ein:

"http://www.deinwebspace.de/dieserphpscript.php?id=3"

dann gibt uns das Script das hier zurück:

PHP Code:
<ID>3</ID>
<
Link>http://www.elitepvpers.com/</Link> 
In AutoIt sehe das ganze dann so aus:

PHP Code:
$nID InputBox("""Welche ID auslesen?")
$sHTML BinaryToString(InetRead("http://www.deinwebspace.de/dieserphpscript.php?id=" $nID), 4)
$vSRE StringRegExp($sHTML"<Link>(.*?)</Link>"1)
MsgBox(64"""Der Link mit der ID " $nID " ist:" & @CRLF $vSRE[0]) 
06/11/2013 15:41 Thomas_F#10
Warning: mysql_connect() [function.mysql-connect]: [2002] Connection timed out (trying to connect via tcp://***.bplaced.net:3306) in /users/***/www/test.php on line 6

Warning: mysql_connect() [function.mysql-connect]: Connection timed out in /users/***/www/test.php on line 6
Verbindung zur Datenbank Fehlgeschlagen

Ist das normal :P ?
06/11/2013 15:49 BladeTiger12#11
Ja wenn man seine Login-Daten falsch angibt :)

Code:
$host = 'localhost'; 
$user = 'benutzer'; 
$pass = 'passwort'; 
$db = 'datenbankname';
Lass Host auf localhost.
Den rest musst du ändern.
06/11/2013 16:06 Thomas_F#12
Quote:
Originally Posted by BladeTiger12 View Post
Ja wenn man seine Login-Daten falsch angibt :)

Code:
$host = 'localhost'; 
$user = 'benutzer'; 
$pass = 'passwort'; 
$db = 'datenbankname';
Lass Host auf localhost.
Den rest musst du ändern.
Dankeschön hatte net localhost sondern was andres ;)

So nun wir mir bei ?ID=1 eine 1 angezeigt bei ?ID=2 eine 2 usw.
Wieso zeigt es mir nicht den link an ??
1. Spalte ID
2. Spalte Link
06/11/2013 16:36 BladeTiger12#13
Hmm..
Beim 2 Echo dürfte der Link stehen o.o.
Bei dem 1 Echo nur die ID.

#Edit:
Wenn nicht versuchs mal:

Code:
<?php 
$host = 'localhost'; 
$user = 'benutzer'; 
$pass = 'passwort'; 
$db = 'datenbankname'; 
$connection = mysql_connect($host, $user, $pass) or die('Verbindung zur Datenbank Fehlgeschlagen'); 

$id = $_GET['id']; 

mysql_select_db($db, $connection) or die('Datenbank konnte nicht ausgewählt werden'); 
$sql = "SELECT * FROM tabellenname WHERE id = 1"; 
$result = mysql_query($sql) or die('Anfrage nicht erfolgreich'); 

$res = mysql_fetch_object($result); 

echo "<ID>$res->id</ID><br>"; 
echo "<Link>$res->link</Link>"; 
?>
06/11/2013 19:06 Thomas_F#14
Quote:
Originally Posted by BladeTiger12 View Post
Hmm..
Beim 2 Echo dürfte der Link stehen o.o.
Bei dem 1 Echo nur die ID.

#Edit:
Wenn nicht versuchs mal:

Code:
<?php 
$host = 'localhost'; 
$user = 'benutzer'; 
$pass = 'passwort'; 
$db = 'datenbankname'; 
$connection = mysql_connect($host, $user, $pass) or die('Verbindung zur Datenbank Fehlgeschlagen'); 

$id = $_GET['id']; 

mysql_select_db($db, $connection) or die('Datenbank konnte nicht ausgewählt werden'); 
$sql = "SELECT * FROM tabellenname WHERE id = 1"; 
$result = mysql_query($sql) or die('Anfrage nicht erfolgreich'); 

$res = mysql_fetch_object($result); 

echo "<ID>$res->id</ID><br>"; 
echo "<Link>$res->link</Link>"; 
?>
Es wir nur ein Echo angezeigt steht nur 1

Edit : Teste ich gleich mal

Edit2 : Kommt auch wieder eine 1
06/11/2013 21:30 BladeTiger12#15
Sicher das dann in deiner Tabelle
bei Link keine 1 steht?
Existiert die Spalte Link überhaupt?