myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Zurück   myGully.com > Webmaster Talk > Entwicklung & Programmierung
Seite neu laden

PHP datenbank abfrage einbauen?

Willkommen

myGully

Links

Forum

 
Antwort
Themen-Optionen Ansicht
Ungelesen 30.08.11, 16:11   #1
tommy99
Gullyaner
 
Benutzerbild von tommy99
 
Registriert seit: Aug 2009
Beiträge: 353
Bedankt: 277
tommy99 ist noch neu hier! | 0 Respekt Punkte
Standard PHP datenbank abfrage einbauen?

Hallo Leute.

Ich möchte gerne einen Geschützten bereich auf meiner homepage erstellen.Dazu habe ich folgendes gefunden : [ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]

Dort steht das man neben einer Festlegung der Login-Daten im Skript diese auch über eine datenbank anlegen kann und auslesen kann damit man mehrere benutzer hat.

Wie kann ich das jetzt in diese Skript integrieren?Von Datenbank abfragen habe ich fast keine ahnung.Habe lediglich vor geraumer zeit mal einwenig damit rumexpereimentiert.


login.php

PHP-Code:
<?php
     
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
      
session_start();

      
$username $_POST['username'];
      
$passwort $_POST['passwort'];

      
$hostname $_SERVER['HTTP_HOST'];
      
$path dirname($_SERVER['PHP_SELF']);

      
// Benutzername und Passwort werden überprüft
      
if ($username == 'benjamin' && $passwort == 'geheim') {
       
$_SESSION['angemeldet'] = true;

       
// Weiterleitung zur geschützten Startseite
       
if ($_SERVER['SERVER_PROTOCOL'] == 'HTTP/1.1') {
        if (
php_sapi_name() == 'cgi') {
         
header('Status: 303 See Other');
         }
        else {
         
header('HTTP/1.1 303 See Other');
         }
        }

       
header('Location: http://'.$hostname.($path == '/' '' $path).'/index.php');
       exit;
       }
      }
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
 <head>
  <title>Geschützter Bereich</title>
 </head>
 <body>
  <form action="login.php" method="post">
   Username: <input type="text" name="username" /><br />
   Passwort: <input type="password" name="passwort" /><br />
   <input type="submit" value="Anmelden" />
  </form>
 </body>
</html>
tommy99 ist offline   Mit Zitat antworten
Ungelesen 30.08.11, 16:56   #2
sirleo
is poking \\Device\\Beep
 
Registriert seit: May 2011
Beiträge: 202
Bedankt: 84
sirleo ist noch neu hier! | 0 Respekt Punkte
Standard

Du bist:
a) unbelehrbar.
sagst zwar das du erstmal eine sache gut lernen willst,machst es aber nicht
b) lernresistent.
denn fragen dieser Art hast du hier schon zu hauf gestellt.
c) faul weil kein Fortschritt deinerseits zu erkennen ist

Und ich könnte noch einiges aufzählen.
Also ich helfe dir Nuss nicht mehr, und ich bin mit sicherheit nicht der Einzige dem es so geht.

Sirleo
__________________
Meine Rechtschreibfehler dürft ihr gerne behalten.
------------------------------------------------------------
Füttere keine Trolle!->Also unterstütz auch nicht Appel.
sirleo ist offline   Mit Zitat antworten
Ungelesen 31.08.11, 21:23   #3
djjayt
Nemo
 
Benutzerbild von djjayt
 
Registriert seit: Oct 2009
Beiträge: 6
Bedankt: 337
djjayt ist noch neu hier! | 0 Respekt Punkte
Standard

Hallo,
damit andere Nutzer etwas davon haben versuche ich mich an einer Antwort.

Zuerst die Verbindung mit der Datenbank aufbauen und die Tabelle anwählen, in der die Nutzernamen und Passwörter stehen:

PHP-Code:
<?php
$verbindung 
mysql_connect ("Servername",
"Nutzername""Passwort")
or die (
"keine Verbindung möglich.
 Benutzername oder Passwort ist falsch"
);[PHP]
mysql_select_db("Datenbankname_in_der_die_Nutzer_s tehen")
or die ("Die Datenbank existiert nicht.");
?>[/PHP]

Anschließend musst Du die Nutzernamen bzw Mailadressen mit dem dazugehörigen Passwort vergleichen.


