[PHP] header manipulieren

Dieses Thema im Forum "Webentwicklung" wurde erstellt von poeffy, 30. Januar 2010 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 30. Januar 2010
    header manipulieren

    hi
    ich hab eine frage. und zwar möchte ich, wenn jemand auf meine index.php zugreift, also ganz normal den link der page öffnet, dass an die html adresse momentes jahr und monat angehangen werden.
    sowas habe ich schon probiert, dann kommt aber ein fehler mit header alrdy sent...

    if ($_GET["jahr"] =="" and $_GET["monat"] =="") {
    $dateCurr =mktime(0, 0, 0, date("m"), date("d"), date("Y"));
    $monthCurr = date('m', $dateCurr) ;
    $yearCurr = date('Y', $dateCurr) ;
    header ("Location: index.php?monat=$monthCurr&jahr=$yearCurr");
    } ?>

    kann man das irgendwie verwirklichen?
     
  2. 30. Januar 2010
    AW: header manipulieren

    header already sent, kommt wenn vorher iwo n Leerzeichen oder n Absatz noch zwischensteht. Dann kriegst du meist die Fehlermeldung.

    Geh also penibel durch den Quelltext (Anfang bis zu dem Codestück) oder poste hier mal den Anfang. Dann kann ich dir weiterhelfen...
     
  3. 30. Januar 2010
    AW: header manipulieren

    PHP:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
           "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title></title>
    <meta name="author" content="">
    <meta name="keywords" content="">
    <meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1" >
    <link rel="stylesheet" type="text/css" href="style/styleBox.css">
    <link rel="author" title="Impressum" href="/include/Impressum.inc.php">
    <script type="text/javascript">
    wmtt = null;
    document.onmousemove = updateWMTT;
    function updateWMTT(e) {
      if (wmtt != null) {
        x = (document.all) ? window.event.x + wmtt.offsetParent.scrollLeft : e.pageX;
        y = (document.all) ? window.event.y + wmtt.offsetParent.scrollTop  : e.pageY;
        wmtt.style.left = (x - 400) + "px";
        wmtt.style.top   = (y + 20) + "px";
      }
    }
    function showWMTT(id) {
      wmtt = document.getElementById(id);
      wmtt.style.display = "block"
    }
    function hideWMTT() {
      wmtt.style.display = "none";
    }
    </script>
    </head>
    <body>
    <?php
    if ( $_GET [ "jahr" ] == ""  and  $_GET [ "monat" ] == "" ) {
    $dateCurr  = mktime ( 0 0 0 date ( "m" ),  date ( "d" ),    date ( "Y" ));
    $monthCurr  date ( 'm' $dateCurr ) ;
    $yearCurr  date ( 'Y' $dateCurr ) ;
    $topic  $_GET [ "topic" ];
    header  ( "Location: index.php?topic= $topic &amp;monat= $monthCurr &amp;jahr= $yearCurr " );
    ?>
    das steht davor.
    und das ist die fehlermeldung:
    Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\www\...\index.php:33) in C:\xampp\htdocs\www\...\index.php on line 39
     
  4. 30. Januar 2010
    AW: header manipulieren

    is ja klar
    header ("Location:");
    funktioniert nur, wenn vorher kein html steht..
    du musst den php code komplett über die html-sachen packen
     
  5. 30. Januar 2010
    AW: header manipulieren

    oder buffern.

    über doctype schreibst folgendes:
    PHP:
    <? php ob_start ();  ?>
    nach "header" schreibst das:
    PHP:
    exit;
    und ans ende vor ?> schreibst das:
    PHP:
    ob_end_flush ();
    dann kannst du deine header setzen wo du lustig bist ^^
     
  6. 30. Januar 2010
    AW: header manipulieren

    joa.. finde ich persönlich, aber immer etwas unsauber^^
     
  7. 30. Januar 2010
    AW: header manipulieren

    Kannst ja auch den php-Teil an Anfang setzen...

    PHP:
    <? php
    if( $_GET [ "jahr" ] == ""  and  $_GET [ "monat" ] == "" ) {
    $dateCurr  = mktime ( 0 0 0 date ( "m" ),  date ( "d" ),  date ( "Y" ));
    $monthCurr  date ( 'm' $dateCurr ) ;
    $yearCurr  date ( 'Y' $dateCurr ) ;
    $topic  $_GET [ "topic" ];
    header  ( "Location: index.php?topic= $topic &monat= $monthCurr &jahr= $yearCurr " );
    ?>
    <html>
    <head>
    <title></title>
     
  8. 30. Januar 2010
    AW: header manipulieren

    da kommt dann aber der fehler(habs jetzt ganz an anfang gesetzt):#
    Die aufgerufene Website leitet die Anfrage so um, dass sie nie beendet werden kann.
    * Dieses Problem kann manchmal auftreten, wenn Cookies deaktiviert oder abgelehnt
    werden.

    was ja acuh irgendwie klar ist...hat jemand eine idee wies anders gehen könnte?

    ob man vielleicht irgendwie mit javascript: onmousemove if (header == "") { header location..... } machen könnte?

    oder vielleicht über meta tags?
     
  9. 30. Januar 2010
    AW: header manipulieren

    aber die ganze zeit refreshen ist ja auch nicht gut
     
  10. 30. Januar 2010
    AW: header manipulieren

    mit $_GET haben cookies nix zu tun.

    versteh auch grad ned warum du den fehler bekommst. die anfrage wird doch nur umgeleitet wenn jahr und monat nicht über $_GET übergeben werden.
     
  11. 30. Januar 2010
    AW: header manipulieren

    so ist jetzt gelöst.. hät das $topic nicht setztn dürfen weil die variabel ja noch garnicht gesetzt ist danke an alle
    mfg poeffy
     
  12. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.