php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2004

 
 
LinkBack Themen-Optionen
Alt 05.08.2004, 13:34  
Erfahrener Benutzer
 
Registriert seit: 17.05.2004
Beiträge: 285
c01001
Standard PHP mysql problem beim login.

Hallo, habe ein Problem wie immer. :wink:

Code
<?php session_start ();
include("db.php");

// Es werden alle Daten des Users aus der Tabelle ausgewählt, voher wird der Benutzername und das Passwort noch überprüft
$abfrage = "SELECT nick FROM benutzerdaten WHERE (username like '".$_REQUEST["nick"]."') AND (password = '".$_REQUEST["kennwort"]."') LIMIT 1";
$ergebnis = mysql_query ($abfrage);

// Wenn das einloggen erfolgreich war, werden die Sessionvariablen erstellt
if (mysql_num_rows ($ergebnis) > 0)
{
// Anschliessend wird zur Internen Seite weitergeleitet
header ("Location: false.php");
}
else
{
// Sollte das einloggen nicht erfolgreich gewesen sein, wird wieder auf das Formular zum einloggen weitergeleitet.
header ("Location: false.php");
}
?>


und ich bekomme diesen fehler?

Warning: Supplied argument is not a valid MySQL result resource in /var/www/pages/login.php on line 9

Warning: Cannot add header information - headers already sent by (output started at /var/www/pages/login.php:9) in /var/www/pages/login.php on line 17

Würde mich auf eine Antwort freuen.

Dank im Voraus.
c01001 ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 05.08.2004, 13:42  
Gast
 
Beiträge: n/a
Standard

mysql_error() ?
 
Alt 05.08.2004, 13:45  
Gast
 
Beiträge: n/a
Standard

mysql_num_rows ($ergebnis)

diese funktion hat hals übergabeparameter keine abfrage sondern eine mysql resource ->

entweder garnichts
oder die variable von mysql_connect
 
Alt 05.08.2004, 14:00  
Erfahrener Benutzer
 
Registriert seit: 17.05.2004
Beiträge: 285
c01001
Standard

was ist wenn ich das so mache...

if ($ergebnis > 0)

????
höre mir jeden vorschlag gern an. :wink:
c01001 ist offline  
Alt 05.08.2004, 14:26  
Erfahrener Benutzer
 
Registriert seit: 02.04.2008
Beiträge: 4.028
lazydog befindet sich auf einem aufstrebenden Ast
Standard

das mit mysql_num_rows($ergebnis) ist schon ok. Ergänzu mal den Code folgendermassen und sage uns, was "echo $abfrage" ausgibt:
PHP-Code:
<?php 
session_start 
();
include(
"db.php");

// Es werden alle Daten des Users aus der Tabelle ausgewählt, voher wird der Benutzername und das Passwort noch überprüft
$abfrage "SELECT nick 
     FROM benutzerdaten 
     WHERE username = '" 
$_REQUEST["nick"] . "' 
     AND password = '" 
$_REQUEST["kennwort"] . "'
     LIMIT 1"
;
echo 
"$abfrage
"
;  // Zum Testen
$ergebnis mysql_query ($abfrage) or die(msql_error());
// Wenn das einloggen erfolgreich war, werden die Sessionvariablen erstellt
if (mysql_num_rows($ergebnis) > 0))
{
    
// Anschliessend wird zur Internen Seite weitergeleitet
    
header ("Location: false.php");
}
else
{
    
// Sollte das einloggen nicht erfolgreich gewesen sein, wird wieder auf das Formular zum einloggen weitergeleitet.
    
header ("Location: false.php");
}
?>
PS. Ist die gleiche Umleitung für if- und else-Teil beabsichtigt?
__________________
Gruss
L
lazydog ist offline  
Alt 05.08.2004, 14:39  
Erfahrener Benutzer
 
Registriert seit: 17.05.2004
Beiträge: 285
c01001
Standard

nein das war ein Fehler von mir, das war mein alter code.

also zu info ergebniss ist:

SELECT nick FROM usert WHERE (nick like '') AND (passwort = '') LIMIT 1

Warning: Cannot add header information - headers already sent by (output started at /var/www/pages/login.php:6) in /var/www/pages/login.php on line 18


bin etwas durcheinander.
nick like " :wink:
c01001 ist offline  
Alt 05.08.2004, 14:54  
Erfahrener Benutzer
 