PHP-Code:
<?php
$abfrage    
"SELECT * FROM tabellenname";
$ergebnis   mysql_query($abfrage);
while(
$row mysql_fetch_object($ergebnis))
   {
      
$nutzername $row->name;
      
$passwort     $row->passwort;
   }
?>
Nun musst Du lediglich die Formulardaten mit denen aus der Datenbank vergleichen und Du kannst einen Cookie oder eine Session setzen, damit der User eingeloggt bleibt.

Die passenden Tutorials findest Du hier:
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]

Lies Dir mal dieses Tutorial über MySQL durch, dann wird einiges klarer:
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]

Viel Erfolg!
djjayt ist offline   Mit Zitat antworten
Ungelesen 31.08.11, 23:23   #4
xTaifunx
Anfänger
 
Registriert seit: Feb 2011
Beiträge: 47
Bedankt: 16
xTaifunx ist noch neu hier! | 0 Respekt Punkte
Standard

?? Warum nicht gleich eine WHERE option am ende von Select einbauen und direkt nach dem entsprechenden datensatz Username und Passwort suchen lassen. Ist es mit while nicht etwas zu übertrieben alle datensätze zu durchsuchen, bis man die userdaten findet??

SELECT bla,bla,bla FROM blatabellle WHERE username="$username" AND passwort="$passwort"

Oder übersehe ich etwas.
xTaifunx ist offline   Mit Zitat antworten
Ungelesen 01.09.11, 06:33   #5
Epeos
Ist öfter hier
 
Benutzerbild von Epeos
 
Registriert seit: Nov 2010
Beiträge: 200
Bedankt: 96
Epeos ist noch neu hier! | 0 Respekt Punkte
Standard

Und bitte dran denken vor der SQL-Abfrage die eingegebenen Daten zu prüfen, sonst passiert sowas: [ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
__________________
On a long enough timeline, the survival rate for everyone drops to zero. (Fight Club)
Epeos ist offline   Mit Zitat antworten
Ungelesen 12.09.11, 00:38   #6
siegener89
Anfänger
 
Benutzerbild von siegener89
 
Registriert seit: Sep 2010
Beiträge: 23
Bedankt: 5
siegener89 ist noch neu hier! | 0 Respekt Punkte
Standard

Ist eine registrier-Funktion geplant?
Wenn nicht, guck dir mal htaccess und htpasswd an...
Das reicht dann meistens aus...
siegener89 ist offline   Mit Zitat antworten
Ungelesen 16.09.11, 21:09   #7
manta656
Profi
 
Benutzerbild von manta656
 
Registriert seit: Jan 2009
Beiträge: 1.442
Bedankt: 1.503
manta656 leckt gerne myGully Deckel in der Kanalisation! | 2541547 Respekt Punktemanta656 leckt gerne myGully Deckel in der Kanalisation! | 2541547 Respekt Punktemanta656 leckt gerne myGully Deckel in der Kanalisation! | 2541547 Respekt Punktemanta656 leckt gerne myGully Deckel in der Kanalisation! | 2541547 Respekt Punktemanta656 leckt gerne myGully Deckel in der Kanalisation! | 2541547 Respekt Punktemanta656 leckt gerne myGully Deckel in der Kanalisation! | 2541547 Respekt Punktemanta656 leckt gerne myGully Deckel in der Kanalisation! | 2541547 Respekt Punktemanta656 leckt gerne myGully Deckel in der Kanalisation! | 2541547 Respekt Punktemanta656 leckt gerne myGully Deckel in der Kanalisation! | 2541547 Respekt Punktemanta656 leckt gerne myGully Deckel in der Kanalisation! | 2541547 Respekt Punktemanta656 leckt gerne myGully Deckel in der Kanalisation! | 2541547 Respekt Punkte
Standard

kann meinem Vorposter zustimmen. mit den HTACCESS/HTPASSWD Dateien kann man auch mehrere User festlegen.
__________________
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
manta656 ist offline   Mit Zitat antworten
Ungelesen 23.09.11, 20:44   #8
lordanum
Anfänger
 
Registriert seit: Jan 2010
Beiträge: 5
Bedankt: 2
lordanum ist noch neu hier! | 0 Respekt Punkte
Standard

Zitat:
SELECT bla,bla,bla FROM blatabellle WHERE username="$username" AND passwort="$passwort"
Hier vielleicht lieber mit anonymen ?-Platzhaltern arbeiten um SQL Injections zu vermeiden.
lordanum ist offline   Mit Zitat antworten
Antwort


Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:05 Uhr.


Sitemap

().