| Autor |
Beitrag |
maier1990
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mi 17.02.10 19:19
Ich hab es abgeändert aber es geht trotzdem nicht
und wo kostet der Download was?
welcher Download überhaupst?
|
|
platzwart
      
Beiträge: 1054
Erhaltene Danke: 78
Win 7, Ubuntu 9.10
Delphi 2007 Pro, C++, Qt
|
Verfasst: Mi 17.02.10 19:26
1) Ich meinte dein "Mail-Programm"
2) Wie schauts denn nun nach der Abänderung aus?
_________________ Wissenschaft schafft Wissenschaft, denn Wissenschaft ist Wissenschaft, die mit Wissen und Schaffen Wissen schafft. (myself)
|
|
maier1990
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mi 17.02.10 19:48
ach so ja aber sie sind zufrieden mit dem mail client
jetz sieht es so aus:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21:
| var data: TIdMultiPartFormDataStream; begin data := TIdMultiPartFormDataStream.Create; try data.AddFormField('name', name.Text); data.AddFormField('passwort', passwort.text); data.AddFormField('vorname', vorname.text); data.AddFormField('nachname', nachname.text); data.AddFormField('strasse', strasse.text); data.AddFormField('plz', plz.text); data.AddFormField('ort', ort.text); data.AddFormField('gebdatum', gebdatum.text); data.AddFormField('Email', Email.text);
Memo1.Lines.Text := form1.IdHTTP1.Post('http://www.chiller4fun.de/addons/login.php', data); finally data.Free; |
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| <?PHP require_once("config.php");
if(isset($_POST['name'])){
mysql_query("INSERT INTO $scriptmaker_users (name, passwort, vorname, nachname, strasse, plz, ort, gebdatum, Email) VALUES ('$_POST[name]','$_POST[passwort]','$_POST[vorname]','$_POST[nachname]','$_POST[strasse]','$_POST[plz]','$_POST[ort]','$_POST[gebdatum]','$_POST[Email]')"); } //ende if mysql_close(); echo("Erfolgreich Registriert"); ?> |
|
|
maier1990
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mi 17.02.10 20:34
|
|
platzwart
      
Beiträge: 1054
Erhaltene Danke: 78
Win 7, Ubuntu 9.10
Delphi 2007 Pro, C++, Qt
|
Verfasst: Mi 17.02.10 20:43
*again* Pushen erst nach 24 Stunden...
_________________ Wissenschaft schafft Wissenschaft, denn Wissenschaft ist Wissenschaft, die mit Wissen und Schaffen Wissen schafft. (myself)
|
|
Webo
      
Beiträge: 577
Erhaltene Danke: 14
Win 7, Debian
C# (Visual Studio 2013), PHP, C, C++ (Eclipse, KDevelop)
|
Verfasst: Mi 17.02.10 21:10
maier1990 hat folgendes geschrieben : | | bitte helft mir doch |
Mal ein ganz allgemeiner Tipp: Wenn du gleich versuchst 50 verschiedene Einträge zu machen, dann hast du 50 mal so viel Fehlerquellen, als wenn du es erstmal testweise mit einem Eintrag machst. Wenn der nicht funktioniert musst du bei viel weniger Dingen Fehler suchen, als wenn du gleich 50 Einträge machen willst. Wenn dann dieser eine Eintrag funktnioniert, dann kannst du ja die Einträge Stück für Stück erweitern ... aber das nur mal so am Rande !
Gut wäre übrigens auch einen Blick in den allgemeinen Aufbau einer Connection zu MySQL in PHP zu werfen, vllt liegt ja auch da der Fehler begraben PHP MYSQL DATENBANK VERBINDEN
_________________ Man kann nur das aus dem Ärmel schütteln, was man auch vorher reingesteckt hat.
|
|
maier1990
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mi 17.02.10 22:19
Dankeschön Webo
jetz is sie wenigstens verbunden wen ich des Php Script aufrufe und ich kann auch über Php daten eintragen.
Aber wie mach ich es dan das ich sie von Delphi ans Php Script sende?
|
|
Xentar
      
