Zum Inhalt springen

Probleme mit PHP Script nach Umstellung von PHP Version 5.0.3 auf PHP Version 5.2.4


Empfohlene Beiträge

Geschrieben

Hallo,

falls das Thema besser in ein anderes Forum passt, verschiebt mich bitte ;)

Also, ich habe ein für mich momentan unlösbares Problem, und hoffe Ihr könnt mir etwas weiter helfen.

Ich hatte Probleme mit einer meiner Website, weshalb mein Provider einen Serverwechel einiger meiner Domains vorgenommmen hat.

Jetzt sind meine Probleme anders, aber für mich unlösbar :(

Die Webseite, wo die Fehler auftreten ist folgende:

http://www.bridge-club-luedenscheid.de/de/ergebnisse/ergebnisse.php

Das Script sieht so aus:

<?
$seite_vorher = $_GET["seite"];
$bereich = "Ergebnisse";
include ("checkuser.php");
$titel = "Bridge Club Medardus";
$titel2 = "Ergebnisse";
$keyword = "Bridge, Bridgeclub, Club, Bridge Club, Lüdenscheid, Medardus, DVB, dbv, bridge, Karten, Kartenspiel, Bietbox, Mitchell, Howell";
$path = "../";
require ("../variablen.inc");
require ("ergebnisse.inc");
require ("../head.inc");
?>

<br><br>
 <font class="mittel-fett">Hier die Ergebnisse von:</font><br><br><br>
<table>
<tr>
<td>
<?
hrefintern ("20090429.php", "Mittwoch, dem 29.04.2009");
?>
<br><br>
</td>
</tr>
<tr>
<td>
<?
hrefintern ("20090427.php", "Montag, dem 27.04.2009");
?>
<br><br>
</td>
</tr>
<tr>
<td>
<?
hrefintern ("20090422.php", "Mittwoch, dem 22.04.2009");
?>
<br><br>
</td>
</tr>
<tr>
<td>
<?
hrefintern ("20090420.php", "Montag, dem 20.04.2009");
?>
<br><br>
</td>
</tr>
<tr>
<td>
<?
hrefintern ("ergebnisse_alt.php", "Ältere");
?>
<br><br>
</td>
</tr>
</table>

<?
require ("../foot.inc");
?>[/PHP]

foot.inc und head.inc könnt Ihr Euch hier anschauen:

http://www.bridge-club-luedenscheid.de/head.inc

http://www.bridge-club-luedenscheid.de/foot.inc

Von der Seite soll ein Script zum Login geladen werden, so der Besucher das noch nicht getan hat.

Die checkuser.php sieht folgendermaßen aus:

[PHP]<?php
session_start ();

$_SESSION["seite_vorher"] = $seite_vorher;

if (!isset ($_SESSION["user_id"]))
{
header ("Location: formular.php");
}
?>

Die formular.php so:

<?
session_start ();
$bereich = "Ergebnisse";
$titel = "Bridge Club Medardus";
$titel2 = "Login";
$keyword = "Bridge, Bridgeclub, Club, Bridge Club, Lüdenscheid, Medardus, DVB, dbv, bridge, Karten, Kartenspiel, Bietbox, Mitchell, Howell";
$path = "../";
require ("../variablen.inc");
require ("ergebnisse.inc");
require ("../head.inc");
?>


<span class="mittel-fett">
Damit Sie sich einloggen können, müssen Cookies aktiviert sein.
</span>
<span class="mittel-fett-rot">
<br>
<?
hrefinternrot ("../cookies.php", "Hier");
?>
</span>
<span class="mittel-fett">
können Sie nachlesen wie sie Cookies aktivieren können.
</span>
<br><br>


<?php
if (isset ($_REQUEST["fehler"]))
{
echo "Die Zugangsdaten waren ungültig.";
}
?>
<?
$link = "<form action=\"";
$link .= "login.php";
$link .= "\" method=\"post\">";
?>
<br>
<span class="mittel-fett">Um die Ergebnisse einsehen zu können müssen Sie sich einloggen.<br>Geben Sie dazu bitte Ihre Zugangsdaten ein und klicken Sie auf 'Login':</span>
<? echo $link; ?>
<table>
<tr>
<td class="normal-fett">Name:</td>
<td><input tabindex="1" class="normal-fett" type="text" name="name" size="20" autocomplete="off"></td>
<td rowspan="2" valign="middle">     <input tabindex="3" class="button-normal" type="submit" value="Login"></td>
</tr>
<tr>
<td class="normal-fett">Kennwort:</td>
<td><input tabindex="2" class="normal-fett" type="password" name="pwd" size="20"></td>
</tr>
</table>

</form>
</body>
</html>
<?php
require ("../foot.inc");
?>[/PHP]

Die formular.php und die checkuser.php habe ich von einem externen bekommen, und liefen bisher auch ohne Probleme. Die formular.php habe ich natürlich mit meinen Felder angepasst, aber wieder gesagt, lief einwandfrei.

Die Fehlermeldung ist diese:

[PHP]Warning: Cannot modify header information - headers already sent by (output started at /var/www/vhosts/bridge-club-luedenscheid.de/httpdocs/de/head.inc:99) in /var/www/vhosts/bridge-club-luedenscheid.de/httpdocs/de/ergebnisse/checkuser.php on line 8

Wo liegt mein Problem, und wie kann ich das lösen?

Ich hoffe mir kann jemand helfen :(

LG Sabine

Geschrieben

Die Fehlermeldung ist diese:

Warning: Cannot modify header information - headers already sent by (output started at /var/www/vhosts/bridge-club-luedenscheid.de/httpdocs/de/head.inc:99) in /var/www/vhosts/bridge-club-luedenscheid.de/httpdocs/de/ergebnisse/checkuser.php on line 8

Die Meldung bedeutet, dass Du den Header schon versendet hast und danach versuchst noch Daten des Headers zu manipulieren:

Als Bsp:


echo "<html>";
header(.....);
[/PHP]

würde genau den Fehler bringen. Schaue einmal bitte nach, wann Du wie, Informationen versendest, es wird irgendwo nicht die Reihenfolge korrekt sein. Get und Post Parameter solltest Du verarbeiten, bevor der Header versendet wird.

Phil

Geschrieben (bearbeitet)

Vielleicht ein Tipp fuer dein naechstes Projekt mit PHP:

Generiere zuerst die HTML-Ausgabe und gebe sie erst nach Ablauf des Programmes an den Client ab. Die einzelnden HTML-Bausteine kannst du in Funktionen packen und so mehrmals verwenden. Den Rueckgabewert dieser Funktionen haengst du einer Variable an. Du kannst sie auch so erstellen das du zum Beispiel Arrays uebergibtst und dann die Funktion auch das Erstellen einer DropDown-Box uebernimmt. So hast du das aus deinem eigentlichen Programmcode raus und behaeltst besser die Uebersicht.

Beispiel:

$HTML_Kopf = $HTML_Kopf.HTML_Kopf($Eingabewerte, $Sprache);

$HTML_Suchleiste = ...

Vorteile:

- Du kannst einzelnde Elemente deiner Webseite trennen

- Die einzigen Funktionen die HTML-Code enthalten sind extra dafuer erstellt und du behaeltst so die Uebersicht

- Du kannst durch neue Funktionen weitere HTML-Elemente an die bereits generierten Ausgaben dranhaengen

- Du kannst die HTML-Variablen noch mal nachtraeglich Filtern (z.B. Zeichenfolgen in Smilis umwandeln, Zeichennotation in gewoehnliche Zeichen Umwandeln usw.)

- Die erstelltzen Variablen kannst du in einer HTML-Maske ausgeben

- Downloads lassen sich einfach realisieren

Und Vieles mehr! Dein Problem ist durch diese Vorgehensweise ausserdem ausgeschlossen ;)

Bearbeitet von FfFCMAD
Geschrieben
Die einzelnden HTML-Bausteine kannst du in Funktionen packen und so mehrmals verwenden.

Dies halte ich bei einer Neuentwicklung für nicht mehr zeitgemäß. Hier würde mann doch eher auf ein OOP Konzept bzw Zend o.ä. setzen

Phil

Geschrieben
Dies halte ich bei einer Neuentwicklung für nicht mehr zeitgemäß. Hier würde mann doch eher auf ein OOP Konzept bzw Zend o.ä. setzen

Phil

Ich bin bei meiner Aussage davon ausgegangen das man etwas selbst macht.

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...