php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #16 (permalink)  
Alt 02-05-2009, 13:09
Skywalker031
 Registrierter Benutzer
Links : Onlinestatus : Skywalker031 ist offline
Registriert seit: Apr 2009
Ort: Kassel
Beiträge: 13
Skywalker031 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ok, das ist einleuchtend.

Dann hat also entweder derjenige der mal den Code
getippt hat, nen falschen oder verkehrten Code
verwendet um Daten aus der DB abzufragen
oder der falsche oder verkehrte Daten aus der DB liefert.
__________________
lg
Stefan
Mit Zitat antworten
  #17 (permalink)  
Alt 02-05-2009, 13:12
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.578
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von Skywalker031
Ich habe nun deinen umgeschriebenen Code
anstelle des alten ersetzt. Wenn man nun die
Seite aufruft, bekomme ich einen HTTP 500 Internen
Serverfehler angezeigt - sprich die Seite lässt sich
nicht aufrufen
Du sollst den Code anschauen und daraus lernen und nicht per Copy-Paste verwursten.
Mit Zitat antworten
  #18 (permalink)  
Alt 02-05-2009, 13:24
Skywalker031
 Registrierter Benutzer
Links : Onlinestatus : Skywalker031 ist offline
Registriert seit: Apr 2009
Ort: Kassel
Beiträge: 13
Skywalker031 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich habe mir den Code auch vorher angesehen
und versucht soweit zu verstehen.

"trim" bedeutet z.b. ein Leerzeichen am Anfang
und Ende einer Zeichenkette zu entfernen.

Das %2 hat mit der Formatierung zu tun, soweit ich
mich erinnern kann, was wiederum mit "sprintf" zu tun hat.

Ich habe im Endeffekt doch nur den alten HTML-Code
und den Start-PHP-Bereich mit deinem Code kombiniert.

So wie ich deinen Code verstanden habe, hätte es doch
gehen müssen.

Was ist jetzt nicht richtig oder wo habe ich was falsch
gemacht...
__________________
lg
Stefan
Mit Zitat antworten
  #19 (permalink)  
Alt 02-05-2009, 13:25
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.578
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Keine Ahnung, kenn ich deinen aktuellen Code?

Ich hab übrigens eine Klammer in meinem Code vergessen.
Mit Zitat antworten
  #20 (permalink)  
Alt 02-05-2009, 13:26
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

Was steht in der DB?
Welche Query wird zu DB gesendet?

Halte diese beiden Infos nebeneinander und du wirst sehen warum die DB nichts liefert.
__________________
Wir werden alle sterben
Mit Zitat antworten
  #21 (permalink)  
Alt 02-05-2009, 13:46
Skywalker031
 Registrierter Benutzer
Links : Onlinestatus : Skywalker031 ist offline
Registriert seit: Apr 2009
Ort: Kassel
Beiträge: 13
Skywalker031 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

@combie

Zitat:
Was steht in der DB? (siehe im Bildanhang)

Welche Query wird zu DB gesendet?
PHP-Code:
$user=mysql_fetch_object(mysql_query
("SELECT id, username, passwort, aktiv 
FROM benutzerdaten 
WHERE username='"
.$username."'")); 
Es soll die id, der username, das passwort und der aktiv(-stand) ausgelesen werden.

All das ist in der db auch vorhanden... oder nicht?


@h3ll

Zitat:
Keine Ahnung, kenn ich deinen aktuellen Code?

Ich hab übrigens eine Klammer in meinem Code vergessen.
meinen aktuellen Code kannst du dir hier ansehen:
link

Ich habe deinen Code nochmal durchgesehen und
habe aber an keiner Stelle eine fehlende Klammer
entdeckt. Wo soll sie denn fehlen?
Angehängte Grafiken
Dateityp: jpg db-screen.jpg (28,8 KB, 40x aufgerufen)
__________________
lg
Stefan
Mit Zitat antworten
  #22 (permalink)  
Alt 02-05-2009, 14:50
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 Skywalker031
dabei bin ich eigentlich gar nicht so schwer von Begriff... *kopfkratz*
Zitat:
Was das mit den Grundlagen angeht und den Tutorials, das hab ich mal vor langer Zeit gemacht, hat mir aber nicht wirklich geholfen.
Mit Zitat antworten
  #23 (permalink)  
Alt 02-05-2009, 15:57
Peacie
 Registrierter Benutzer
Links : Onlinestatus : Peacie ist offline
Registriert seit: Nov 2003
Beiträge: 341
Peacie ist zur Zeit noch ein unbeschriebenes Blatt
Peacie eine Nachricht über ICQ schicken Peacie eine Nachricht über AIM schicken Peacie eine Nachricht über Yahoo! schicken
Standard

