php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Sonstiges > Off-Topic Diskussionen
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


Off-Topic Diskussionen Kein Platz für Deine Frage gefunden? Dann bist Du hier genau richtig!

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #31 (permalink)  
Alt 18-06-2003, 11:57
tedman72
 Newbie
Links : Onlinestatus : tedman72 ist offline
Registriert seit: Feb 2003
Ort: Berlin
Beiträge: 38
tedman72 ist zur Zeit noch ein unbeschriebenes Blatt
Standard user_management

hallo abraxas,

ich habe mich nun drangemacht dein um doch einzubauen, die testvariante (also erstmal nur dein script allein) hatte funktioniert.
nun habe ich ein paar änderungen vornehmen müssen um es an mein script anzupassen.
leider steckt da irgendwie der wurm drin.
ich vermute das er ein session-prob hat, da er sich eigentlich erst bei der kontrolle ob die session okay ist aufhängt. habe ein paar kontrollen eingebaut und siehe da, das array ist leer .

hier mal die abwandlung der function:

PHP-Code:
function CheckUserSession ($session)
  {
            
$result mysql_query("SELECT * FROM flirt WHERE usersession = '$session'") or mysql_error();
        if ( 
mysql_num_rows($result)== 
        {
          
$zeile mysql_fetch_array($result);
          
$sessarr[ID]         = $zeile[ID];
          
$sessarr[name]       = $zeile[name];
          
$sessarr[lastip]     = $zeile[lastip];
          
$sessarr[lastonline] = $zeile[lastonline];
          return 
$sessarr;
        }
        else 
        {
          echo 
"array aber fehler:";
          echo 
"ses:$session";
          echo 
"zeile:".$zeile[name];
          
header ("Location: index.php");
          return 
false;
           }
  } 
die echos dienen wie gesagt nur zur kontrolle. er gibt die session aus, aber $zeile[name] ist empty. ich habe erstmal die md5 - geschichte ausgebaut. habe die userdaten korrekt eingegeben und auch mit phpmyadmin die abfrage selbst kontrolliert, er findet den user.
erstaunlicher weise ist in der db auch noch kein sessionwert eingeschrieben worden.
weist du einen rat ?
Mit Zitat antworten
  #32 (permalink)  
Alt 18-06-2003, 12:06
Payne_of_Death
 Master
Links : Onlinestatus : Payne_of_Death ist offline
Registriert seit: Dec 2002
Ort: Folterkeller Nr. 18
Beiträge: 2.953
Payne_of_Death ist zur Zeit noch ein unbeschriebenes Blatt
Payne_of_Death eine Nachricht über ICQ schicken Payne_of_Death eine Nachricht über AIM schicken Payne_of_Death eine Nachricht über Yahoo! schicken
Standard Re: user_management

Zitat:
Original geschrieben von tedman72
hallo abraxas,

PHP-Code:
function CheckUserSession ($session)
  {
            
$result mysql_query("SELECT * FROM flirt WHERE usersession = '$session'") or mysql_error();
        if ( 
mysql_num_rows($result)== 
        {
          
$zeile mysql_fetch_array($result);
          
$sessarr[ID]         = $zeile[ID];
          
$sessarr[name]       = $zeile[name];
          
$sessarr[lastip]     = $zeile[lastip];
          
$sessarr[lastonline] = $zeile[lastonline];
          return 
$sessarr;
        }
        else 
        {
          echo 
"array aber fehler:";
          echo 
"ses:$session";
          echo 
"zeile:".$zeile[name];
          
header ("Location: index.php");
          return 
false;
           }
  } 
Da sag ich mal ne du:

1.) Das ist ein Array und keine Variable, zweitens heisst die anders
PHP-Code:
// wenn du $session anzeigen lässt, siehst du nie was bei:

print_r($_SESSION);

// erhälst du das komplette Array

// gibst du echo $_SESSION; aus bekommst du immer Array zurückgeliefert 
__________________
MfG Payne_of_Death

Manual(s): <-| PHP | MySQL | SELFHTML |->
Merke:
Du brauchst das Rad nicht neu erfinden ! <-ForumSuche rettet Leben-> || <-Schau in den Codeschnippsels->

Murphy`s Importanst LAWS
Jede Lösung bringt nur neue Probleme
Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht.
In jedem kleinen Problem steckt ein großes, das gern raus moechte.
Mit Zitat antworten
  #33 (permalink)  
Alt 18-06-2003, 12:07
Abraxax
  THE REAL HAXE (Administrator)
Links : Onlinestatus : Abraxax ist offline
Registriert seit: Jul 2002
Ort: neuss.nrw.de
Beiträge: 22.623
Abraxax befindet sich auf einem aufstrebenden Ast
Standard

@tedman72

1. schreibt man mich mit x am ende. einen mit s gibt es auch hier.

2. warum änderst du ein script, was funktioniert, ab?

3. ein echo vor header() ist böse

4. deine echos sind im else-zweig, also wenn in der DB keine daten gefunden wurden.

5. warum änderst du das MD5 ab? das ist sicherer als plain-text.

6. verstehe ich dein problem nicht so ganz...
__________________
INFO: Erst suchen, dann posten! | MANUAL(s): PHP | MySQL | HTML/JS/CSS | NICE: GNOME Do | TESTS: Gästebuch | IM: Jabber.org |


Mit Zitat antworten
  #34 (permalink)  
Alt 18-06-2003, 12:11
tedman72
 Newbie
Links : Onlinestatus : tedman72 ist offline
Registriert seit: Feb 2003
Ort: Berlin
Beiträge: 38
tedman72 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

okay, mein fehler... hatte einen tabellen-namen-fehler

wie gesagt, mein script steht soweit, mußte also deines an meines anpassen. die md5-verschlüsselung habe ich temporär entfernt da ich dachte das dort der fehler liegt.

die echos sind für mich nur eine überprüfung gewesen wo der knabe stehenbleibt, kommen natürlich wieder raus.


cya

Geändert von tedman72 (18-06-2003 um 12:13 Uhr)
Mit Zitat antworten
  #35 (permalink)  
Alt 18-06-2003, 13:35
tedman72
 Newbie
Links : Onlinestatus : tedman72 ist offline
Registriert seit: Feb 2003
Ort: Berlin
Beiträge: 38
tedman72 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

danke payne, ich weiss das es sich um ein array handelt, wenn ich auf fehlersuche bin lasse ich mir halt alles ausgeben.

wie gesagt das system funktioniert soweit, nur mit dem logout stimmt was nicht. er macht das update in der funktion nicht. ich habe den query mal im phpmyadmin ausprobiert und siehe da, warum auch immer er kürzt die sessionid von 32 auf 20 stellen. verstehen tue ich das aber nicht.
er kann ja dann auch logischerweise (logout vergleicht ja die sessionwerte) kein update beim logout durchführen. woran kann das liegen das er selbst im phpmyadmin die sessionid (ich habe sie mal zum testen aus der db selbst rauskopiert) abhackt ?
Mit Zitat antworten
  #36 (permalink)  
Alt 18-06-2003, 13:42
tedman72
 Newbie
Links : Onlinestatus : tedman72 ist offline
Registriert seit: Feb 2003
Ort: Berlin
Beiträge: 38
tedman72 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

okay, sorry.. wieder mein fehler, hatte nen komma übersehen. letztendlich hilft es aber auch nur in phpmyadmin (wenn ich da das update fahre mit der sesid die in der db eingetragen ist funzt es auch), ich frag mich jetzt nur ob es im script selbst die richtige sesid übergibt.

nun habe ich mir auch mal die session im skript ausspucken lassen, ist aber die selbe.

hier mal mein phpinfo:

session Session Support enabled

Directive Local Value Master Value
session.auto_start Off Off
session.cache_expire 180 180
session.cache_limiter nocache nocache
session.cookie_domain no value no value
session.cookie_lifetime 0 0
session.cookie_path / /
session.cookie_secure Off Off
session.entropy_file no value no value
session.entropy_length 0 0
session.gc_maxlifetime 1440 1440
session.gc_probability 1 1
session.name PHPSESSID PHPSESSID
session.referer_check no value no value
session.save_handler files files
session.save_path /tmp /tmp
session.serialize_handler php php
session.use_cookies On On


Version 4.1.2, vielleicht hilft das weiter...

Geändert von tedman72 (18-06-2003 um 14:19 Uhr)
Mit Zitat antworten
  #37 (permalink)  
Alt 18-06-2003, 14:31
Abraxax
  THE REAL HAXE (Administrator)
Links : Onlinestatus : Abraxax ist offline
Registriert seit: Jul 2002
Ort: neuss.nrw.de
Beiträge: 22.623
Abraxax befindet sich auf einem aufstrebenden Ast
Standard

nochmals zu diesen punkten, wo ich teilweise keine antwort erhalten habe...
Zitat:
Original geschrieben von Abraxax
@tedman72

2. warum änderst du ein script, was funktioniert, ab?

4. deine echos sind im else-zweig, also wenn in der DB keine daten gefunden wurden.

5. warum änderst du das MD5 ab? das ist sicherer als plain-text.

6. verstehe ich dein problem nicht so ganz...
^^ diese punkte sind noch offen....
__________________
INFO: Erst suchen, dann posten! | MANUAL(s): PHP | MySQL | HTML/JS/CSS | NICE: GNOME Do | TESTS: Gästebuch | IM: Jabber.org |


Mit Zitat antworten
  #38 (permalink)  
Alt 18-06-2003, 14:41
tedman72
 Newbie
Links : Onlinestatus : tedman72 ist offline
Registriert seit: Feb 2003
Ort: Berlin
Beiträge: 38
tedman72 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

2. die änderungen die ich vorgenommen habe sind nicht wirklich grossartig, aber entscheidend da ich eine userdatenbank habe auf der schon eine menge anderes zeugs aufbaut, habe also dein um insofern verändert als das es eben auf meine userdatenbank zugreift.

4. die echos sind mittlerweile aus dem script entfernt, sie dienten mir nur zur fehlerkontrolle

5. MD5 ist auch wieder drin, war nur kurzzeitig raus zur fehleranalyse

6. mein jetziges problem ist das das script soweit ganz gut funktioniert, nur leider logt er nicht richtig aus. Will meinen:
er führt den UPDATE-Query der Logout-Funktion nicht wirklich oder nicht richtig aus. ich vermutete das es an der sessionid lag, habe sie mir aber im admin.php ausgeben lassen, sie stimmte.
ich habe mir dann den UPDATE-Query kopiert (inkl. sessionid aus der db) und ihn dann in phpmyadmin ausgeführt. siehe da, dort funktionierte der query.
jetzt ist nur noch die frage wo das problem liegt.

Möglichkeiten:

- übergibt er den sessionwert nicht richtig sodas im logout-UPDATE-query was falsches steht

- führt er den UPDATEQUERY gar nicht aus

schwer für mich nachzuvollziehen da ich keine sql-logs vom webspace einsehen kann bzw. rootzugriff habe.

hier nochmals die func, ich glaube aber an der habe ich nichts geändert:

PHP-Code:
function UserLogout ($session
    {
        
$result mysql_query("UPDATE flirt SET usersession ='NULL' WHERE usersession = '$session'") or mysql_error();
                
header ("Location: index.php");
    } 
ich hoffe ich habe deine fragen beantwortet bzw. du kannst mir weiterhelfen
Mit Zitat antworten
  #39 (permalink)  
Alt 18-06-2003, 15:06
Abraxax
  THE REAL HAXE (Administrator)
Links : Onlinestatus : Abraxax ist offline
Registriert seit: Jul 2002
Ort: neuss.nrw.de
Beiträge: 22.623
Abraxax befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von tedman72
ich hoffe ich habe deine fragen beantwortet bzw. du kannst mir weiterhelfen
in der tat. alle fragen zur vollsten zufriedenheit hast du beantwortet..

nun versuche ich es....

die session.id sollte immer vorhanden sein. das gibt eigentlich die wenigsten problem. wenn die query so funktioniert im phpmyadmin, ist die auch in ordnung. nun stellt sich die frage, ob in php alles korrekt ist.

zum einen sollte man die() verwenden.

und dann habe ich mal zwei alternativ-fkts zum testen bei dir.
PHP-Code:
function UserLogout ($session
    {
        
$result mysql_query("UPDATE flirt SET usersession = NULL WHERE usersession = '".$session."'"
or die(
mysql_error());
// string gesplitet. 
// ausserdem darf NULL nicht in ' geschrieben werden.
                
header ("Location: index.php");
    } 
2. vorschlag. die session-id muss man nicht zwingend übergeben.
PHP-Code:
function UserLogout () 
// bitte auch im aufrufenden script den paramter entfernen.
    
{
        
$result mysql_query("UPDATE flirt SET usersession = NULL WHERE usersession = '".session_id()."'"
or die(
mysql_error());
// string gesplitet. 
// ausserdem darf NULL nicht in ' geschrieben werden.
                
header ("Location: index.php");
    } 
__________________
INFO: Erst suchen, dann posten! | MANUAL(s): PHP | MySQL | HTML/JS/CSS | NICE: GNOME Do | TESTS: Gästebuch | IM: Jabber.org |



Geändert von TobiaZ (01-10-2006 um 15:16 Uhr)
Mit Zitat antworten
  #40 (permalink)  
Alt 18-06-2003, 15:20
tedman72
 Newbie
Links : Onlinestatus : tedman72 ist offline
Registriert seit: Feb 2003
Ort: Berlin
Beiträge: 38
tedman72 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

so langsam bin ich am verzweifeln. auch diese beide funktionen haben nicht funktioniert.

erstaunlich das das login-update-query funktioniert, aber da geht er ja auch nicht nach der session.

vielleicht irgend eine idee wie ich das überprüfen könnte ? also die scriptausgabe ? denke aber ohne root habe ich da null chance

ich habe auch schon in der db erstmal alle spalten auf standard=null (bis auf die id )gesetzt, damit er das query nicht abweist wenn ein wert fehlt. ansonsten weiss ich auch erstmal nichts.
Mit Zitat antworten
  #41 (permalink)  
Alt 18-06-2003, 15:26
Abraxax
  THE REAL HAXE (Administrator)
Links : Onlinestatus : Abraxax ist offline
Registriert seit: Jul 2002
Ort: neuss.nrw.de
Beiträge: 22.623
Abraxax befindet sich auf einem aufstrebenden Ast
Standard

also wenn die beiden vorschläge auch nciht funktionierten zweifel ich auch so langsam, ob die fkt überhaupt aufgerufen wird bei einem logout. teste das mal.
__________________
INFO: Erst suchen, dann posten! | MANUAL(s): PHP | MySQL | HTML/JS/CSS | NICE: GNOME Do | TESTS: Gästebuch | IM: Jabber.org |


Mit Zitat antworten
  #42 (permalink)  
Alt 18-06-2003, 15:36
tedman72
 Newbie
Links : Onlinestatus : tedman72 ist offline
Registriert seit: Feb 2003
Ort: Berlin
Beiträge: 38
tedman72 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

okay, ich habe die baumschulenvariante probiert und siehe da, es funktionert.

Lösung:

habe die funktion rausgenommen und in eine eigene datei namens logout.php gepackt. siehe da, es funktionierte. ich verstehe zwar nicht ganz warum, aber nun gut.

trotzdem vielen dank für deine hilfe
Mit Zitat antworten
  #43 (permalink)  
Alt 29-07-2003, 09:16
scriptingmike
 Junior Member
Links : Onlinestatus : scriptingmike ist offline
Registriert seit: Jul 2003
Ort: Bayern; near Munich
Beiträge: 80
scriptingmike ist zur Zeit noch ein unbeschriebenes Blatt
Standard Nur Fehler.....

Ich habe jetzt mal das ganze nachvollzogen, aber beim Aufruf der Index.php kommt immer die Fehlermeldung:

Warning: open(/tmp\sess_6e448c3588248af979f2cbab08d4d129, O_RDWR) failed: No such file or directory (2) in c:\www_projektdrehscheibe\login3\index.php on line 3

Warning: Failed opening 'usermanagment.inc.php' for inclusion (include_path='c:\php4\pear') in c:\www_projektdrehscheibe\login3\index.php on line 6


Enter your username and password to log in
Username:
Password:


Warning: open(/tmp\sess_6e448c3588248af979f2cbab08d4d129, O_RDWR) failed: No such file or directory (2) in Unknown on line 0

Warning: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/tmp) in Unknown on line 0


Die betreffenden Linien sind:

PHP-Code:
<?php

    session_start
();

    include(
"connect2db.inc.php");
    include(
"usermanagment.inc.php");

    if (isset(
$_POST['action']))
    {
Na irgendwas passt hier aber gar nicht???
Mit Zitat antworten
  #44 (permalink)  
Alt 29-07-2003, 09:25
Abraxax
  THE REAL HAXE (Administrator)
Links : Onlinestatus : Abraxax ist offline
Registriert seit: Jul 2002
Ort: neuss.nrw.de
Beiträge: 22.623
Abraxax befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Na irgendwas passt hier aber gar nicht???
gut erkannt...

suche mal im forum nach der lösung....

tipp. der path, den du zum speichern für session daten in der php.ini angegeben hast, existiert nicht und/oder du hast keine schreibberechtigung.

die suche im forum hilft dir das problem zu lösen.
__________________
INFO: Erst suchen, dann posten! | MANUAL(s): PHP | MySQL | HTML/JS/CSS | NICE: GNOME Do | TESTS: Gästebuch | IM: Jabber.org |


Mit Zitat antworten
  #45 (permalink)  
Alt 28-09-2003, 02:14
manuelakersten
 Member
Links : Onlinestatus : manuelakersten ist offline
Registriert seit: Apr 2002
Beiträge: 379
manuelakersten ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hat zufällig jemand das Script fertig gestellt und im Betrieb ?

Gruss und Danke Manuela
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 02:23 Uhr.