php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 02.09.2004, 13:39  
Gast
 
Beiträge: n/a
Standard [Erledigt] brauche dringend hilfe zu sessions!!!

also das wird jetzt ein sehr langer thread und ich weiß das forum ist nicht dazu da um fehler zu suchen...aber ich weiß nicht mehr weiter...ich hab eine art community gemacht...die auch funktioniert...nun hab ich das ganze umgeschrieben um es in typo3 einzubinden(weil es eine art backend darstellt--> das was ich programmiert hab)
und die übertragung der session variablen funktioniert anscheinen nicht mehr...
was ich gemacht habe ist, dass ich in eine index.php alle seiten per include reingenommen hab und die seiten umgeschrieben hab das dann nur über eine seite je nach parameterabfrage ausgegeben werden...
das komische ist...wenn ich in meinem browser auf die "alten seiten" geh mich einloge und dann (ohne auszuloggen) auf den "neuen login" geh, dann komm ich rein ansonsten sagt er immer login abgelaufen...
also ich poste mal den code meiner originalseite:
die funktionierende loginüberprüfung-->die include datein füge ich einfach komplett an der richtigen stelle ein ok!?
Code:
//meine include für die datenbank verbindung
<?PHP
        $user = "root";
        $password = "";
        $db = "amsl";
	$host = "localhost";
	$uploaddir = 'C:\\FoxServ\\www\\Arbeiten\\Upload\\';
?>
<?PHP
include ('db.php');
        $link = mysql_connect($host, $user, $password);
        mysql_select_db($db);
	$query="Select mitarbeiter.benutzername, mitarbeiter.passwort, mitarbeiter.vorname, mitarbeiter.nachname, mitarbeiter.status, mitarbeiter.id from mitarbeiter where benutzername='".$_REQUEST["benutzername"]."' and passwort='".$_REQUEST["passwort"]."';";
	$result=mysql_query($query, $link);
	$row=mysql_fetch_array($result);

if(($row[0] == $_REQUEST["benutzername"]) && ($_REQUEST["benutzername"]!=""))
{	
	$benutzername = $_REQUEST["benutzername"];
	$vorname = $row[2];
	$nachname = $row[3];
	$passwort= $row[1];
	$id = $row[5];
	$status = $row[4];
	mysql_close($link);
	@session_start();
	session_register("benutzername", "passwort", "vorname", "nachname", "passwort" , "id", "status"); 	
	header("Location: menue.php");
}
else
{
	mysql_close($link);
	header("Location: login.php");
};
?>
<?php
	include ('db.php');
        $link = mysql_connect("$host", $user, $password);
        mysql_select_db($db);
	if(session_is_registered("benutzername"))
	{
        $query  = "SELECT inhalt from system where variablen='logout'";
        $result = mysql_query($query, $link);
	$row=mysql_fetch_array($result);		
        echo "" . $row[0];
	}
        $query  = "SELECT inhalt from system where variablen='fuss'";
        $result = mysql_query($query, $link);
	$row=mysql_fetch_array($result);		
        echo "" . $row[0];
?>
so und das ist meine neue seite globals.inc ist das gleiche include wie oben für die datenbankverbindung und loginüberprüfung post ich euch umgeschrieben oder gleich beide ne!?
meine index.php
Code:
<?php

include ("includeall.inc");

$Temp="

Diese Seite kann nicht angezeigt werden!</p>";

echo "<html>";

if ($_REQUEST["Seite"]=="Loginueberpruefung")
{
	echo "<head>";
	echo loginueberpruefung_php();
	$Temp = "

Die Seite wird weitergeleitet!</p>";
	echo "</head>";
};


@session_start();
if (session_is_registered("benutzername")) echo "

Mitarbeiter: " . $_SESSION["vorname"] . " " .  $_SESSION["nachname"] . "</p>";

if ($_REQUEST["Seite"]=="Loginueberpruefung")
{
	echo "<head>";
	echo loginueberpruefung_php();
	$Temp = "

Die Seite wird weitergeleitet!</p>";
	echo "</head>";
};

