Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] header () funktioniert nicht

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] header () funktioniert nicht

    PHP-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=utf-8" />
    <link rel="stylesheet" type="text/css" href="css/guestbook.css">
    <title>Guestbook - Neuer Eintrag</title>
    </head>
    <body>

    <?php
        
    if (isset($_POST['submit'])) {
        
            include(
    "db_verbinden.php");

            
    $fehler '';
            
            if (
    $_POST['form_name'] == '') {
                
    $fehler .= 'Kein korrekter Name!' '<br/>';
            }
            
            if (
    $_POST['form_email'] == '') {
                
    $fehler .= 'Keine korrekte Email-Adresse!' '<br/>';
            }
            
            if (
    $_POST['form_text'] == '') {
                
    $fehler .= 'Kein korrekter Text!' '<br/>';
            }
            
            if (
    $fehler != '') {
                echo 
    '<div class="fehler">'.$fehler.'</div>';
            } else {
                
    $timestamp time();
                
    $datum date("d.m.Y",$timestamp);
                  
    $zeit date("H:i",$timestamp);
                  
    $datum_zeit $datum." : ".$zeit;

                  
    $name $_POST["form_name"];
                  
    $email $_POST["form_email"];
                  
    $homepage $_POST["form_homepage"];
                  
    $text $_POST["form_text"];
                
                
    db_verbinden();
                        
                
    $eintragen "INSERT INTO guestbookdata (name, email, homepage, text, datum_zeit) 
                VALUES ('
    $name', '$email','$homepage', '$text','$datum_zeit')";
                
                
    $eintragen mysql_query($eintragen);

                echo 
    '<div class="fehler">'.'Ihr Eintrag war erfolgreich!'.'</div>';
                
                
    header("Location: guestbook.php");
                die;
            }
        }
    ?>

        <div class="formular_new">
            <p>
                <form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" method="post">
                Name:*<br/> 
                <input type="text" class="textfield" name="form_name" value="<?php 
                
    if (isset($_POST['form_name']) && !is_array($_POST['form_name'])) {
                echo 
    htmlspecialchars($_POST['form_name']);}
                
    ?>"/><br/>
                Email:*<br/>
                <input type="text" class="textfield" name="form_email" value="<?php
                
    if (isset($_POST['form_email']) && !is_array($_POST['form_email'])) {
                echo 
    htmlspecialchars($_POST['form_email']);}
                
    ?>"/><br/>
                Homepage:<br/>
                <input type="text" class="textfield" name="form_homepage" value="<?php
                
    if (isset($_POST['form_homepage']) && !is_array($_POST['form_homepage'])) {
                echo 
    htmlspecialchars($_POST['form_homepage']);}
                
    ?>"/><br/>
                Text:*<br/>
                <textarea cols="34" rows="15" class="textfield" name="form_text"><?php
                
    if (isset($_POST['form_text']) && !is_array($_POST['form_text'])) {
                echo 
    htmlspecialchars($_POST['form_text']);}
                
    ?></textarea><br/>
                <input type="submit" class="button" name="submit" value="eintragen!"/><br/>
                </form>
                (* = Pflichtfeld)
            </p>
        </div>
    </body>
    </html>
    Ich hoffe ihr könnte helfen. Er leitet nicht auf die gewünschte Seite weiter.

  • #2
    Hallo,

    was ist deine Frage? Ich sehe keine Frage! Wo ist die Frage geblieben?
    Location: fordert einen absoluten URL, außerdem darf vor dem header keine Ausgabe erfolgen (hier wird ja gleich ein ganzer Dokumentenanfang ausgegeben): OpenWebBoard / Tutorials / PHP & MySQL / Top10 der PHP-Fragen
    Keine Fehlermeldung? Dann Fehlerberichterstattung einschalten (selbige Seite, Frage #5).
    Bitte mit den Grundlagen beschaftigen!

    Kommentar


    • #3
      Ich nehme an

      das liegt daran, dass Du mit echo schon Ausgaben produzierst und dann eben der Fehler "headers already sent..." dabei rauskommt.

      Kommentar


      • #4
        Erstmal ein Danke an euch:

        Hab das "echo" entfernt, trotzdem bringt er noch folgenden fehler:


        Warning: Cannot modify header information - headers already sent by (output started at C:\Programme\xampp\htdocs\testbereich\guestbook\ne w.php:9) in C:\Programme\xampp\htdocs\testbereich\guestbook\ne w.php on line 53

        und leitet nicht weiter. woran könnte es noch liegen?
        MfG Robert

        Kommentar


        • #5
          Unsauber, aber funktioniert:
          PHP-Code:
          <?php
          ob_start
          ();

          [...]

          ob_end_flush();
          ?>

          Kommentar


          • #6
            versteh ich nicht was macht das ganze? wäre nett wenn du dazu noch was sagen könntest. und wo kommt das ganze hin? lg robert

            Kommentar


            • #7
              Es bringt nichts, wenn du das echo entfernst, vor dem PHP-Block aber noch einen gesamten HTML-Dokumenten-Kopf hast.
              In den Forenregeln wird das selbstständige Mitdenken zwar nicht explizit vorausgesetzt, aber auch nicht verboten.

              Kommentar


              • #8
                sorry, bin noch ganz neu im bereich php/mysql. jetzt funktioniert es! vielen dank

                Kommentar


                • #9
                  Dann bitte noch den Thread als [Erledigt] markieren.

                  Kommentar

                  Lädt...
                  X