Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
30.12.2006, 18:58
Tino



Hi ich schreibe ein Script in dem ich eine testen will ob eine Variable schon im Sql server existiert

Quellcode:.........
$name ="test1";

$sql = "SELECT
               name
        
            FROM
                user
            ORDER BY
                name DESC;";

    $re = mysql_query($sql) OR die(mysql_error());

    echo "User:<br>\n";
    if(mysql_num_rows($re)) {
        while($row = mysql_fetch_assoc($re)) {
            echo $row['name']."<br>";
        $vergleich = $row['name'];
        if ( $name == $vergleich )
{
echo "die gagabrezn existriert schon";
die();
}
else
{
}
        }
    } else {
        echo "Es sind keine User verhanden<br />\n";
    }

........

--

RIP tino579 ^^

zum Seitenanfang zum Seitenende Profil || Suche
001
30.12.2006, 19:04
Megge



zunächst mal höchst unsauberer Code, aber das mal nebenbei.

Mit ein par Klammer kannst du das Problem lösen.
Wenn du deinen Code nochmals korrekt formatiert reinstellst, kann ich dir einen Vorschlag machen. Sosnt komm ich mit deiner if-else Wurschtelei kaum klar.

--

zum Seitenanfang zum Seitenende Profil || Suche
002
30.12.2006, 19:18
Tino



Quellcode:.........
$name ="test1";

$sql = "SELECT
               name
            FROM
                user
            ORDER BY
                name DESC;";

    $re = mysql_query($sql) OR die(mysql_error());

    echo "User:<br>\n";
    if(mysql_num_rows($re))
    {
        while($row = mysql_fetch_assoc($re))
        {
            echo $row['name']."<br>";
      
            $vergleich = $row['name'];
      
            if ( $name == $vergleich )
            {
                echo "die gagabrezn existriert schon";
                die();
            }
            else
            {
            }
        }
    }
    else
    {
        echo "Es sind keine User verhanden<br />\n";
    }

........
thx

--

RIP tino579 ^^


Dieser Beitrag wurde am 30.12.2006 um 19:21 von tino579 bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
003
30.12.2006, 19:32
Megge



Und wo genau liegt jetzt das Problem?

--

zum Seitenanfang zum Seitenende Profil || Suche
004
30.12.2006, 19:36
Tino



Das er ausgibt:
user:
test1
test2
test3

und auf meine If anweisung scheisst

Quellcode:if ( $name == $vergleich )
            {
                echo "die gagabrezn existriert schon";
                die();
            }
            else
            {
            }

--

RIP tino579 ^^

zum Seitenanfang zum Seitenende Profil || Suche
005
30.12.2006, 19:51
Heini



Versuch mal folgenden SQL-Befehl:
Quellcode:SELECT * FROM user WHERE name='$name' LIMIT 1

--

.


Dieser Beitrag wurde am 30.12.2006 um 19:52 von Heini bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
006
30.12.2006, 19:56
Tino



schon mal ein fortschritt

jetzt gibts er den eintrag aus dem sql server aus der in der variable $name steht
nur leider wissen wir nicht wie wir damit weiter arbeiten können.

wie bräuchten ne true/false etc... variable um damit weiterarbeiten zu können

aber thx

EDIT:

Ok so funzt es danke an alle

--

RIP tino579 ^^


Dieser Beitrag wurde am 30.12.2006 um 20:32 von tino579 bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
007
30.12.2006, 20:37
Megge



Logischer Fehler.

Wenn du als Datenbankeintrag die Namen
Quellcode:test1
test2
test3
hast und du abfallend sortierst (DESC), so liest er zuerst test3 aus, dann test2, dannach test1. Alle drei werden per echo() geschrieben. Erst dannach kommt bei dir die Abfrage, ob test1 auch dabei ist. Anschliessend bricht er folgerichtig ab. Ob er
Quellcode:echo "die gagabrezn existriert schon"; ausführst, wäre hierbei aber noch interessant zu wissen.

Für's erste: mach den IF-Block vor den echo-Block und sortier die SQL "ASC".

--

zum Seitenanfang zum Seitenende Profil || Suche
008
31.12.2006, 19:44
Tino



So neues Problem:

Wie arbeiten mit einem Contensystem also immer die gleiche index.php in der ein neuer inhalt geladen wird : index.php?site=login

Das funtz so auch das Problem ist aber das wenn wir die login php laden wir diesen Error bekommen:

Quellcode:Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at D:\Programme\xampp\htdocs\BROWSERGAME\index.php:9) in D:\Programme\xampp\htdocs\BROWSERGAME\login.php on line 5 Wir können die Fehlermeldung unterbinden wenn wir vor die besagte Function ein "@" setzten.

Wenn ich mich im FIrefox nun einlogge bleibe ich auch eingeloggt egal was ich tue bis ich die logout.php aufrufe.