if ($_REQUEST["Seite"]=="Logout")
{
	echo "<head>";
	echo logout_php();
	$Temp = "

Die Seite wird weitergeleitet!</p>";
	echo "</head>";
};

$tmp_login=0;
if ($_REQUEST["Seite"]=="Login" || $_REQUEST["Seite"]=="")
{
	$tmp_login=1;
	$Temp=login_php();
};

if ($_REQUEST["Seite"]=="Menue")
{
	$Temp=menue_php();
};

if ($_REQUEST["Seite"]=="Mitarbeiterneu")
{
	$Temp=mitarbeiterneu_php();
};

if ($_REQUEST["Seite"]=="Neuenmitarbeiterspeichern")
{
	$Temp=neuenmitarbeiterspeichern_php();
};

if ($_REQUEST["Seite"]=="Allemitarbeiterzeigen")
{
	$Temp=allemitarbeiterzeigen_php();
};

if ($_REQUEST["Seite"]=="Mitarbeiteraendern")
{
	$Temp=mitarbeiteraendern_php();
};

if ($_REQUEST["Seite"]=="Mitarbeiterspeichern")
{
	$Temp=mitarbeiterspeichern_php();
};

if ($_REQUEST["Seite"]=="Sicherloeschen")
{
	$Temp=sicherloeschen_php();
};

if ($_REQUEST["Seite"]=="Loeschen")
{
	$Temp=loeschen_php();
};

if ($_REQUEST["Seite"]=="Arbeiteneintragen")
{
	$Temp=arbeiteneintragen_php();
};

if ($_REQUEST["Seite"]=="Arbeitenspeichern")
{
	$Temp=arbeitenspeichern_php();
};

if ($_REQUEST["Seite"]=="Allearbeitenanzeigen")
{
	$Temp=allearbeitenanzeigen_php();
};

if ($_REQUEST["Seite"]=="Arbeitenaendern")
{
	$Temp=arbeitenaendern_php();
};

if ($_REQUEST["Seite"]=="Arbeitenaendernspeichern")
{
	$Temp=arbeitenaendernspeichern_php();
};

if ($_REQUEST["Seite"]=="Arbeitensicherloeschen")
{
	$Temp=arbeitensicherloeschen_php();
};

if ($_REQUEST["Seite"]=="Arbeitenloeschen")
{
	$Temp=arbeitenloeschen_php();
};

if ($_REQUEST["Seite"]=="Studentenarbeiteneintragen")
{
	$Temp=studentenarbeiteneintragen_php();
};

if ($_REQUEST["Seite"]=="Studentenarbeitenspeichern")
{
	$Temp=studentenarbeitenspeichern_php();
};

if ($_REQUEST["Seite"]=="Allestudentenarbeitenzeigen")
{
	$Temp=allestudentenarbeitenzeigen_php();
};

if ($_REQUEST["Seite"]=="Studentenarbeitenaendern")
{
	$Temp=studentenarbeitenaendern_php();
};


if ($_REQUEST["Seite"]=="Studentenarbeitenaendernspeichern")
{
	$Temp=studentenarbeitenaendernspeichern_php();
};

if ($_REQUEST["Seite"]=="Studentenarbeitensicherloeschen")
{
	$Temp=studentenarbeitensicherloeschen_php();
};

if ($_REQUEST["Seite"]=="Neueart")
{
	$Temp=neueart_php();
};

if ($_REQUEST["Seite"]=="Neuearteintragen")
{
	$Temp=neuearteintragen_php();
};

if ($_REQUEST["Seite"]=="Neuerbetreuer")
{
	$Temp=neuerbetreuer_php();
};

if ($_REQUEST["Seite"]=="Neuenbetreuereintragen")
{
	$Temp=neuenbetreuereintragen_php();
};

if ($_REQUEST["Seite"]=="Neuerstudiengang")
{
	$Temp=neuerstudiengang_php();
};