Registriert seit: 02.04.2008
Beiträge: 4.028
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Also hast du jetzt einen Header-Fehler oder einen MySQL-Fehler? Und die Klammern in
Code:
SELECT nick FROM usert WHERE (nick like '') AND (passwort = '') LIMIT 1
sind überflüssig und like ohne Wildcards macht auch keinen Sinn:
Code:
SELECT nick 
    FROM usert 
    WHERE nick = '' 
    AND passwort = '' 
    LIMIT 1
Aber das hat ja nichts mit dem Header-Fehler zu tun.
__________________
Gruss
L
lazydog ist offline  
Alt 05.08.2004, 14:55  
Gast
 
Beiträge: n/a
Standard

PHP-Code:
<?php
  $check 
TRUE;
//kannst auch das if dann weglassen ^^
  
if ($check)
  {

    
$query "SELECT * FROM usert WHERE nick='".$user_name."'";

//user_name hast du irgendwo eingeben lassen

    
$result mysql_query($query$connect);
    
$result mysql_fetch_array($result);

    
$uid $result['nick'];
    
$_SESSION['user_name']= $uid;

//kA, ob Du Rechte vergibst (0=gast;1-user;2-admin)

    
if ($password == $result['password'] && $result['rechte']<2)
    {
      if (
$result['rechte']==0$_SESSION['recht'] = 0;
      if (
$result['rechte']==1$_SESSION['recht'] = 1;
//für das JavaScript kannst auch Dein header nehmen, wäre nur für 2 Frames (kA, wie Du das regelst)
?>
<script type="text/javascript">
<!--
  Frame1=eval("parent."+"framename1");
  Frame2=eval("parent."+"framename2");
  Frame1.location.href = "url1";
  Frame2.location.href = "url2";
//-->
</script>
<?php
    
}
    if (
$password == $result['password'] && $result['rechte']==2)
    {
      
$_SESSION['recht'] = 2;
?>
<script type="text/javascript">
<!--
  Frame1=eval("parent."+"framename1");
  Frame2=eval("parent."+"framename2");
  Frame1.location.href = "url1";
  Frame2.location.href = "url2";
//-->
</script>
<?php
    
}
     
$check FALSE;
  }
  if(!
$check)
  {
    echo 
"

[b]Ung&uuml;ltiger Nutzername oder Passwort.[/b]"
;
  }
?>
 
Alt 05.08.2004, 14:57  
Erfahrener Benutzer
 
Registriert seit: 17.05.2004
Beiträge: 285
c01001
Standard

Danke an alle.
Habe das hinbekommen.
Fehler war wo anders, habe überhaupt nicht geseh.
Sorry und nochmals thx.
c01001 ist offline  
 


Themen-Optionen


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
MySQL Problem mit INSERT-Queries Arno Nühm Datenbanken 10 07.04.2006 15:46
Login script Problem Marian Datenbanken 8 30.03.2006 19:16
Serverumzug - Problem mit MySQL Daten [GE]ReeN Datenbanken 6 28.03.2006 16:02
Mysql / Array Problem marcels PHP Tipps 2006 10 23.03.2006 17:30
[Erledigt] MySQL Server startet nicht mehr richtig... Datenbanken 16 03.03.2006 18:40
PHP / MySQL | Login Script Problem PHP Tipps 2006 15 17.02.2006 11:26
MYSQL Problem Datenbanken 4 09.02.2006 14:14
[Erledigt] Problem mit Sonderzeichen PHP -&gt; MySQL -&gt; HTML PHP Tipps 2007 18 07.12.2005 14:23
problem mit login PHP Tipps 2005-2 11 28.10.2005 13:10
Problem beim verbindungsaufbau zum Mysql Server Datenbanken 9 27.10.2005 10:27
Problem mit IIS6 und PHPMyAdmin PHP Tipps 2005-2 4 18.07.2005 20:58
[Erledigt] mysql installations problem Datenbanken 4 16.02.2005 17:46
mit mysql und php eine datenbank erstellen? Großes Problem PHP Tipps 2004-2 1 16.12.2004 13:53
[Erledigt] problem mit login skript | mysql | cookie PHP Tipps 2004-2 13 07.12.2004 18:01
fragen zu einem Login und Zeit blabla über MySQL PHP Tipps 2004 10 12.09.2004 14:21

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
einloggen weitergeleitet

Alle Zeitangaben in WEZ +1. Es ist jetzt 04:40 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.