SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Webseiten professionell erstellen

Webseiten professionell erstellen zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 18.08.2002, 11:13:00
mix88 mix88 ist offline
Anfänger
 
Registriert seit: Aug 2002
Beiträge: 7
members-only zone

hi @ll

ich habe eine members-only zone gemacht(oder bin sie am machen)!
http://mix88.mittelerde.ch/racoons2/login.php (username=test pwd=test)
nun habe ich ein script im header mit dem ich herauslese, ob der username in der session registriert ist, wenn nicht, geht es zu einer page in der ein error angezeigt wird, wenn der username reg. ist dann zeigt es die gewünschte seite!
nun habe ich aber ein problem: wenn ich richtig eingeloggt bin, dann muss ich zuerst auf home klicken bevor ich überhaupt eine andere seite anzeigen kann, wenn ich das nicht mache, dann gibt es den error aus!
wie kann ich das richtig machen?

mfg
mix88

ps: hier ist noch die url wo die versch. benötigten scripts eingefügt sind: http://mix88.mittelerde.ch/racoons2/script.txt
Mit Zitat antworten
  #2  
Alt 18.08.2002, 12:49:42
FloRos FloRos ist offline
Junior Member
 
Registriert seit: Mar 2002
Beiträge: 153
FloRos eine Nachricht über ICQ schicken
leg doch einfach noch ne Datei dazwischen:

1. Einlog Seite
2. Cookie Seite mit header, damit der User davon nichts mitkriegt
3. Index.php Seite schon hast du dein Problem gelöst
__________________
Wir sehen uns in der
Programmierer Hölle ;)
Mit Zitat antworten
  #3  
Alt 18.08.2002, 14:20:15
mix88 mix88 ist offline
Anfänger
 
Registriert seit: Aug 2002
Beiträge: 7
wenn ich es so mache wie in http://mix88.mittelerde.ch/racoons2/script.txt , dann gibt es diese fehlermeldung aus:
Warning: Cannot send session cache limiter - headers already sent (output started at /usr/local/httpd/virtsrv/mix88.mittelerde.ch/racoons2/login.php:8) in /usr/local/httpd/virtsrv/mix88.mittelerde.ch/racoons2/index2.php on line 2

Warning: Cannot add header information - headers already sent by (output started at /usr/local/httpd/virtsrv/mix88.mittelerde.ch/racoons2/login.php:8) in /usr/local/httpd/virtsrv/mix88.mittelerde.ch/racoons2/index2.php on line 4

oder wie meinst du es dann???
oder soll ich beim index2.php ein include anstatt ein header setzen?

Geändert von mix88 (18.08.2002 um 14:22:59 Uhr)
Mit Zitat antworten
  #4  
Alt 18.08.2002, 16:32:35
Ben20
Guest
 
Beiträge: n/a
header allready sent bedeutet, dass vor header() schon irgendwas (egal was und sei es nur ein Leerzeichen) an den Browser gesendet wurde. Es darf als keine <html> kein Leerzeichen und auch kein echo "jfkla" da stehen. Einfach nix. Dann müßte es gehen.
Mit Zitat antworten
  #5  
Alt 18.08.2002, 18:46:20
FloRos FloRos ist offline
Junior Member
 
Registriert seit: Mar 2002
Beiträge: 153
FloRos eine Nachricht über ICQ schicken
Zitat:
header allready sent bedeutet, dass vor header() schon irgendwas (egal was und sei es nur ein Leerzeichen) an den Browser gesendet wurde.
Genau das meine ich einfach eine "leere" Datei dazwischen legen.
Header() kann man nur benutzen wenn keine anderen Daten an den Browser geschickt werden!

Ich schließe mich Ben20 an genauso und nicht anders, dann müsste das auch funktionieren!
__________________
Wir sehen uns in der
Programmierer Hölle ;)
Mit Zitat antworten
  #6  
Alt 18.08.2002, 19:12:48
mix88 mix88 ist offline
Anfänger
 
Registriert seit: Aug 2002
Beiträge: 7
wo soll ich dann die sessions registrieren???
im index3?
Mit Zitat antworten
  #7  
Alt 18.08.2002, 21:50:07
Ben20
Guest
 
Beiträge: n/a
Nö. In der Datei in der Du auch den Header sendest.


<?php

Sessionregistrieren und und und

header("Location: index3.php");

?>


In dem Fall funktioniert header wie <meta> - Refresh. Sonst würde die Datei dazwischen ja wenig sinn haben.
Mit Zitat antworten
  #8  
