myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Zurück   myGully.com > Computer & Technik > Programmierung
Seite neu laden

PHP Fehler nach Umzug

Willkommen

myGully

Links

Forum

 
Antwort
Themen-Optionen Ansicht
Ungelesen 05.12.10, 14:36   #1
kinderriegel159
Anfänger
 
Registriert seit: Apr 2010
Beiträge: 7
Bedankt: 1
kinderriegel159 ist noch neu hier! | 0 Respekt Punkte
Standard PHP Fehler nach Umzug

Hallo,
google hilft mir auch nicht mehr weiter und ich hoffe ihr könnt mir bei folgendem Problem helfen:

ich habe mir eine kleine Website gebastelt die auch so funktioniert wie sie soll. Sie liegt momentan noch bei funpic. Ich habe mir nun aber einen vServer gemietet. Darauf läuft apache2. Wenn ich jetzt die Seite auf diesen kopiere bekomme ich beim einloggen immer die Fehlermeldungen:
Code:
Warning: Cannot modify header information - headers already sent by (output started at /var/www/ftp_upload/index.php:13) in /var/www/ftp_upload/geschuetzt/login_pruefen.php on line 21

Warning: Cannot modify header information - headers already sent by (output started at /var/www/ftp_upload/index.php:13) in /var/www/ftp_upload/geschuetzt/login_pruefen.php on line 22
An den entsprechenen Stellen in login_pruefen.php sollen einfach nur 2 cookies gesetzt werden und in index.php wird an der Stelle ein Bild eingebunden.

Ich hoffe ihr könnt mir helfen und ich habe euch alle nötigen Informationen gegeben.
kinderriegel159 ist offline   Mit Zitat antworten
Ungelesen 05.12.10, 15:20   #2
nichdiemama
Stammi
 
Registriert seit: Jan 2010
Beiträge: 1.142
Bedankt: 1.457
nichdiemama leckt gerne myGully Deckel in der Kanalisation! | 61562639 Respekt Punktenichdiemama leckt gerne myGully Deckel in der Kanalisation! | 61562639 Respekt Punktenichdiemama leckt gerne myGully Deckel in der Kanalisation! | 61562639 Respekt Punktenichdiemama leckt gerne myGully Deckel in der Kanalisation! | 61562639 Respekt Punktenichdiemama leckt gerne myGully Deckel in der Kanalisation! | 61562639 Respekt Punktenichdiemama leckt gerne myGully Deckel in der Kanalisation! | 61562639 Respekt Punktenichdiemama leckt gerne myGully Deckel in der Kanalisation! | 61562639 Respekt Punktenichdiemama leckt gerne myGully Deckel in der Kanalisation! | 61562639 Respekt Punktenichdiemama leckt gerne myGully Deckel in der Kanalisation! | 61562639 Respekt Punktenichdiemama leckt gerne myGully Deckel in der Kanalisation! | 61562639 Respekt Punktenichdiemama leckt gerne myGully Deckel in der Kanalisation! | 61562639 Respekt Punkte
Standard

kommst Du an den alten Server noch ran oder kennst einfach so die php version, die dort gelaufen ist ?
hlrt sich danach an als wärst Du jetzt auf einer neueren php version oder in der php.ini jetzt ist etwas deaktiviert, das es vorher nicht war.

ein anderer grund können auch zugriffsrechte auf einer datei sein, die du evtl. innerhalb der index.php versuchst zu benutzen. greifst Du auf eine Datei zu also lesen schreiben etc. ?
nichdiemama ist offline   Mit Zitat antworten
Ungelesen 05.12.10, 15:41   #3
kinderriegel159
Anfänger
 
Registriert seit: Apr 2010
Beiträge: 7
Bedankt: 1
kinderriegel159 ist noch neu hier! | 0 Respekt Punkte
Standard

Ja ich komm an den alten Server noch ran hier mal ein Aufruf von phpinfo() auf dem alten Server:
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
und hier vom neuen:
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]

index.php selber greift auf keine Datei zu außer die die sie includen soll. In dem Fall die login_pruefen.php greift auf eine Textdatei wobei ich für die Datei testweise mal CHMOD 777 gesetzt habe.
kinderriegel159 ist offline   Mit Zitat antworten
Ungelesen 05.12.10, 19:14   #4
Xalir
Erfahrener Newbie
 
