tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
12
ZUGRIFFE
345
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von cille
    cille cille ist offline Mitglied Brokat
    Registriert seit
    Jan 2006
    Ort
    Germany, Cottbus (BB)
    Beiträge
    464
    Hi ho,
    habe das altbekannte Problem mit dem Header.

    Fehler:
    PHP-Code:
    WarningCannot modify header information headers already sent by (output started at C:\Programme\xampp\htdocs\projekte\Webdesign\truemmel\hp\login2.php:14in C:\Programme\xampp\htdocs\projekte\Webdesign\truemmel\hp\login2.php on line 96 
    Hab das Forum durchstöbert, aber verstehe die antowrten nicht so,
    ich weis nur 1, und zwar, dass der Code:
    PHP-Code:
    header ("Location: intern.php"); 
    am anfang stehen muss,
    aber ick will ja denn inhalt da haben wo ich ihn haben will.

    Was kann ich dagegen Tun?
    und wie währe die beste lösung?

    Wenn Ihr eine Antwort wisst, bitte in einfachen sätzen oder stichpunkten erklären.

    Hier mal der gesamte code:
    PHP-Code:
    <?php 
    // Datenbankverbindung aufbauen 
    include('config/config.php');
    if (!
    mysql_select_db ("trummel"$dbconnect)) 

      die (
    "Keine Verbindung zur Datenbank"); 


    $sql "SELECT id, name, nachname, vorname FROM users WHERE (name like '".$_REQUEST["name"]."') AND (pass = '".md5($_REQUEST["pwd"])."')"
    $result mysql_query ($sql); 

    if (
    mysql_num_rows ($result) > 0

      
    // Benutzerdaten in ein Array auslesen. 
      
    $data mysql_fetch_array ($result); 

      
    // Sessionvariablen erstellen und registrieren 
      
    $_SESSION["user_id"] = $data["id"]; 
      
    $_SESSION["user_name"] = $data["name"]; 
      
    $_SESSION["user_nachname"] = $data["nachname"]; 
      
    $_SESSION["user_vorname"] = $data["vorname"]; 

      
    header ("Location: intern.php"); 

    else 

      
    header ("Location: formular.php?fehler=1"); 

    ?>
    Würd mich riesig freuen, DANKE!
     
    Zitat von Andree Beaulieu-Green
    Programmieren ist wie küssen: Man kann darüber reden, man kann es beschreiben, aber man weiß erst, was es bedeutet, wenn man es getan hat.

  2. #2
    Registriert seit
    Apr 2006
    Ort
    Freiburg
    Beiträge
    290
    Blog-Einträge
    2
    Hi,

    wie wäre es damit?
    PHP-Code:
    die('<meta http-equiv="refresh" content="0; url=http://www.example.com">'
    MArc
     
    Kryn.cms - einfach anders.

    "When you're talking about webserver, as it is, with no rules, well then, baby you'd better block every tiny hole of your server!" - MArc (inspired by Bruce L.)

  3. #3
    Avatar von Divi
    Divi Divi ist offline Mitglied Gold
    Registriert seit
    Aug 2004
    Beiträge
    238
    Also wenn die Datei oben keine Freizeilen über dem "<?" hat, dann hast du wohl eine Ausgabe (z.B. debug) in deiner Config stehen...
    Es ist wirklich so, dass VOR dem header NICHTS anderes ausgegebenw erden darf.
    Wenn du den header erst später in deinem script schicken willst, dann musst du entweder die seite neu laden und das am Anfang des Scripts abfangen oder du musst das ganze Zeug was du vorher rausschreiben würdest in eine Variable schreiben, und die erst unter dem header ausgeben (wenn du den header nicht setzen willst)...
    Wenn du den Location-Header ja setzt, dann verlangst du ja einen sofortigen Seitenwechsel von deinem User und in dem Fall bringt dir content auf der Seite ja eh nichts, weil der Benutzer die Seite ja schon verlassen hat...

    Eine alternative wären ob_end() und ob_start() (müssten so heißen) - damit kannste verhindern, adss die Ausgabe geschickt wird (also könnteste die Ausgabe bis zum header zurückhalten)
     

  4. #4
    Avatar von cille
    cille cille ist offline Mitglied Brokat
    Registriert seit
    Jan 2006
    Ort
    Germany, Cottbus (BB)
    Beiträge
    464
    Hi ho,
    danke für die Antwort,
    aber wenn ich das
    PHP-Code:
    die('<meta http-equiv="refresh" content="0"; url="formular.php?fehler=1">'); 
    anstelle von das:
    PHP-Code:
     header ("Location: formular.php?fehler=1"); 
    eingebe, ist ein dauer refresh aktiv.

    was könnte das sein?
     
    Zitat von Andree Beaulieu-Green
    Programmieren ist wie küssen: Man kann darüber reden, man kann es beschreiben, aber man weiß erst, was es bedeutet, wenn man es getan hat.

  5. #5
    Avatar von Divi
    Divi Divi ist offline Mitglied Gold
    Registriert seit
    Aug 2004
    Beiträge
    238
    wenn du dich immer selber auf die gleiche seite schickst, dann kommt da auch immer wieder der reload ... wie wärs mit

    if (!isste($_REQUEST["fehler"])) {
    die(meta...);
    }
     

  6. #6
    Registriert seit
    Mar 2005
    Ort
    Bühl/Baden
    Beiträge
    2.330
    Wie wäre es mit "Output Control"?

    PHP-Code:
    <?php
    ob_start
    ();

    #Der ganze Code, der da hin soll.

    ob_end_flush();
    ?>
     
    Gruß fanste

    Benutze bitte immer die passende Highlight-Tags.(z.B: für PHP [php] [/php] Allgemein: [highlight=SCRIPTSPRACHE]Code[/highlight] )

    Problem gelöst? Dann markiere das Thema bitte als erledigt!
    Beachte bitte die Netiquette. Insbesondere Punkt 15.

  7. #7
    Avatar von cille
    cille cille ist offline Mitglied Brokat
    Registriert seit
    Jan 2006
    Ort
    Germany, Cottbus (BB)
    Beiträge
    464
    Keins funktioniert,

    ich verzweifle
     
    Zitat von Andree Beaulieu-Green
    Programmieren ist wie küssen: Man kann darüber reden, man kann es beschreiben, aber man weiß erst, was es bedeutet, wenn man es getan hat.

  8. #8
    Registriert seit
    Mar 2005
    Ort
    Bühl/Baden
    Beiträge
    2.330
    Kann nicht sein. Der "Output buffer" funktioniert eigentlich immer. Zeig mla den Code, wie du ihn eingebaut hast.
     
    Gruß fanste

    Benutze bitte immer die passende Highlight-Tags.(z.B: für PHP [php] [/php] Allgemein: [highlight=SCRIPTSPRACHE]Code[/highlight] )

    Problem gelöst? Dann markiere das Thema bitte als erledigt!
    Beachte bitte die Netiquette. Insbesondere Punkt 15.

  9. #9
    Avatar von cille
    cille cille ist offline Mitglied Brokat
    Registriert seit
    Jan 2006
    Ort
    Germany, Cottbus (BB)
    Beiträge
    464
    Hier der Code:
    PHP-Code:
    <?php 
    // Datenbankverbindung aufbauen 
    include('config/config.php');
    if (!
    mysql_select_db ("trummel"$dbconnect)) 

      die (
    "Keine Verbindung zur Datenbank"); 


    $sql "SELECT id, name, nachname, vorname FROM users WHERE (name like '".$_REQUEST["name"]."') AND (pass = '".md5($_REQUEST["pwd"])."')"
    $result mysql_query ($sql); 

    if (
    mysql_num_rows ($result) > 0

      
    // Benutzerdaten in ein Array auslesen. 
      
    $data mysql_fetch_array ($result); 

      
    // Sessionvariablen erstellen und registrieren 
      
    $_SESSION["user_id"] = $data["id"]; 
      
    $_SESSION["user_name"] = $data["name"]; 
      
    $_SESSION["user_nachname"] = $data["nachname"]; 
      
    $_SESSION["user_vorname"] = $data["vorname"]; 
        
    ob_start(); 
      
    header ("Location: intern.php"); 
    ob_end_flush(); 

    else 

    ob_start(); 
      
    header ("Location: formular.php?fehler=1"); 
    ob_end_flush(); 

    ?>
    ist das falsch?
     
    Zitat von Andree Beaulieu-Green
    Programmieren ist wie küssen: Man kann darüber reden, man kann es beschreiben, aber man weiß erst, was es bedeutet, wenn man es getan hat.

  10. #10
    Registriert seit
    Mar 2005
    Ort
    Bühl/Baden
    Beiträge
    2.330
    Geht aus meinem Code denn nicht hervor, wie es richtig eingebaut wird?!

    PHP-Code:
    <?php  
    ob_start
    ();
    // Datenbankverbindung aufbauen  
    include('config/config.php'); 
    if (!
    mysql_select_db ("trummel"$dbconnect))  
    {  
      die (
    "Keine Verbindung zur Datenbank");  
    }  

    $sql "SELECT id, name, nachname, vorname FROM users WHERE (name like '".$_REQUEST["name"]."') AND (pass = '".md5($_REQUEST["pwd"])."')";  
    $result mysql_query ($sql);  

    if (
    mysql_num_rows ($result) > 0)  
    {  
      
    // Benutzerdaten in ein Array auslesen.  
      
    $data mysql_fetch_array ($result);  

      
    // Sessionvariablen erstellen und registrieren  
      
    $_SESSION["user_id"] = $data["id"];  
      
    $_SESSION["user_name"] = $data["name"];  
      
    $_SESSION["user_nachname"] = $data["nachname"];  
      
    $_SESSION["user_vorname"] = $data["vorname"];  

      
    header ("Location: intern.php");  
    }  
    else  
    {  
      
    header ("Location: formular.php?fehler=1");  

    ob_end_flush(); 
    ?>
     
    Gruß fanste

    Benutze bitte immer die passende Highlight-Tags.(z.B: für PHP [php] [/php] Allgemein: [highlight=SCRIPTSPRACHE]Code[/highlight] )

    Problem gelöst? Dann markiere das Thema bitte als erledigt!
    Beachte bitte die Netiquette. Insbesondere Punkt 15.

  11. #11
    Avatar von cille
    cille cille ist offline Mitglied Brokat
    Registriert seit
    Jan 2006
    Ort
    Germany, Cottbus (BB)
    Beiträge
    464
    Funktioniert irgendwie immernoch nicht,
    Fehler:
    Code :
    1
    
    Warning: Cannot modify header information - headers already sent by (output started at C:\Programme\xampp\htdocs\projekte\Webdesign\truemmel\hp\login2.php:13) in C:\Programme\xampp\htdocs\projekte\Webdesign\truemmel\hp\login2.php on line 92
    hier mal der komplette code von der seite:
    PHP-Code:
    <?php session_start (); ?>
    HTML-Code:
    <!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=iso-8859-1" />
    	<title></title>
      <link href="style.css" rel="stylesheet" type="text/css" />
    		
    </head>
    
    <body>
    <table width="1000" height="100" align="center" border="0" cellpadding="0" cellspacing="0">
      <tr valign="middle" align="center">
      	<td align="center" valign="middle">
    	<div id="middle">
          <table width="1000" border="1" valgin="middle" align="center" cellpadding="0" cellspacing="0" bordercolor="#000000">
            <tr>
              <td width="1247" align="center" valign="middle"><table width="1000" height="100" border="0" align="center" cellpadding="0" cellspacing="0">
                  <tr>
                    <td width="1000" height="228" background="http://www.tutorials.de/forum/images/01.gif"><table width="1000" height="149" border="0" cellpadding="0" cellspacing="0">
                      <tr>
                        <td width="860">
    					
    					<marquee behavior="scroll" direction="left" width="864" scrollamount="1" scrolldelay="20" truespeed="yes">
    						<?php include("lauf/login.php"); ?>
    					</marquee>
    					
    					</td>
                        <td width="140">&nbsp;</td>
                      </tr>
                    </table>
    			   </td>
                  </tr>
                  <tr>
                    <td><table width="1000" border="0" align="center" cellpadding="0" cellspacing="0">
                        <tr>
                          <td width="409" valign="top"><table width="409" border="0" cellspacing="0" cellpadding="0">
                              <tr>
                                <td width="106" height="107" valign="top"><a href="die_druckerei.php" onMouseOver="austausch1.src='images/02_roll.gif';" onmouseout="austausch1.src='images/02.gif';" ><img name="austausch1" src="http://www.tutorials.de/forum/images/02.gif" width="109" height="107" border="0" align="top" /></a></td>
                                <td width="300" height="107" colspan="3" valign="top"><img src="http://www.tutorials.de/forum/images/03.gif" width="300" height="107" border="0" align="top" /></td>
                              </tr>
                              <tr>
                                <td width="106" height="99" valign="top"><a href="siebdruck.php" onMouseOver="austausch2.src='images/09_roll.gif';" onmouseout="austausch2.src='images/09.gif';"><img name="austausch2" src="http://www.tutorials.de/forum/images/09.gif" width="109" height="99" border="0" align="top" /></a></td>
                                <td width="99" height="99" valign="top"><a href="leistungen.php" onMouseOver="austausch3.src='images/10_roll.gif';" onmouseout="austausch3.src='images/10.gif';"><img name="austausch3" src="http://www.tutorials.de/forum/images/10.gif" width="99" height="99" border="0" align="top" /></a></td>
                                <td width="201" height="99" colspan="2" valign="top"><img src="http://www.tutorials.de/forum/images/11.gif" width="201" height="99" border="0" align="top" /></td>
                              </tr>
                              <tr>
                                <td width="109" height="101" valign="top"><a href="plakate.php" onMouseOver="austausch4.src='images/12_roll.gif';" onmouseout="austausch4.src='images/12.gif';"><img name="austausch4" src="http://www.tutorials.de/forum/images/12.gif" width="109" height="101" border="0" align="top" /></a></td>
                                <td width="99" height="101" valign="top"><a href="bucher.php" onMouseOver="austausch5.src='images/13_roll.gif';" onmouseout="austausch5.src='images/13.gif';"><img name="austausch5" src="http://www.tutorials.de/forum/images/13.gif" width="99" height="101" border="0" align="top" /></a></td>
                                <td width="50" height="101" valign="top"><a href="kunstdruck_am_bau.php" onMouseOver="austausch6.src='images/14_roll.gif';" onmouseout="austausch6.src='images/14.gif';"><img name="austausch6" src="http://www.tutorials.de/forum/images/14.gif" width="103" height="101" border="0" align="top" /></a></td>
                                <td width="98" height="101" valign="top"><img src="http://www.tutorials.de/forum/images/15.gif" width="98" height="101" border="0" align="top" /></td>
                              </tr>
                              <tr>
                                <td width="109" height="115" valign="top"><a href="referenzen.php" onMouseOver="austausch7.src='images/16_roll.gif';" onmouseout="austausch7.src='images/16.gif';"><img name="austausch7" src="http://www.tutorials.de/forum/images/16.gif" width="109" height="115" border="0" align="top" /></a></td>
                                <td width="99" height="115" valign="top"><a href="kontakt.php" onMouseOver="austausch8.src='images/17_roll.gif';" onmouseout="austausch8.src='images/17.gif';"><img name="austausch8" src="http://www.tutorials.de/forum/images/17.gif" width="99" height="115" border="0" align="top" /></a></td>
                                <td width="103" height="115" valign="top"><a href="links.php" onMouseOver="austausch9.src='images/18_roll.gif';" onmouseout="austausch9.src='images/18.gif';"><img name="austausch9" src="http://www.tutorials.de/forum/images/18.gif" width="103" height="115" border="0" align="top" /></a></td>
                                <td width="98" height="115" valign="top"><a href="login.php" onMouseOver="austausch10.src='images/19_roll.gif';" onmouseout="austausch10.src='images/19.gif';"><img name="austausch10" src="http://www.tutorials.de/forum/images/19.gif" width="98" height="115" border="0" align="top" /></a></td>
                              </tr>
                          </table></td>
                          <td width="26" height="422" valign="top"><img src="http://www.tutorials.de/forum/images/04.gif" width="26" height="422" /></td>
                          <td valign="top"><table width="402" border="0" cellspacing="0" cellpadding="0">
                              <tr>
                                <td width="402" height="17" valign="top"><img src="http://www.tutorials.de/forum/images/05.gif" width="402" height="17" align="top" /></td>
                              </tr>
                              <tr>
                                <td width="402" height="378" valign="top">
    								<div id="box">
    PHP-Code:
    <?php  
    ob_start
    ();
    // Datenbankverbindung aufbauen  
    include('config/config.php'); 
    if (!
    mysql_select_db ("trummel"$dbconnect))  
    {  
      die (
    "Keine Verbindung zur Datenbank");  
    }  

    $sql "SELECT id, name, nachname, vorname FROM users WHERE (name like '".$_REQUEST["name"]."') AND (pass = '".md5($_REQUEST["pwd"])."')";  
    $result mysql_query ($sql);  

    if (
    mysql_num_rows ($result) > 0)  
    {  
      
    // Benutzerdaten in ein Array auslesen.  
      
    $data mysql_fetch_array ($result);  

      
    // Sessionvariablen erstellen und registrieren  
      
    $_SESSION["user_id"] = $data["id"];  
      
    $_SESSION["user_name"] = $data["name"];  
      
    $_SESSION["user_nachname"] = $data["nachname"];  
      
    $_SESSION["user_vorname"] = $data["vorname"];  

      
    header ("Location: intern.php");  
    }  
    else  
    {  
      
    header ("Location: formular.php?fehler=1");  

    ob_end_flush(); 
    ?>
    HTML-Code:
    								</div>								
    								</td>
                              </tr>
                              <tr>
                                <td width="402" height="27" valign="top"><img src="http://www.tutorials.de/forum/images/20.gif" width="402" height="27" align="top" /></td>
                              </tr>
                          </table></td>
                          <td width="29" height="422" valign="top"><img src="http://www.tutorials.de/forum/images/06.gif" width="29" height="422" align="top" /></td>
                          <td width="134" height="422" valign="top"><img src="http://www.tutorials.de/forum/images/07.gif" width="134" height="422" align="top" /></td>
                        </tr>
                    </table></td>
                  </tr>
              </table>
             </td>
            </tr>
          </table>
          </div>
    	</td>
      </tr>
    </table>
    
    </body>
    </html>
    So schaut die login2.php aus.

    DANKE FÜR EURE HILFE, SEIT ECHT KLASSE
     
    Zitat von Andree Beaulieu-Green
    Programmieren ist wie küssen: Man kann darüber reden, man kann es beschreiben, aber man weiß erst, was es bedeutet, wenn man es getan hat.

  12. #12
    Registriert seit
    Mar 2005
    Ort
    Bühl/Baden
    Beiträge
    2.330
    Wo steht denn dieses "session_start()"?
    Wenn es in der login2.php steht, muss ALLES was in der Datei login2.php steht, von diesem Outputbuffer eingeschlossen sein.

    EDIT:
    Ich kapier nicht, warum du um diesen PHP Code den ganzen HTML Kram stehen hast. Du wirst doch sowieso weitergeleitet und bekommst ihn nicht zu Gesicht. Also ist das überflüssig.

    Und ich glaube kaum, dass es Tutorials.de recht ist, wenn du die Forum Buttons lädst (auch wenn unter den angegebenen URLs nichts zu finden ist.)
    Geändert von fanste (06.07.06 um 16:26 Uhr)
     
    Gruß fanste

    Benutze bitte immer die passende Highlight-Tags.(z.B: für PHP [php] [/php] Allgemein: [highlight=SCRIPTSPRACHE]Code[/highlight] )

    Problem gelöst? Dann markiere das Thema bitte als erledigt!
    Beachte bitte die Netiquette. Insbesondere Punkt 15.

  13. #13
    Avatar von cille
    cille cille ist offline Mitglied Brokat
    Registriert seit
    Jan 2006
    Ort
    Germany, Cottbus (BB)
    Beiträge
    464
    Hey leude,
    Fettes Dankeschön an euch,
    habe wiedermal etwas gelernt.

    Macht weiter so ;D
     
    Zitat von Andree Beaulieu-Green
    Programmieren ist wie küssen: Man kann darüber reden, man kann es beschreiben, aber man weiß erst, was es bedeutet, wenn man es getan hat.

Ähnliche Themen

  1. Ich verstehe es nicht...
    Von MsvP@habdichliebhasi im Forum CSS
    Antworten: 10
    Letzter Beitrag: 02.11.07, 18:48
  2. Antworten: 3
    Letzter Beitrag: 05.08.04, 10:45
  3. Antworten: 8
    Letzter Beitrag: 06.06.04, 12:49
  4. Antworten: 21
    Letzter Beitrag: 21.04.04, 17:05
  5. Ich verstehe PHP nicht!
    Von Fbiede im Forum PHP
    Antworten: 19
    Letzter Beitrag: 17.07.02, 21:12