von PHP seite auf Datenbank connecten !

Crazy_down

Erfahrenes Mitglied
Hi ihr, ich bin mir nicht sicher ob es hier her oder in MySQL gehört. Naja sagt mir einfach bescheid. Also ich habe eine index.php von der ich auf eine DB connecten will.
Kurzer quelltext teil:


<td height="119" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0" class="login">
<!--DWLayoutTable-->
<tr>
<form name="form1" method="post" action="login.php">
<td width="13" height="16"></td>
<td width="58"></td>
<td width="21"></td>
<td width="10"></td>
<td width="79"></td>
<td width="16"></td>
<td width="24"></td>
</tr>
<tr>
<td height="9"></td>
<td></td>
<td></td>
<td colspan="3" rowspan="2" valign="top"> <div align="left">
<input name="nickname" type="text" size="15">
</div></td>
<td></td>
</tr>
<tr>
<td height="13"></td>
<td valign="top">Login</td>
<td></td>
<td></td>
</tr>
<!--DWLayoutTable-->
<tr>
<td height="13"></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td height="8"></td>
<td></td>
<td></td>
<td colspan="3" rowspan="2" valign="top"> <div align="left">
<input name="kennwort" type="Password" size="15">


Das ist der Quellcode teil des Logins. Also ich lade die login.php und das sind die beiden felder in die Nickname und Passwort eingetragen wird.

Jetzt die Login.php

<?php
// Session starten
session_start ();

// Datenbankverbindung aufbauen
//verbindung zur SQL DB
mysql_connect() or die("Verbindung wurde nicht hergestellt") ;

mysql_select_db("DB-Name") or die ("blabla");

"lfdnr, name, vorname, email, nickname".
"FROM DB-Name".
"users ".
"WHERE ".
"(nickname like '".$_REQUEST["nickname"]."') AND ".
"(kennwort = '".md5 ($_REQUEST["kennwort"])."')";

$result = mysql_query ($sql);
if (mysql_num_rows ($result) > 0)
{
// Benutzerdaten in ein Array auslesen.
$data = mysql_fetch_array ($result);

// Sessionvariablen erstellen und registrieren
$_SESSION["user_lfdnr"] = $data["lfdnr"];
$_SESSION["user_nickname"] = $data["nickname"];
$_SESSION["user_kennwort"] = $data["kennwort"];
$_SESSION["user_email"] = $data["email"];
$_SESSION["user_eintrag"] = $data["eintrag"];
$_SESSION["user_datum"] = $data["datum"];

header ("Location: index1.php");
}
else
{
header ("Location: index.php?fehler=1");
}
?>


Also so soll er connecten, wenn NIckname und kennwort mit dem aus der DB übereinstimmen, soll er index.php laden.
Das Problem: am Anfang war immer, das falsche Daten eingegeben kam, das heißt die abfrage war falsch. das habe ich dann hin bekommen, doch nun, prüft er nicht mehr ob Nickname und Kennwort stimmen. Also irgendwo is das nen Fehler und ich weiß nicht wo.
vielleicht könnt ihr mir helfen !
 
Öhm, kann es sein, dass du die Query-Zeichenkette keiner Variablen zuweist (müsste das nicht ein Parse Error zur Folge haben?)?

PHP:
"lfdnr, name, vorname, email, nickname".
"FROM DB-Name".
"users ".
"WHERE ".
"(nickname like '".$_REQUEST["nickname"]."') AND ".
"(kennwort = '".md5 ($_REQUEST["kennwort"])."')";

//sollte so lauten:

$sql = "lfdnr, name, vorname, email, nickname".
"FROM DB-Name".
"users ".
"WHERE ".
"(nickname like '".$_REQUEST["nickname"]."') AND ".
"(kennwort = '".md5 ($_REQUEST["kennwort"])."')";
 
Also ich habe es jetzt so gemacht !



Code:
 $sql = "lfdnr, nickname, kennwort, email, nickname".
"FROM DB-Name".
"users ".
 "WHERE nickname =$nickname AND kennwort = $kennwort";
           echo $sql;
$result = mysql_query ($sql);
if (mysql_num_rows ($result) > 0)


Das echo $sql ist nur für mich, damit ich sehe wie weit er kommt !
Das Problem ist, das er immer das macht, was er machen soll wenn die zugangsdaten falsch sind ! also auf die error page gehen ! die daten sind aber korrekt also stimmt was mit der abfrage nicht nehm ich an !
 
Jetzt mußt Du der DB eigentlich nur noch sagen was sie tun soll, und zwar ganz am Anfang vom Statement ;)

kleiner Tip:
SELECT
 
JEtzt sieht das ganze so aus :D

$sql = "SELECT * from users WHERE nickname = $nickname AND kennwort = $kennwort";


so er sagt aber imemr das meine daten ungültig sind !
 
Habs endlich

so siehts aus:
$sql= "SELECT * from users WHERE nickname='$nickname' AND kennwort='$kennwort'";

die ' '
waren es =)
das muss mir doch mal einer sagen !
yeah. aber ich werd euch sicher weiter nerven weil das nicht der einzige DB zugriff werden soll !

thx for help !
 
So, ich schreibe jetzt über ein Formular feld daten in 2 DBs,

wenn ich dann auf die Seite 2 weitergeleitet werde, wird in dem fall der nickname mit übernommen und ich kann ihn ausgeben. Aber ich will dann auf einen weitern link und da ist die variable nickname weg. Aber ich will diese doch ändern und deswegen muss ich sie auslesen aber das funkt irgendwie nict. Habt ihr ne idee ?
 
Ich habe gerade von jemand erfahren das man das mit einer sogennanten
"Session Variable" machen könnte, da man da imerm drauf zugreifen könnte.
Wie funktioniert das ?
 
Zurück