Alt 19.08.2002, 16:50:32
mix88 mix88 ist offline
Anfänger
 
Registriert seit: Aug 2002
Beiträge: 7
sorry, aber es geht immer noch nicht!!!!!!!!!!!!!!!!
hier mal der code:

Login
====

<html>
<head>
<title>Intranet</title>
<link href="style.css" rel="stylesheet" type="text/css" title="Default Styles" media="screen">
</head>
<body text="gray" bgcolor="black">
<br>
<?
if($login)
{
require("include/sql.php");
$sql = "SELECT * FROM racoons_members WHERE username='$username' OR ID='$ID' OR password='$password'";
$result = mysql_query($sql);
$myrow = mysql_fetch_array($result);
$db_id = $myrow["ID"];
$db_vorname = $myrow["vorname"];
$db_nachname = $myrow["nachname"];
$db_username = $myrow["username"];
$db_password = $myrow["password"];
$db_email = $myrow["email"];
$db_nummer = $myrow["nummer"];
$db_messages = $myrow["messages"];

if(!$username or !$password)
{
echo 'Login: Fehlgeschlagen';
}
elseif(!$db_password)
{
echo 'Login: Fehlgeschlagen';
}
elseif($password != $db_password)
{
echo 'Login: Fehlgeschlagen';
}
elseif($password == $db_password)
{
require('index2.php');
}
else
{
echo 'Login: Fehlgeschlagen';
}
}
else
{
echo '<div align="center" valign="center">
<form name="login" action="'.$PHP_SELF.'" method="post">
<input type="hidden" name="id" value=ID>
<table width="400" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="119">Username:</td>
<td width="261"><input type="text" name="username"></td>
</tr>
<tr>
<td width="119">Password:</td>
<td width="261"><input type="password" name="password"></td>
</tr>
<tr>
<td colspan="2">
<div align="center"><input type="submit" name="login" value="Login"></div>
</td>
</tr>
</table>
</form></div>';
}
?>
</body>
</html>

index2
=====

<?
session_register("ID");
session_register("username");
header("Location: index3.php");
?>

index3
=====

<? include("include/header.php"); ?>
<div align="center" valign="center">Willkommen <?=$username ?>!<br>Dies ist das Intranet von den UHC-Racoons Junioren B!
<br><br>
<table border=0 cellspacing=0 cellpadding=0>
<tr>
<td colspan=2><h1>NEWS<h1></td>
</tr>
<tr>
<td>7.6.02</td>
<td>1. Fertigstellung! Interner Message Versand ist noch nicht in Betrieb!</td>
<table></div>
<? include("include/footer.php"); ?>


sag mir mal, was da falsch ist!?
Mit Zitat antworten
  #9  
Alt 19.08.2002, 18:48:17
Ben20
Guest
 
Beiträge: n/a
Irgendwo in Login machst Du folgendes:

Code:
... elseif($password == $db_password) 
{ 
require('index2.php'); 
} 
else ...
index2.php enthält jetzt aber einen header() Befehl. Da es aber required wird, wird dieser erst ausgeführt nachdem Du das

Code:
<html> 
<head> 
<title>Intranet</title> 
<link href="style.css" rel="stylesheet" type="text/css" title="Default Styles" media="screen"> 
</head> 
<body text="gray" bgcolor="black"> 
<br>
an den Browser geschickt hast. -> Ergo Fehler: header already sent.


Machs doch so:


Login
=========
Nur das Formular. Das Formular hat das Ziel login2.php
Falls $fehler=true (Erklärung kommt noch) Text ausgeben lassen:
"Falsches Passwort, bla bla bla"


Login2
=========
Überprüfen, ob Passwort richtig. Falls ja - Session registrieren, header() zu index3.php

Falls nein: header zum Formular: login.php?fehler=true


index3
=========
Bleibt wie es ist
Mit Zitat antworten
  #10  
Alt 20.08.2002, 13:25:46
mix88 mix88 ist offline
Anfänger
 
Registriert seit: Aug 2002
Beiträge: 7
Vielen Dank!

Ich habe es endlich geschafft...
Nachdem ich gemacht habe, was du Ben20 hast vorgeschlagen, habe ich es zum Teil geschafft(der check ob man eingellogt ist, ist noch nicht richtig funktioniert)
und nun geht alles...jetzt, kann ich mich meinem nächsten projekt widmen...

mfg
mix88
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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 aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 10:16:26 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt