php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 05.08.2004, 14:34  
Erfahrener Benutzer
 
Registriert seit: 17.05.2004
Beiträge: 286
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, 14:42  
Gast
 
Beiträge: n/a
Standard

mysql_error() ?
 
Alt 05.08.2004, 14: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, 15:00  
Erfahrener Benutzer
 
Registriert seit: 17.05.2004
Beiträge: 286
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, 15:26  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
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, 15:39  
Erfahrener Benutzer
 
Registriert seit: 17.05.2004
Beiträge: 286
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, 15:54  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
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, 15: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, 15:57  
Erfahrener Benutzer
 
Registriert seit: 17.05.2004
Beiträge: 286
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
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

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

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

Alle Zeitangaben in WEZ +2. Es ist jetzt 05:36 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, 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.