Beiträge: 2077
Erhaltene Danke: 2
Win XP
Delphi 5 Ent., Delphi 2007 Prof
|
Verfasst: Mi 17.02.10 23:00
maier1990 hat folgendes geschrieben : | | Aber wie mach ich es dan das ich sie von Delphi ans Php Script sende? |
Ich versteh die Frage (schon wieder) nicht..
Den Delphi Quellcode hast du doch oben schon?
_________________ PROGRAMMER: A device for converting coffee into software.
|
|
maier1990
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mi 17.02.10 23:23
Ja es ist zum Verzweifeln mit mir
Ja den Quelltext hab ich shcon von delphi
aber für php keinen gefunden
ausser den:
Quelltext 1: 2: 3: 4: 5: 6: 7:
| <?php include("config.php");
mysql_query("INSERT INTO `scriptmaker_users`(`username`, `passwort`, 'vorname`, `nachname`, 'straße', 'plz', 'ort', 'gebdatum', 'Email') VALUES ('username', 'passwort' ,'vorname', 'nachname', 'straße', 'plz', 'ort', 'gebdatum', 'email')");
?> |
|
|
Xentar
      
Beiträge: 2077
Erhaltene Danke: 2
Win XP
Delphi 5 Ent., Delphi 2007 Prof
|
Verfasst: Mi 17.02.10 23:25
Meinste nicht, du solltest dich damit langsam eher an ein PHP Forum wenden? 
_________________ PROGRAMMER: A device for converting coffee into software.
|
|
maier1990
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mi 17.02.10 23:29
hm glaub auch
aber eine frage noch.
Bei meinen ersten Php script was chi oben gepostet hab is des schon richtig oder noch nicht ganz?
|
|
platzwart
      
Beiträge: 1054
Erhaltene Danke: 78
Win 7, Ubuntu 9.10
Delphi 2007 Pro, C++, Qt
|
Verfasst: Mi 17.02.10 23:55
Genau das ist doch die Frage für das PHP-Forum... 
_________________ Wissenschaft schafft Wissenschaft, denn Wissenschaft ist Wissenschaft, die mit Wissen und Schaffen Wissen schafft. (myself)
|
|
maier1990
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Do 18.02.10 15:23
Soo
Ich hab mir jetzt mal die Arbeit gemacht und in Php ein richtiges Script geschrieben.
Php Script:
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9:
| <?PHP include("config.php");
if ($action == "register") { mysql_query("INSERT INTO scriptmaker_users (username, passwort, aktiviert, vorname, nachname, straße, plz, ort, gebdatum, Email) VALUES ('".$username."', '".$passwort."', '0', '".$vorname."', '".$nachname."','".$strasse."', '".$plz."', '".$ort."','".$gebdatum."', '".$Email."')"); echo("Erfolgreich Registriert"); } ?> |
Delphi Quellcode:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| var data: TIdMultiPartFormDataStream; begin data := TIdMultiPartFormDataStream.Create; try data.AddFormField('username', Edit1.Text); data.AddFormField('passwort', Edit2.text); data.AddFormField('vorname', Edit3.text); data.AddFormField('nachname', Edit4.text); data.AddFormField('strasse', Edit5.text); data.AddFormField('plz', Edit6.text); data.AddFormField('ort', Edit7.text); data.AddFormField('gebdatum', Edit8.text); data.AddFormField('Email', Edit9.text); data.AddFormField('action', 'register'); |
Funktioniert wunderbar.
Wen sich ein user registriert wird er in die DB eingetragen und aktiviert ist er nicht.
Wie mach ich des login?
Da muss ich doch Irgendwie abfragen ob die Userdaten die eingegeben wurden mit der in der Datenbank übereinstimmen oder?
Wie mach ich es wen ich mich einlogg das ich noch ein Feld hab m it user Freischalten und dan ein aktivierungslink an den user verschickt wird??
lg
Edit://
Hab jetzt bei meinen Login Button mal folgendes Eingefügt:
Delphi-Quelltext 1: 2:
| if (Edit1.Text) = '238236' then Form2.Showmodal; |
Ich muss ja jetz woll hier ne if then Abfrage einfügen die Abfrägt ob die Userdaten in der Db existieren und Aktiviert sind oder??
Wie änder ich die If then abfrage oben ab das ich es für zwei felder benutzen kann?
|
|
Jakob_Ullmann
      