Der Internet Explorer kommt mit der Sache leider nicht so gut zurecht.
Ich kann mich zwar einloggen doch bleibe nicht eingeloggt obwohl die UsserSession Im Sql Server nicht wieder Auf Null gesetzt wird.

was Können wir tuen?
Wir vermuten das es damit zu tun hat das wir den eigentlichen Login auch im Content durchführen ::::
Quellcode:Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent

--

RIP tino579 ^^


Dieser Beitrag wurde am 31.12.2006 um 19:44 von tino579 bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
009
31.12.2006, 20:48
Megge



du hast einen output, bevor du die session startest..

z.B. ein echo, ein print, ein sonstwas oder ein fehler...

--

zum Seitenanfang zum Seitenende Profil || Suche
010
01.01.2007, 02:13
Tino



Das Problem haben wir gelöst indem wie das Loginfile in 2 bereiche geteilt haben eben einen mit dem Formular und einen der den login vornimmt und extern ausgeführt wird.. ok klappt :)

thx

--

RIP tino579 ^^

zum Seitenanfang zum Seitenende Profil || Suche
011
01.01.2007, 23:43
Tino



Neues Problem

Wir würden gerne aus einer SQL-Datenbank den Namen (der Person die gerade diese Site ansieht) auslesen und diesen in einer Variable speichern. Aber es funzt einfach nicht. Wir probieren es bisher damit:
PHP-Quellcode:<?php
$sql
="SELECT UserName
    FROM users
    WHERE UserSession='"
.session_id()."'
    LIMIT 1"
;
    
$resultmysql_query($sql);
?>
Wenn ich dann die die Variable $result ausgebe, gibt er mir allerdings das hier aus:Resource id #8

Ich will aber eben den Namen dieser Person......
Wo ist das Problem?
Danke im Vorraus.

--

RIP tino579 ^^

zum Seitenanfang zum Seitenende Profil || Suche
012
02.01.2007, 00:39
Tino



PHP-Quellcode:<?php
$sql
="SELECT UserName
    FROM users
    WHERE UserSession='"
.session_id()."'
    LIMIT 1"
;
     
$re mysql_query($sql) OR die(mysql_error());

   
    if(
mysql_num_rows($re))
    {
        while(
$row mysql_fetch_assoc($re))
     echo    
$row['UserName'];
        

        
    }
    else
    {
       
    }
?>
so gehts thx

--

RIP tino579 ^^

zum Seitenanfang zum Seitenende Profil || Suche
013
02.01.2007, 14:43
Heini



Nur so nebenbei... Die while-Schleife ist überflüssig, da sowieso nur ein Eintrag von der SQL-Datenbank abgerufen wird ("LIMIT 1").

€: Kann also auch so aussehen:
PHP-Quellcode:<?php
$sql
="SELECT UserName
    FROM users
    WHERE UserSession='"
.session_id()."'
    LIMIT 1"
;
     
$re mysql_query($sql) OR die(mysql_error());

   
    if(
mysql_num_rows($re))
    {
     
$row mysql_fetch_assoc($re);
     echo 
$row['UserName'];
     
//optional die Variable löschen 
     //unset($row);   

        
    
}
    else
    {
       
    }
?>

--

.


Dieser Beitrag wurde am 02.01.2007 um 14:48 von Heini bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
014
02.01.2007, 20:02
Tino



is logisch thx

--

RIP tino579 ^^

zum Seitenanfang zum Seitenende Profil || Suche
015
06.01.2007, 19:41
Tino



Hi leute.

Ganz blöde Frage aber sagt mal wie macht es das THW-Board und jedes andere Forum auch das es user nach einer gewissen Zeit ausloggt.

Mein erster gedanke war das der Sql - server nach einer Zeit automatisch die Session löscht aber ich denk mal da lieg ich falsch.

thx

--

RIP tino579 ^^

zum Seitenanfang zum Seitenende Profil || Suche
016
06.01.2007, 20:31
K-Putt



Das ThWBoard loggt User nach einer Gewissen Zeit aus? Das wär mir in all den Jahren nie aufgefallen.

Was du machen kannst, ist dem Cookie eine begrenzte Lebensdauer zu geben - ohne Cookie dann eben kein automatischer Login mehr.

PS: Ich halte es für mich richtig, gleich mit einem Browsergame zu beginnen, wenn es schon bei simpelsten Grundlagen scheitert.

--

Rambo Engineer @ Drippy's 2fort - finest TFC 1.5 || Bild Upload || The world's most advanced open source database

zum Seitenanfang zum Seitenende Profil || Suche
017
06.01.2007, 21:04
Tino



Ok hab es jetzt geschafft.

Ach und ich mache das natürlich nicht alleine, ich war nur beauftragt rauszufinden wie das funzt :).^^

--

RIP tino579 ^^

zum Seitenanfang zum Seitenende Profil || Suche