if ($_REQUEST["Seite"]=="Neuenstudiengangeintragen")
{
	$Temp=neuenstudiengangeintragen_php();
};



echo "<body>";
echo $Temp;
if ($tmp_login==0) echo "
<a href=\"index.php?Seite=Logout\">Logout</a>";
echo "</body></html>";
?>
meine loginueberpruefung.inc
Code:
<?PHP

function loginueberpruefung_php()
{
include ('globals.inc');

        $link = mysql_connect($host, $user, $password);
        mysql_select_db($db);
	$query="Select mitarbeiter.benutzername, mitarbeiter.passwort, mitarbeiter.vorname, mitarbeiter.nachname, mitarbeiter.status, mitarbeiter.id from mitarbeiter where benutzername='".$_REQUEST["benutzername"]."' and passwort='".$_REQUEST["passwort"]."';";
	$result=mysql_query($query, $link);
	$row=mysql_fetch_array($result);

if(($row[0] == $_REQUEST["benutzername"]) && ($_REQUEST["benutzername"]!=""))
{	
	$benutzername = $_REQUEST["benutzername"];
	$vorname = $row[2];
	$nachname = $row[3];
	$passwort= $row[1];
	$id = $row[5];
	$status = $row[4];
	mysql_close($link);
	@session_start();
	session_register("benutzername", "passwort", "vorname", "nachname", "passwort" , "id", "status"); 	
	$tmp = "<meta http-equiv=\"refresh\" content=\"0; URL=index.php?Seite=Menue\">";
}
else
{
	mysql_close($link);
	$tmp = "<meta http-equiv=\"refresh\" content=\"0; URL=index.php?Seite=Login\">";
};
return $tmp;
};
?>
ach so und in includeall.inc--> stehn die ganzen datei mit include ("....");

ich weiß das ist jetzt ein ewig langer thread...bitte schmipft nciht mit mir aber ich weiß nciht weiter....
danke und net bös sein ja!?
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 02.09.2004, 17:25  
Gast
 
Beiträge: n/a
Standard

a) nutze nicht die REQUEST var sondern nimm die GLOBALS $_GET, $_POST usw.

b) nutze nicht session_register oder is_session_reg ... weise direkt über $_SESSION zu und frage die ab

c) nimm das @ aus @session_start(); vllt. kommt ja 'ne Fehlermeldung


mfg
  Mit Zitat antworten
Alt 03.09.2004, 23:53  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von J33d3X
c) nimm das @ aus @session_start(); vllt. kommt ja 'ne Fehlermeldung
session_start(); muss ausgeführt werden bevor irgendwas geschrieben wurde - also kein echo und keine leerzeichen hinter "?>"-Tags bzw vor "<?php"-Tags... - check darauf doch mal deinen source und auch die vorher includeten dateien

ist ne gemeine fehlerquelle.... - @-Zeichen sollte man im allgemeinen nicht verwenden

hoffe ich konnte was helfen....

greetz
andy
  Mit Zitat antworten
Alt 04.09.2004, 00:03  
Gast
 
Beiträge: n/a
Standard

Zitat:
ist ne gemeine fehlerquelle.... - @-Zeichen sollte man im allgemeinen nicht verwenden
och ich weiß nicht. wenn man eigene fehlermeldungen verwenden will?
  Mit Zitat antworten
Alt 04.09.2004, 00:17  
Gast
 
Beiträge: n/a
Standard ???

Zitat:
Zitat von Michigras
och ich weiß nicht. wenn man eigene fehlermeldungen verwenden will?
was bringt dir das im falle von session_start() ? - da wird doch eh nur "void" zurück geliefert...

ich denke, wenn man durchdacht codet, muss man auf sowas nich zurückgreifen (was nicht gegen ein Error-Handling sprechen soll *g*)

greetz
andy
  Mit Zitat antworten
Alt 04.09.2004, 00:30  
Gast
 
Beiträge: n/a
Standard

