php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > SQL / Datenbanken
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 13-02-2005, 13:48
Zeroskill
 Newbie
Links : Onlinestatus : Zeroskill ist offline
Registriert seit: Feb 2005
Beiträge: 21
Zeroskill ist zur Zeit noch ein unbeschriebenes Blatt
Zeroskill eine Nachricht über ICQ schicken
Question Problem mit SQL Befehl in PHP

Hi leute!
ich bin neu hier und möchte gleich mal erwähnen das ich kaum ahnung von PHP oder SQL hab und bitte deshalb um euer Verständniss.
Ich habe allerdings schon einige erfahrung mit C++ und habe festgestellt PHP is nicht viel anders.

Zu meinem Problem:
Ich muss eine Datenbankanwendung mit Webinterface machen und habe schon beim Login prozess schwierigkeiten. Das script sollte nachsehen ob Name und PW stimmen. Dann ein cookie setzen und auf framesite.htm weiterleiten. fals der user nicht stimmt oder das PW soll ein entsprechender Fehler ausgegeben werden (User nicht gefunden oder PW ist falsch)

Datenbank:
Login_tab:
User_ID: int, auto incement
Name: text
PW: text
Admin: int (0 oder 1 für FALSE oder TRUE)

PHP Code:

connect_sql.inc :
PHP-Code:
<?
$IP 
"localhost";
$User "*****";
$PW "*********";
$db mysql_connect("$IP","$User","$PW") || die("MySQL konnte nicht geoeffnet werden");
mysql_select_db("zeiterfassung") || die("Die Datenbank Zeiterfassung konnte nicht geoeffnet werden");
?>
Login.php :
PHP-Code:
<?
include("connect_sql.inc");

extract($HTTP_POST_VARS);
$username $HTTP_POST_VARS["username"];
$password $HTTP_POST_VARS["password"];

$sql "SELECT * FROM login_tab WHERE Name ='$username' AND PW ='$password' ";
$result mysql_query($sql) || die("SQL Querry Fehlgeschlagen");
$row mysql_fetch_array($result) || die("Reihenermittlung fehlgeschlagen"); 

If(
mysql_num_rows($result) >= 1)
{
$UNr $row["UNr"];
setcookie("Usercookie",$UNr);
echo 
"<meta http-equiv=\"refresh\" content=\"1;
URL=framesite.htm\">"
;
}
else
{
echo 
"User nicht gefunden!";
}
?>
Fehlermeldung:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\FoxServ\www\Login.php on line 10
Reihenermittlung fehlgeschlagen


Ich bedanke mich schon mal im Vorraus und hoffe ihr könnt mir weiterhelfen
__________________
Nicht der,
der ständig Fragen stellt ist dumm,
sondern der,
der nichts gegen seine Unwissenheit tut.

Geändert von Zeroskill (17-02-2005 um 11:58 Uhr)
Mit Zitat antworten
freelancermap.de - IT Projektvermittlung für Selbständige und Freiberufler
  #2 (permalink)  
Alt 13-02-2005, 13:53
Zeroskill
 Newbie
Links : Onlinestatus : Zeroskill ist offline
Registriert seit: Feb 2005
Beiträge: 21
Zeroskill ist zur Zeit noch ein unbeschriebenes Blatt
Zeroskill eine Nachricht über ICQ schicken
Exclamation Foxserv

ach was ich vergessen hab ich verwende Foxserv^^
__________________
Nicht der,
der ständig Fragen stellt ist dumm,
sondern der,
der nichts gegen seine Unwissenheit tut.
Mit Zitat antworten
  #3 (permalink)  
Alt 13-02-2005, 13:56
jochenj
 Senior Member
Links : Onlinestatus : jochenj ist offline
Registriert seit: Oct 2002
Ort: Maikammer
Beiträge: 546
jochenj ist zur Zeit noch ein unbeschriebenes Blatt
Standard

willkommen am board zeroskill.

