Hallo Leute,
da ich das in letzter Zeit öfters im Forum gelesen hab
(und die MySqlLib von Dodo leider einen kleinen Fehler hat, den ich nicht finden konnte),
zeig ich hier meine Lösung (die sehr, sehr, sehr einfach gehalten ist).
Login
Der dazugehörige VB Code.
Registrierung
Falls ihr nicht wisst wie ihr die Tabelle erstellen sollt:
Die PHP Skripte müssen noch entprechend eurer Datenbank angepasst werden.
Anbei auch ein Sample Projekt mit den PHP Dateien.
mfg
Rinecamo
da ich das in letzter Zeit öfters im Forum gelesen hab
(und die MySqlLib von Dodo leider einen kleinen Fehler hat, den ich nicht finden konnte),
zeig ich hier meine Lösung (die sehr, sehr, sehr einfach gehalten ist).
PHP-Quellcode
- <?php
- $userpw = mysql_real_escape_string($_POST['pw']);
- $userid = mysql_real_escape_string($_POST['u']);
- @mysql_connect('localhost', 'root', '') or die (mysql_error());
- @mysql_select_db('vb') or die (sqlerror(mysql_errno(), mysql_error()));
- $query = "SELECT * FROM `user` WHERE `user`='$userid' AND `passwd`='$userpw'";
- $result = mysql_query($query);
- $resultcount = mysql_num_rows($result);
- if ($resultcount == 0)
- {
- echo 'Login fehlgeschlagen';
- }else {
- echo 'Erfolgreich eingeloggt';
- }
- ?>
Der dazugehörige VB Code.
VB.NET-Quellcode
- Imports System.Collections.Specialized, System.Net, System.Text, System.Security.Cryptography
- Public Class Form1
- Dim nv As New NameValueCollection
- Dim wc As New WebClient
- Private Sub btn_login_Click(sender As System.Object, e As System.EventArgs) Handles btn_login.Click
- nv.Clear()
- nv.Add("u", log_usr.Text)
- nv.Add("pw", MD5StringHash(log_pw.Text))
- Dim result() As Byte = wc.UploadValues("http://localhost/login.php", "POST", nv)
- Dim resultstring As String = System.Text.Encoding.ASCII.GetString(result)
- MessageBox.Show(resultstring)
- End Sub
- Public Function MD5StringHash(ByVal strString As String) As String
- Dim MD5 As New MD5CryptoServiceProvider
- Dim Data As Byte()
- Dim Result As Byte()
- Dim Res As String = ""
- Dim Tmp As String = ""
- Data = Encoding.ASCII.GetBytes(strString)
- Result = MD5.ComputeHash(Data)
- For i As Integer = 0 To Result.Length - 1
- Tmp = Hex(Result(i))
- If Len(Tmp) = 1 Then Tmp = "0" & Tmp
- Res += Tmp
- Next
- Return Res
- End Function
- End Class
VB.NET-Quellcode
- Imports System.Collections.Specialized, System.Net
- Imports System.Text
- Imports System.Security.Cryptography
- Public Class Form1
- Dim nv As New NameValueCollection
- Dim wc As New WebClient
- Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
- nv.Clear()
- nv.Add("u", TextBox1.Text)
- nv.Add("pw", MD5StringHash(TextBox2.Text))
- nv.Add("e", TextBox3.Text)
- nv.Add("o", "1")
- Dim result() As Byte = wc.UploadValues("http://server/register.php", "POST", nv)
- Dim resultstring As String = System.Text.Encoding.ASCII.GetString(result)
- MessageBox.Show(resultstring)
- End Sub
- Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
- nv.Clear()
- nv.Add("u", TextBox1.Text)
- nv.Add("o", "0")
- Dim result() As Byte = wc.UploadValues("http://server/register.php", "POST", nv)
- Dim resultstring As String = System.Text.Encoding.ASCII.GetString(result)
- MessageBox.Show(resultstring)
- End Sub
- Public Function MD5StringHash(ByVal strString As String) As String
- Dim MD5 As New MD5CryptoServiceProvider
- Dim Data As Byte()
- Dim Result As Byte()
- Dim Res As String = ""
- Dim Tmp As String = ""
- Data = Encoding.ASCII.GetBytes(strString)
- Result = MD5.ComputeHash(Data)
- For i As Integer = 0 To Result.Length - 1
- Tmp = Hex(Result(i))
- If Len(Tmp) = 1 Then Tmp = "0" & Tmp
- Res += Tmp
- Next
- Return Res
- End Function
- End Class
PHP-Quellcode
- <?php
- $username = mysql_real_escape_string($_POST['u']);
- $option = $_POST['o'];
- $con = mysql_connect('localhost', 'root', '') or die (mysql_error());
- mysql_select_db('vb', $con);
- $str_query = "SELECT `user` FROM `user` WHERE `user` = '$username'";
- $result = mysql_query($str_query, $con) or die (mysql_error());
- $resultcount = mysql_num_rows($result);
- if ($resultcount > 0 && $option == 0 || $resultcount > 0 && $option == 1)
- {
- echo 'Username bereits vergeben';
- } elseif ($resultcount == 0 && $option == 0)
- {
- echo "Username verfuegbar";
- } elseif ($resultcount == 0 && $option == 1)
- {
- $ip = $_SERVER['REMOTE_ADDR'];
- $ipquery = "SELECT `regip` FROM `user` WHERE `regip`='$ip'";
- $ipsql = mysql_query($ipquery);
- if (mysql_num_rows($ipsql) == 0)
- {
- $password = mysql_real_escape_string($_POST['pw']);
- $email = mysql_real_escape_string($_POST['e']);
- $query = "INSERT INTO `user` (`user`, `passwd`, `email`, `regip`) VALUES (
- '$username',
- '$password',
- '$email',
- '$ip')";
- $sql = mysql_query($query) or die(mysql_error());
- echo 'Erfolgreich registriert';
- } else
- {
- echo 'Mit dieser IP wurde bereits ein Account erstellt';
- }
- }
- ?>
Falls ihr nicht wisst wie ihr die Tabelle erstellen sollt:
Die PHP Skripte müssen noch entprechend eurer Datenbank angepasst werden.
Anbei auch ein Sample Projekt mit den PHP Dateien.
mfg
Rinecamo
Dieser Beitrag wurde bereits 7 mal editiert, zuletzt von „Rinecamo“ ()