Registriert seit: Mar 2009
Beiträge: 154
Bedankt: 56
Xalir ist noch neu hier! | 0 Respekt Punkte
Standard

Die Fehlermeldung besagt, dass Du schon die Headerdaten abgesendet hast und nun versuchst weitere hinzuzufügen.

Warum es auf dem einen Server klappt und auf dem anderen nicht, kann daran liegen, das entweder der Apache bereits einen Handler hat womit er die Daten sendet (was aber eher unwahrscheinlich ist) oder Du einen Fehler im S***** hast und die Header z.B. in der index.php bereits abgesendet hast und nun in der login...php den Header um die Cookie-Einträge zu erweitern versuchst.
Xalir ist offline   Mit Zitat antworten
Ungelesen 05.12.10, 19:31   #5
kinderriegel159
Anfänger
 
Registriert seit: Apr 2010
Beiträge: 7
Bedankt: 1
kinderriegel159 ist noch neu hier! | 0 Respekt Punkte
Standard

Ja die Header werden schon in index.php gesendet soweit ich das erkennen kann aber auf dem neuen Server sind ja exakt die gleichen Dateien wie auf dem Alten. Hast du oder jemand anders eine Lösung dafür oder muss ich jetzt das ganze Loginskript umbauen?
kinderriegel159 ist offline   Mit Zitat antworten
Ungelesen 05.12.10, 19:43   #6
Xalir
Erfahrener Newbie
 
Registriert seit: Mar 2009
Beiträge: 154
Bedankt: 56
Xalir ist noch neu hier! | 0 Respekt Punkte
Standard

Sende die Headerdaten ab, nachdem Du aus dem Aufruf zur Deiner login_pruefen.php zurückkommst. Das sollte das Problem lösen.
Xalir ist offline   Mit Zitat antworten
Ungelesen 05.12.10, 19:49   #7
kinderriegel159
Anfänger
 
Registriert seit: Apr 2010
Beiträge: 7
Bedankt: 1
kinderriegel159 ist noch neu hier! | 0 Respekt Punkte
Standard

Sorry wenn ich mich gerade ein bisschen blöd anstelle aber wie sende ich die Header daten denn am Ende ab? Hier mal meine index.php:

PHP-Code:
<?php session_start(); ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Index</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<!-- Seitenkopf -->
<img id="kopf" src="images/Webablage.png" onclick="http://revolutionfight.re*****pic.de/"/>
<!-- Seitenkopf dem sein Ende -->



<div id="menue" align="center">
<table border="0" align="center" height="top">
<tr><td>
<a href="index.php?page=home.php"><img src="images/button_home2.png" alt="Home" border="0" width="95%" height="32%"/></a>
</td><td><a href="index.php?page=Download.php"><img src="images/button_downloads2.png" alt="Downloads" border="0" width="95%" height="32%"/></a>
</td><td><a href="index.php?page=geschuetzt/upload.php"><img src="images/button_upload.png" alt="Upload" border="0" width="95%" height="32%"/>
</td><td><a href="index.php?page=geschuetzt/login.php"><img src="images/button_geschuetzter_bereich2.png" alt='Geschuetzter Bereich' border="0" width="95%" height="32%"/></a></td></tr>
</table>

</div>
<!-- menü ende -->

<div id="loginbox">
<?php
//wenn eingeloggt, ausloggen button anzeigen
if($_COOKIE['login']=="XXXXX")
{
     
$username $_COOKIE['username'];
     echo (
'<br><br>Hallo, '.$username.'.');
     echo(
'<form action="index.php?page=geschuetzt/logout.php" method="POST"><input type="submit" value="Ausloggen"></form>'); 
}else{
     include(
'geschuetzt/login.php');
}

?>
</div>



<!-- Seiteninhalt -->
<div id="inhalt">
<?php

//wenn ?page nicht gesetzt include home.php sonst include ?page
$_page $_GET['page'];

if (
$_page==""){ 
    include(
"home.php"); 
    } else {
    echo 
'';
    include (
$_page);
    echo 
'';
    }
    