Beiträge: 1747
Erhaltene Danke: 15
Win 7, *Ubuntu GNU/Linux*
*Anjuta* (C, C++, Python), Geany (Vala), Lazarus (Pascal), Eclipse (Java)
|
Verfasst: Do 18.02.10 15:47
Ich hatte mich gewundert, wieso es funktioniert, weil du hier den Befehl mysql_query verwendest, ohne dich überhaupt mit der Datenbank zu verbinden. Aber vermutlich wird das in der config.php gehandlet, nicht? Vermutlich ist die ja auch kopiert, oder?
Das Login machst du indem du ein <input type="password"> einfügst zusammen mit einem Eingabefeld, dann filterst du mit einer MySQL-Query die Datensätze (was nur einer sein sollte, bzw. keiner bei falschem Passwort), und das kannst du dann anzeigen. Wenn das wirklich sicher sein soll, solltest du Sessions verwenden, außerdem brauchst du einen XSS-Schutz. Die SQL-Abfrage kannst du dir von phpMyAdmin generieren lassen, aber den Rest wirst du hier sicher nicht so einfach rübergeschoben bekommen. Du solltest es entweder lassen oder ein PHP-Buch oder zumindest ein -Tutorial lesen. Grundlagenwissen wirst du dafür nämlich brauchen. Eine Empfehlung habe ich bereits in deinem anderen Thread geäußert.
Programmieren ist mehr als Copy-and-Paste!
Übrigens: Du solltest nicht das Passwort, sondern nur seinen Hash übertragen. Alles andere ist fahrlässig.
|
|
maier1990
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Do 18.02.10 16:04
ja ich verbinde mit der config.php zur Datenbank und nein ich habe die ganze Nacht durchgemacht und Php tutorials Durchgearbeitet.
Wegen Passwort des wird jetzt md5 verschlüßelt ich glaub es is besser.
Nur wegen dem Login nochmal
Kann ich da nicht einfach mit nen Php script ne abfrage machen.
Also das er abfrägt ob user und pw in der datenbank vorhanden sind?
|
|
Jakob_Ullmann
      
Beiträge: 1747
Erhaltene Danke: 15
Win 7, *Ubuntu GNU/Linux*
*Anjuta* (C, C++, Python), Geany (Vala), Lazarus (Pascal), Eclipse (Java)
|
Verfasst: Do 18.02.10 16:14
Gut, wenn du dich mit PHP ein wenig auskennst, wird dir die Arbeit mit Arrays ja vertraut sein. Ich werfe einfach mal folgenden Quellcode in die Runde:
C#-Quelltext 1: 2: 3: 4: 5: 6:
| <?php $query = "SELECT * FROM table1 WHERE pw = 'passwd' AND name = $uname"; $res = mysql_query($query); $data = mysql_fetch_assoc($res); echo "Willkommen, <b>$data[name]</b>"; ?> |
Das kannst du auch mit den Indys abholen und dann einfach verarbeiten, das muss nicht einmal eine HTML-Struktur aufweisen. (wie du das abholst, weißt du ja hoffentlich)
Ich glaube übrigens nicht, dass VCL die richtige Sparte dafür ist.
|
|
maier1990
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Do 18.02.10 16:19
Dankeschön jetz hab ihc es fast geschafft.
oha stimmt
--- Moderiert von Narses: Beiträge zusammengefasst---
jetz hab ich aba noch ne frage wegen den button aktivieren
ihr habt gesagt ich muss den user einen link schicken den er anklicken muss welcher link ist das?
ich dacht mir eig,. so das wen ich auf User aktivieren gehe das dan die Ganzen user aus der Db stehen die noch nicht aktiviert wurden und wen ich einen Anklicke sollte mein mail programm kommen passt des so=?
und wie mach ich das der Button nur für Admins sichtbar ist??
lg
|
|
Webo
      