Zitat:
Parse error: parse error in ... on line 70
line 70:
PHP-Code:
$result mysql_query(sprintf($sqlmysql_real_escape_string($username), md5($passwort)); 
schau dir die klammern an.... also GENAU an
wieviele funktionen öffnest du?
wieviele werden korrekt geschlossen ?
tipp: 4 auf und 3 zu
__________________
Mibau Datendesign - Online Ferienwelt
Mit Zitat antworten
  #24 (permalink)  
Alt 02-05-2009, 16:54
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

Liebster Skywalker031.....
Welches Query du senden möchtest, ist mir schon klar!
Aber welches du WIRKLICH sendest ist mir nicht klar.
Dieses welches du mir zeigst beinhaltet noch PHP Variablen. Es ist also nicht dieses welches MySQL zu sehen bekommt, sondern nur jenes welches du dem PHP überreichst.

Du sollst die IST Zustände vergleichen und nicht das was du dir wünscht.
Dass deine Wünsche nicht mit dem IST konform gehen, wissen wir alle schon.

Alle Klarheiten beseitigt?
__________________
Wir werden alle sterben

Geändert von combie (02-05-2009 um 16:57 Uhr)
Mit Zitat antworten
  #25 (permalink)  
Alt 03-05-2009, 08:04
Skywalker031
 Registrierter Benutzer
Links : Onlinestatus : Skywalker031 ist offline
Registriert seit: Apr 2009
Ort: Kassel
Beiträge: 13
Skywalker031 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

@Peacie:

hi, das mit der Klammer geht klar, habs auch sofort
geändert und siehe da, die seite lässt sich nun
problemlos öffnen.

@combie:

Diese derzeitige Abfrage stammt aus dem Code von
H3ll.

Bei diesem query

PHP-Code:
} else {
          
$sql "
              SELECT
                  id, username, passwort, aktiv
              FROM
                  benutzerdaten
              WHERE
                  username = '%s' AND passwort = '%s'
              LIMIT
                  1
          "
;
            
$result mysql_query(sprintf
            
($sqlmysql_real_escape_string
            
($username), md5($passwort))); 
hat H3ll die $sql Variable im query verwendet, warum
das wiederum versteh ich auch nicht, denn man hätte
den Inhalt von $sql auch so ins query packen können
oder?
Was ich nicht verstehe ist, das im $sql der username
und das passwort auf %2 ausgelesen wird und nicht
nach dem Inhalt, so wie ich das sehe, kann die Eingabe
des Users "username" verglichen mit %2 natürlich nicht
identisch sein - wenn ichs richtig verstanden habe.

Was jedoch nun die Fehlermeldung beim Login erzeugt
weiss ich nicht, auch wenn ich weiss, was sie bedeutet:

"Access denied for user 'wwwrun'@'localhost' (using password: NO)"
-> Zugang zur DB nicht erlaubt,
weil kein PW verwendet wurde (hoffentlich richtig verstanden)
__________________
lg
Stefan
Mit Zitat antworten
  #26 (permalink)  
Alt 03-05-2009, 08:58
Koala
 PHP Junior
Links : Onlinestatus : Koala ist offline
Registriert seit: Jan 2006
Beiträge: 887
Koala ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
hat H3ll die $sql Variable im query verwendet, warum das wiederum versteh ich auch nicht, denn man hätte den Inhalt von $sql auch so ins query packen können oder?
Damit man sieht was bei der DB ANKOMMT !



echo $sql;
Mit Zitat antworten
  #27 (permalink)  
Alt 03-05-2009, 10:32
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Egal was in $sql steht, er kann es der DB gar nicht schicken. Denn er kann sich überhaupt nicht mit der DB verbinden. Access denied.

Zeig mal bitte den Code rund um mysql_connect(). Zuvor überzeuge dich bitte selbst durch Testausgaben vom Inhalt der Variablen, die du dieser Funktion übergibst.
Mit Zitat antworten
  #28 (permalink)  
Alt 03-05-2009, 19:32
Skywalker031
 Registrierter Benutzer
Links : Onlinestatus : Skywalker031 ist offline
Registriert seit: Apr 2009
Ort: Kassel
Beiträge: 13
Skywalker031 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Also hab auch noch etwas intensiver geschaut
und den Fehler gefunden, warum nach der
Eingabe der Logindaten, die db nicht connectiert
werden konnte - bei der Angabe der include-datei
war ein schreibfehler unterlaufen.

Desweiteren habe ich den Code von H3ll
um einen Teil des Originalscriptes erweitert,
um nach dem bestätigten Login weiter zu gelangen:

PHP-Code:
else {
       echo 
'Login erfolgreich.<br>';
       
//registriere die sesson id, mit der ID des users
       
$_SESSION["id"] = $user->id;
       
//leite zu main.php weiter
       
header("Location: main.php");
       exit;
     } 
Allerdings hab ich jetzt ein weiteres Problem:
Dieses Script sah in der Ursprungsfassung
eine Session-ID-Kontrolle vor, die, wenn die
Session-ID nicht korrekt war, den Besucher
nicht in den geschützten Bereich liess, sondern
wieder auf die index.php zurück bringen soll.

Wenn man nach dem korrekten Login weiter-
geleitet werden sollte sieht es so aus als wenn
die main.php ganz kurz aufgerufen wird und
anschliessend sofort wieder die index.php geladen wird.

Das würde doch bedeuten, das die Session-ID
nicht stimmt oder ist vielleicht im Code der main.php
ein Fehler, bzw. ist die Variablenfestlegung
$_SESSION["id"] = $user->id;
verkehrt?

Hier mal der Code, der main.php:

PHP-Code:
<?
//starte die session
session_start();
//include die config datei
include ("config.php");
//ab hier soll auf den header gewartet werden
ob_start();

//wenn Session nicht exisitiert...
if (!isset($_SESSION["id"])){
      
//befördere den User vor die Tür ^^
      
header ("Location: index.php");
      }

//Variable für query festlegen
$sql "
            SELECT
                username
            FROM
                benutzerdaten
            WHERE
                id='"
.$_SESSION["id"]."'
        "
;

//falls sie doch exisitert,
//hol den usernamen aus der datenbank...
$query=mysql_fetch_object(mysql_query($sql));

//und speichere ihn in der variable "username" ab
$username $query->username;

//header warten - Ende
ob_end_flush();
?>

<html>
<head>
...
__________________
lg
Stefan
Mit Zitat antworten
  #29 (permalink)  
Alt 03-05-2009, 23:29
Click
 Member
Links : Onlinestatus : Click ist offline
Registriert seit: Aug 2006
Beiträge: 228
Click ist zur Zeit noch ein unbeschriebenes Blatt
Click eine Nachricht über ICQ schicken
Standard

Zitat:
Original geschrieben von Skywalker031
Also hab auch noch etwas intensiver geschaut
und den Fehler gefunden, warum nach der
Eingabe der Logindaten, die db nicht connectiert
werden konnte - bei der Angabe der include-datei
war ein schreibfehler unterlaufen.
Hätte dein PHP Script dann nicht eigentlich ein Fehler ausgeben sollen? Mustt mal für Debug Zwecke error_reporting( E_ALL ); an den Anfang des Scriptes setzen, erleichtert dir einiges...

In der Datei in der $_SESSION["id"] = $user->id; gesetzt wird, ist dort auch vorher ein session_start gemacht worden?


Und dann noch zuletzt:
Wieso benutzt du ob_start(); und ob_end_flush(); wenn dazwischen ohnehin keine Ausgaben gemacht werden?
__________________
Du kannst jeden Tag wie deinen letzten leben, du musst nur jeden Tag das Gleiche tun.

Denk' mal drüber nach!
Mit Zitat antworten
  #30 (permalink)  
Alt 05-05-2009, 17:14
Skywalker031
 Registrierter Benutzer
Links : Onlinestatus : Skywalker031 ist offline
Registriert seit: Apr 2009
Ort: Kassel
Beiträge: 13
Skywalker031 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von Click
Hätte dein PHP Script dann nicht eigentlich ein Fehler ausgeben sollen? Mustt mal für Debug Zwecke error_reporting( E_ALL ); an den Anfang des Scriptes setzen, erleichtert dir einiges...

In der Datei in der $_SESSION["id"] = $user->id; gesetzt wird, ist dort auch vorher ein session_start gemacht worden?


Und dann noch zuletzt:
Wieso benutzt du ob_start(); und ob_end_flush(); wenn dazwischen ohnehin keine Ausgaben gemacht werden?
Ja, möglich wärs gewesen, dass es einen Fehler hätte
ausgeben können... das tat es aber nicht.
Werde deinen Tipp mit dem error_reporting( E_ALL );
verwenden.

Ja, in der Datei in der $_SESSION["id"] 0 $user->id;
gesetzt wird, gibt es vorher ein session_start.

du kannst dir die aktuelle index.php gern unter
index.rar herunterladen.

Wegen dem ob_start(); und ob_end_flush();
möchte ich hier auch nochmal anmerken, dass dieses
Script nicht von mir stammt - lediglich einige Änderungen
und Anpassungen. Diese beiden Dinge sind u.a. nicht
von mir geschrieben/programmiert worden.
__________________
lg
Stefan
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

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

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