?>
</div>
<div id="copyright">
<p>&copy; by Alexander Hurtado</p>
</div>
<!-- seiteninhalt ende -->
</body>
</html>
Ich hoffe du kannst mir damit weiter helfen.
kinderriegel159 ist offline   Mit Zitat antworten
Ungelesen 05.12.10, 20:24   #8
Xalir
Erfahrener Newbie
 
Registriert seit: Mar 2009
Beiträge: 154
Bedankt: 56
Xalir ist noch neu hier! | 0 Respekt Punkte
Standard

Überlege mal selbst, wie Du das machen kannst. Ein Webserver gibt immer zu allererst den HTTP-Header aus. In dem Header stehen unter anderem die Cookies, die der Browser setzen soll.

Danach gibt er das eigentliche HTML-Dokument aus. Du sendest jedoch schon die Header, danach ein Teil des HTML-Dokuments und versuchst mit Deiner login-Routine, weitere Header zu setzen, was aber nicht geht.

Das heißt, alles was Du im HTTP-Header hinzufügen willst, muss an den Anfang. Und erst danach kommt das HTML-Dokument.
Xalir ist offline   Mit Zitat antworten
Ungelesen 05.12.10, 20:33   #9
kinderriegel159
Anfänger
 
Registriert seit: Apr 2010
Beiträge: 7
Bedankt: 1
kinderriegel159 ist noch neu hier! | 0 Respekt Punkte
Standard

Ok dann bin ich jetzt genau so weit wie vorher. Ichd achte es gibt irgendeinen Trick das zu umgehen oder so. Ich werde das ganze dann wohl anders lösen müssen. Naja trotzdem danke.
kinderriegel159 ist offline   Mit Zitat antworten
Ungelesen 05.12.10, 23:24   #10
urga
Mitglied
 
Benutzerbild von urga
 
Registriert seit: Aug 2009
Ort: void* (*wtf[])(void **);
Beiträge: 453
Bedankt: 137
urga ist noch neu hier! | 0 Respekt Punkte
Standard

das wird zu 95% an dem error_reporting von php liegen. der neue server verhält sich anders als der neue.
probier mal als _erste_ php-anweisung:
Code:
error_reporting (22519); // <- der wert vom alten server lt. phpinfo()
// oder
error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_WARNING);
// oder
error_reporting(E_ALL & ~E_NOTICE);
// oder kombinationen
siehe auch [ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
__________________
entropie erfordert keine wartung
urga ist offline   Mit Zitat antworten
Ungelesen 05.12.10, 23:25   #11
Xalir
Erfahrener Newbie
 
Registriert seit: Mar 2009
Beiträge: 154
Bedankt: 56
Xalir ist noch neu hier! | 0 Respekt Punkte
Standard

Das dürfte aber sein Problem nicht lösen, dann wird die Fehlermeldung unterdrückt, aber das Cookie dennoch nicht gesendet?
Xalir ist offline   Mit Zitat antworten
Ungelesen 06.12.10, 16:32   #12
kinderriegel159
Anfänger
 
Registriert seit: Apr 2010
Beiträge: 7
Bedankt: 1
kinderriegel159 ist noch neu hier! | 0 Respekt Punkte
Standard

Also erstmal danke für deinen Hilfeversuch aber Xalir hat Recht. Der Fehler wird nur unterdrückt und Cookies werden trotzdem nicht gesetzt. Ich hab auch alle möglichen Kombinationen der Befehle ausprobiert.
kinderriegel159 ist offline   Mit Zitat antworten
Ungelesen 06.12.10, 17:15   #13
kinderriegel159
Anfänger
 
Registriert seit: Apr 2010
Beiträge: 7
Bedankt: 1
kinderriegel159 ist noch neu hier! | 0 Respekt Punkte
Standard

So habs jetzt geschafft. Ich hab jetzt einfach die Seiten auf denen cookies gesetzt werden alleine aufgerufen und nicht über die index.php included. Jetzt werden vorher keine Header mehr gesendet und die Cookies werden ordnungsgemäß gesetzt.

Danke nochmal an alle, die mir geholfen haben.
Von mir aus kann jetzt hier geschlossen werden.
kinderriegel159 ist offline   Mit Zitat antworten
Antwort


Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:26 Uhr.


Sitemap

().