1. bitte: benutze bitte die php-tags beim posten von phpcode
2. bitte: benutze anstatt deine eigenen fehlermeldungen bitte "or die (mysql_error());" um fehlermeldugnen der datenbank angezeigt zu bekommen.
3. las dir zum debuggen deine variablen ausgeben. "echo $sql;" ....
4. steht das gesuchte überhaupt in der datenbank?

gruß
jochen
Mit Zitat antworten
  #4 (permalink)  
Alt 13-02-2005, 13:59
derHund
 PHP Master
Links : Onlinestatus : derHund ist offline
Registriert seit: Aug 2003
Ort: Hundehütte
Beiträge: 5.293
derHund ist zur Zeit noch ein unbeschriebenes Blatt
Standard

PHP-Code:
$sql "SELECT * FROM login_tab WHERE Name ='$username' AND PW ='$password' ";
$result mysql_query($sql) || die("SQL Querry Fehlgeschlagen");
$row mysql_fetch_array($result) || die("Reihenermittlung fehlgeschlagen");

If(
mysql_num_rows($result) >= 1
wenn du nur feststellen willst, ob name und pass richtig sind, solltest du die zeile mit fetch_array weglassen.
__________________
Die Zeit hat ihre Kinder längst gefressen
Mit Zitat antworten
  #5 (permalink)  
Alt 13-02-2005, 14:44
Zeroskill
 Newbie
Links : Onlinestatus : Zeroskill ist offline
Registriert seit: Feb 2005
Beiträge: 21
Zeroskill ist zur Zeit noch ein unbeschriebenes Blatt
Zeroskill eine Nachricht über ICQ schicken
Standard

habe nun die zeilen in der datei Login.php abgeändert bzw eingefügt:
PHP-Code:
<?
$sql 
"SELECT * FROM login_tab WHERE Name ='$username' AND PW ='$password' ";
echo 
$sql;
$result mysql_query($sql) || die(mysql_error());
echo 
$result;
$row mysql_fetch_array($result) || die(mysql_error());       //line 12
echo $row;
?>
und bekomme nun diesen fehler(bzw variablen ausgabe):

SELECT * FROM login_tab WHERE Name ='admin' AND PW ='' 1
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\FoxServ\www\Login.php on line 12
__________________
Nicht der,
der ständig Fragen stellt ist dumm,
sondern der,
der nichts gegen seine Unwissenheit tut.

Geändert von Zeroskill (17-02-2005 um 11:58 Uhr)
Mit Zitat antworten
  #6 (permalink)  
Alt 13-02-2005, 14:45
Zeroskill
 Newbie
Links : Onlinestatus : Zeroskill ist offline
Registriert seit: Feb 2005
Beiträge: 21
Zeroskill ist zur Zeit noch ein unbeschriebenes Blatt
Zeroskill eine Nachricht über ICQ schicken
Standard

Zitat:
Original geschrieben von derHund
PHP-Code:
$sql "SELECT * FROM login_tab WHERE Name ='$username' AND PW ='$password' ";
$result mysql_query($sql) || die("SQL Querry Fehlgeschlagen");
$row mysql_fetch_array($result) || die("Reihenermittlung fehlgeschlagen");

If(
mysql_num_rows($result) >= 1
wenn du nur feststellen willst, ob name und pass richtig sind, solltest du die zeile mit fetch_array weglassen.
ich brauche $row aber fürs cookie setzen
__________________
Nicht der,
der ständig Fragen stellt ist dumm,
sondern der,
der nichts gegen seine Unwissenheit tut.
Mit Zitat antworten
  #7 (permalink)  
Alt 13-02-2005, 15:41
Zeroskill
 Newbie
Links : Onlinestatus : Zeroskill ist offline
Registriert seit: Feb 2005
Beiträge: 21
Zeroskill ist zur Zeit noch ein unbeschriebenes Blatt
Zeroskill eine Nachricht über ICQ schicken
Standard

danke für eure hilfe, ich habe das problem nun gelöst.
__________________
Nicht der,
der ständig Fragen stellt ist dumm,
sondern der,
der nichts gegen seine Unwissenheit tut.
Mit Zitat antworten
  #8 (permalink)  
Alt 13-02-2005, 16:11
derHund
 PHP Master
Links : Onlinestatus : derHund ist offline
Registriert seit: Aug 2003
Ort: Hundehütte
Beiträge: 5.293
derHund ist zur Zeit noch ein unbeschriebenes Blatt
Standard

danke, daß du die lösung gleich mit hingeschrieben hast.

hol dir eben dein array nur, wenn auch wirklich ein ergebnis zurückkam.
__________________
Die Zeit hat ihre Kinder längst gefressen
Mit Zitat antworten
  #9 (permalink)  
Alt 13-02-2005, 17:59
Zeroskill
 Newbie
Links : Onlinestatus : Zeroskill ist offline
Registriert seit: Feb 2005
Beiträge: 21
Zeroskill ist zur Zeit noch ein unbeschriebenes Blatt
Zeroskill eine Nachricht über ICQ schicken
Standard

Damit auch alle anderen von der Lösung profitieren können und um noch eine frage zu stellen hier meine aktuelle Login.php

PHP-Code:
<?
include("connect_sql.inc");
extract($HTTP_POST_VARS);
$HTTP_POST_VARS["username"];
$HTTP_POST_VARS["password"];
$password md5($password);
$sql "SELECT * FROM login_tab WHERE Name ='$username'";
$result mysql_query($sql);
$row mysql_fetch_array($result);

If(
mysql_num_rows($result) >= 1)
{
    If(
$row['PW'] == $password)
    {
        
$UNr $row['UNr'];
        if(
$row['Admin'] == 1)
            
setcookie("Admincookie","1");
        if(
setcookie("Usercookie",$UNr)==FALSE)
            echo 
"Fehler beim erstellen des cookies";
        echo 
"<meta http-equiv=\"refresh\" content=\"1;
        URL=framesite.htm\">"
;
    }
    else
    {
        echo 
"Falsches Passwort eingegeben";
    }
}
else
{
    echo 
"User nicht gefunden!";
}
?>

<body bgcolor="#ccdddd">
</body>
__________________
Nicht der,
der ständig Fragen stellt ist dumm,
sondern der,
der nichts gegen seine Unwissenheit tut.

Geändert von Zeroskill (17-02-2005 um 11:58 Uhr)
Mit Zitat antworten
  #10 (permalink)  
Alt 13-02-2005, 18:03
Zeroskill
 Newbie
Links : Onlinestatus : Zeroskill ist offline
Registriert seit: Feb 2005
Beiträge: 21
Zeroskill ist zur Zeit noch ein unbeschriebenes Blatt
Zeroskill eine Nachricht über ICQ schicken
Standard

So aber ich kenn mich gar nicht mit Cookies aus und will aber auf den nächsten seiten noch die UNr abfragen. Außerdem brauch ich das Admincookie um abzufragen ob der User ein admin ist. Leider haben die cookies wenn ich sie auf der nächsten seite aufrufen will scheinbar keinen inhalt.
Hier der Code der den inhalt der cookies ausgeben sollte:
PHP-Code:
<?
echo "UserID: ";
echo 
$_cookie['Usercookie'];
?>
Aber neben UserID: wird nichts ausgeben. Vieleicht kann mir ja einer ganz genau erklären wie das mit cookies und Sessions so funzt, weil ich hab echt keine ahnung^^
__________________
Nicht der,
der ständig Fragen stellt ist dumm,
sondern der,
der nichts gegen seine Unwissenheit tut.

Geändert von Zeroskill (17-02-2005 um 11:59 Uhr)
Mit Zitat antworten
  #11 (permalink)  
Alt 13-02-2005, 18:39
derHund
 PHP Master
Links : Onlinestatus : derHund ist offline
Registriert seit: Aug 2003
Ort: Hundehütte
Beiträge: 5.293
derHund ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ja, aber erst, wenn du anfängst, die php-tags des forums zu verwenden.

laß dir halt mittels print_r den inhalt von $_COOKIE ausgeben.
__________________
Die Zeit hat ihre Kinder längst gefressen
Mit Zitat antworten
  #12 (permalink)  
Alt 17-02-2005, 11:54
Zeroskill
 Newbie
Links : Onlinestatus : Zeroskill ist offline
Registriert seit: Feb 2005
Beiträge: 21
Zeroskill ist zur Zeit noch ein unbeschriebenes Blatt
Zeroskill eine Nachricht über ICQ schicken
Standard

wie meinst du das mit php tags des forums?
ich verwende ja die tags von php <? und ?>
wenn ich den inhalt mittels print_r den inhalt von $_COOKIE ausgebe steht da nix.
__________________
Nicht der,
der ständig Fragen stellt ist dumm,
sondern der,
der nichts gegen seine Unwissenheit tut.
Mit Zitat antworten
  #13 (permalink)  
Alt 17-02-2005, 11:59
Zeroskill
 Newbie
Links : Onlinestatus : Zeroskill ist offline
Registriert seit: Feb 2005
Beiträge: 21
Zeroskill ist zur Zeit noch ein unbeschriebenes Blatt
Zeroskill eine Nachricht über ICQ schicken
Standard

Zitat:
Original geschrieben von derHund
ja, aber erst, wenn du anfängst, die php-tags des forums zu verwenden.

laß dir halt mittels print_r den inhalt von $_COOKIE ausgeben.
hab glaub ich gefunden was du gemeint hast, und hab meine beiträge editiert. kann ich jetzt auf hilfe hoffen?
__________________
Nicht der,
der ständig Fragen stellt ist dumm,
sondern der,
der nichts gegen seine Unwissenheit tut.
Mit Zitat antworten
  #14 (permalink)  
Alt 17-02-2005, 12:00
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von Zeroskill
wie meinst du das mit php tags des forums?
http://www.php-resource.de/forum/sho...threadid=50454
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #15 (permalink)  
Alt 17-02-2005, 20:54
Zeroskill
 Newbie
Links : Onlinestatus : Zeroskill ist offline
Registriert seit: Feb 2005
Beiträge: 21
Zeroskill ist zur Zeit noch ein unbeschriebenes Blatt
Zeroskill eine Nachricht über ICQ schicken
Standard

So hab das Problem nun gelöst und weiß was ich falsch gemacht hatte....

ich hatte $_COOKIE bzw $_SESSION immer klein geschrieben (also $_cookie und $_session) und deswegen hatte php die werte nur als lokale variablen abgespeicher und so kann das ja nicht funzten ^^

Also da sieht man mal wieder wie Noobig man sein kann ....
__________________
Nicht der,
der ständig Fragen stellt ist dumm,
sondern der,
der nichts gegen seine Unwissenheit tut.
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

PHP Marktplatz-Software
PHP Marktplatz-SoftwareEs hat sich viel getan! Die neue Version 7.5.9 unserer PHP Marktplatz-Software ebiz-trader steht ab sofort zur Verfügung.

28.10.2019 | Berni

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni


 

Aktuelle PHP Scripte

SMT

Server Monitoring & Management Tool Das SMT wurde von einem Administrator für Administratoren entwickelt, es vereinfacht den Alltag in der klassischen Administration und Verwaltung. Mit dem SMT kannst Du alle Deine Server & Dienste verwalten und überwach

04.09.2020 palle_1977 | Kategorie: PHP
numaeks Web-Farbmixer

Die RGB-Farben lassen sich hier auf unterschiedliche Weise mischen. Zur Einstellung werden auch die Dreh- und Schieberegler mit Canvas verwendet. Gespeichert werden die Farben in einem Cookie.

04.09.2020 numaek | Kategorie: JAVASCRIPT/ Tools
phplinX-Erotikportal 4 ansehen phplinX-Erotikportal 4

Erweiterbares Portal speziell für Erotik mit den Modulen Webkatalog, Bannermanagement und Kleinanzeigenmarkt. Sämtliche Module können über einen einzigen Adminbereich verwaltet werden.

18.06.2020 Cosinus14 | Kategorie: PHP/ Anzeigenmarkt
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 06:53 Uhr.