Zitat:
was bringt dir das im falle von session_start() ? - da wird doch eh nur "void" zurück geliefert...
wie jetzt? egal, aber du sprachst ja vom allgemeinen @ benutzen zur unterdrücmkung von fehlermeldungen. dass das nicht bei jedem session_start() und " - "_destroy() und fwrite() nötig ist ist schon klar... sind wir hier in winxp oder was ?
  Mit Zitat antworten
Alt 04.09.2004, 09:01  
Gast
 
Beiträge: n/a
Standard

wenn man ein eigenes errorhandling schreibt finde ich die anbringung von @ schon ok; aber:
a) sehe ich hier kein error handling
b) bin ich auf fehlersuche entferne ich erstmal alle @
... usw.


gruss
  Mit Zitat antworten
Alt 06.09.2004, 10:18  
Gast
 
Beiträge: n/a
Standard

mhm...danke für die vielen tips...falls es euch interessiert ich hab's jetzt so gemacht das ich session_start hab in der loginüberprüfung, dann session_register (....)
die zu registrierenden variablen wurden vorher aus der datenbank abgefragt und dann
$....=...

und seitdem funktioniert alles und die variablen werden richtig registriert und alles funzt wieder...
also danke trotzdem nochmal
  Mit Zitat antworten
Alt 06.09.2004, 12:32  
Gast
 
Beiträge: n/a
Standard

was machst du wenn register_globals auf OFF steht dann ist deinScript im A***


http://de3.php.net/manual/de/functio...n-register.php


zitat:
Achtung

Wenn Sie wollen, dass ihr Script unabhängig von der Einstellung von register_globals funktioniert, müssen Sie stattdessen das Array $_SESSION verwenden, weil $_SESSION-Einträge automatisch registriert werden. Wenn Sie in Ihrem Script session_register() verwenden, funktioniert es nicht in Umgebungen, in denen die PHP-Anweisung register_globals deaktiviert ist.


mfg
  Mit Zitat antworten
Antwort


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
[Erledigt] Brauche dringend Hilfe von Experten! Leinberger PHP Tipps 2008 26 27.07.2008 17:51
move_uploaded_files brauche dringend hilfe PHP Tipps 2007 11 07.11.2005 16:28
brauche sehr schnell und dringend hilfe Beitragsarchiv 13 24.10.2005 13:11
HILFE ! Brauche ganz dringend hilfe! PHP Tipps 2005-2 2 10.10.2005 23:08
Brauche dringend HILFE..............Bitte V-Gee PHP Tipps 2005-2 4 27.09.2005 19:55
nagios - brauche dringend (und schnell) hilfe!!! trinity Server, Hosting und Workstations 10 16.08.2005 18:07
Brauche mal dringend Hilfe... Was stimmt hier nicht? PHP Tipps 2005-2 6 16.08.2005 11:49
Brauche dringend Hilfe!! DaronM PHP Tipps 2005-2 8 22.07.2005 05:32
Brauche dringend Hilfe, Aufgabe fürs Studium (Upload-Script trivial Beitragsarchiv 23 23.06.2005 16:25
Brauche ganz dringend Hilfe! HTML, Usability und Barrierefreiheit 1 31.03.2005 11:26
[Erledigt] Brauche dringend Hilfe PHP Tipps 2005 19 01.02.2005 20:21
Speichern und Laden mit Php und Flash brauche dringend hilfe PHP-Fortgeschrittene 6 07.01.2005 11:48
brauche DRINGEND hilfe PHP Tipps 2004 3 05.11.2004 07:57
Brauche dringende Hilfe zum Thema Sessions!!! PHP Tipps 2004 9 26.07.2004 12:12
ICH BRAUCHE DRINGEND HILFE !!! Off-Topic Diskussionen 15 09.07.2004 15:58

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
benötige session php, mysql_fetch_array($result) if $row =

Alle Zeitangaben in WEZ +1. Es ist jetzt 18:55 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.