Beiträge: 577
Erhaltene Danke: 14
Win 7, Debian
C# (Visual Studio 2013), PHP, C, C++ (Eclipse, KDevelop)
|
Verfasst: Do 18.02.10 17:03
maier1990 hat folgendes geschrieben : | | und wie mach ich das der Button nur für Admins sichtbar ist?? |
Die erste Frage verstehe ich nicht, kann daran liegen, dass ich nicht alles gelesen habe ... aber zur zweiten: Du führst "Benutzerstufen" ein. Da du ja, wie du oben schriebst, php-Tutorials durchgelesen hast, dann werden dir Session-Variablen ja vermutlich etwas sagen. Du könntest dich einloggen, das Skript fragt die Benutzerstufe ab und wenn Benutzerstufe >= Admin ist, dann ist der Button sichtbar. So in etwa ist das zu handhaben.
_________________ Man kann nur das aus dem Ärmel schütteln, was man auch vorher reingesteckt hat.
|
|
Jakob_Ullmann
      
Beiträge: 1747
Erhaltene Danke: 15
Win 7, *Ubuntu GNU/Linux*
*Anjuta* (C, C++, Python), Geany (Vala), Lazarus (Pascal), Eclipse (Java)
|
Verfasst: Do 18.02.10 17:41
Das könntest du so machen:
C#-Quelltext 1: 2: 3: 4:
| echo ( ($name == "admin") && ($pw == "adminpasswort") ) ? "<button onclick='javascript:clck()'>Aktivieren</button>" : " "; |
mit
C#-Quelltext 1: 2: 3: 4: 5:
| <script type="text/javascript" language="JavaScript"> function clck() { } </script> |
(oben habe ich den sogenannten ternären Operator verwendet.)
Wobei ich fast glaube, das wäre mit einem Formular einfacher getan, aber im Prinzip geht das so.
Den Aktivierungslink könnte man zum Beispiel so gestalten:
Quelltext 1:
| http://www.webspacexx.de/activateusr.php?usrid=22&id2=114058f5e |
wobei id2 irgendwas ist, was generiert wurde. Das verschickst du an den User und speicherst es ab. Damit stellst du sicher, dass du den User wirklich nur über den Aktivierungslink aktivieren kannst. Beim Generieren solltest du Zufallswerte mit einfließen lassen, denn bloße security by obscurity ist immer unangebracht, da sich ja jeder Zeit nehmen kann, den Algorithmus zu knacken (und wie schnell das geht, kannst du leicht sehen, wenn du mal schaust, wie oft Premiere in letzter Zeit geknackt wurde). usrid ist dann die ID des Users, der aktiviert wird. Die Werte kannst du auslesen mit
C#-Quelltext 1: 2: 3: 4:
| <?php $usrid = $_GET["usrid"]; $id2 = $_GET["id2"]; ?> |
|
|
maier1990
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Do 18.02.10 17:51
Ok Dankeschön an alle die Soviel geduld mit mir hatten ^^
--- Moderiert von Narses: Beiträge zusammengefasst---
ich bins nochmal
hat doch nich so geklappt
wollte es so machen das wen ein user seine daten bei login eingibt
und auf login button klickt das die daten über php gesenddet werden und geprüft ob sie in de r mysql db da sind wen ja dan soll er sich einloggen können
Ich dacht mir ich sende die daten genauso wie beim registrieren ans php script
und mach mir nur anders php script des die db durchsucht
aber wen ein ok zurück kommt von db das user da is wie nimm ih des wieder zurück das er auch eingelogg wird??
Hier mein php code:
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| <?php include("config.php"); $username = $user_login; $passwort = md5($user_pw); $result = mysql_query("SELECT passwort FROM scriptmaker_users WHERE username='".$username."'"); $row = sql_fetchrow($result) if ($row["passwort"] != $passwort) { echo("Fehler beim Login"); } else { echo("Erfolgreich Eingelogt"); } ?> |
|
|
Dieses Thema ist gesperrt, Du kannst keine Beiträge editieren oder beantworten.
Das Thema wurde von einem Team-Mitglied geschlossen. Wenn du mit der Schließung des Themas nicht einverstanden bist, kontaktiere bitte das Team.
|
|