Warning: Cannot modify header information - headers already sent by

0

Witam
Mam problem gdy obsługuję przez home.pl pojawia się >Warning: Cannot modify header information - headers already sent by (output started at /basic/create.php:1) in /basic/create.php on line 57> natomiast przez xammp jest ok ma ktoś jakąś podpowiedź co jest nie tak

<!DOCTYPE html>
<html lang="pl">
<head>
    <meta charset="utf-8">
    <link   href="bootstrap.min.css" rel="stylesheet">
    <script src="bootstrap.min.js"></script>
</head>

<?php
     
    require 'database.php';
 
    if ( !empty($_POST)) {
        // keep track validation errors
        $nameError = null;
        $emailError = null;
        $mobileError = null;
         
        // keep track post values
        $name = $_POST['name'];
        $email = $_POST['email'];
        $mobile = $_POST['mobile'];
         
        // validate input
        $valid = true;
        if (empty($name)) {
            $nameError = 'NIC NIE WPISANO';
            $valid = false;
        }
         
        if (empty($email)) {
            $emailError = 'NIC NIE WPISANO';
            $valid = false;
        } else if ( !filter_var($email,FILTER_VALIDATE_EMAIL) ) {
            $emailError = 'Please enter a valid Email Address';
            $valid = false;
        }
         
        if (empty($mobile)) {
            $mobileError = 'NIC NIE WPISANO';
            $valid = false;
        }
         
        // insert data
        if ($valid) {
            $pdo = Database::connect();
            $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
            $sql = "INSERT INTO contactus (name,email,message,created_date,status) values(?, ?, ?,'" . date('d-m-Y H:i:s') . "','" .'W realizacji'. "')";
            $q = $pdo->prepare($sql);
            $q->execute(array($name,$email,$mobile));
            Database::disconnect();
            header("Location: index.php");
        }
    }
?>
 
<body>
    <div class="container">
     
                <div class="span10 offset1">
                    <div class="row">
                        <h3>DODAJ DO BAZY</h3>
                    </div>
             
                    <form class="form-horizontal" action="create.php" method="post">
                      <div class="control-group <?php echo !empty($nameError)?'error':'';?>">
                        <label class="control-label">NAZWA</label>
                        <div class="controls">
                            <input name="name" type="text"  placeholder="NAZWA" value="<?php echo !empty($name)?$name:'';?>">
                            <?php if (!empty($nameError)): ?>
                                <span class="help-inline"><?php echo $nameError;?></span>
                            <?php endif; ?>
                        </div>
                      </div>
                      <div class="control-group <?php echo !empty($emailError)?'error':'';?>">
                        <label class="control-label">ADRESS EMAIL</label>
                        <div class="controls">
                            <input name="email" type="text" placeholder="EMAIL ADRESS" value="<?php echo !empty($email)?$email:'';?>">
                            <?php if (!empty($emailError)): ?>
                                <span class="help-inline"><?php echo $emailError;?></span>
                            <?php endif;?>
                        </div>
                      </div>
                      <div class="control-group <?php echo !empty($mobileError)?'error':'';?>">
                        <label class="control-label">WIADOMOŚĆ</label>
                        <div class="controls">
                            <input name="mobile" type="text"  placeholder="WPISZ WIADOMOŚĆ" value="<?php echo !empty($mobile)?$mobile:'';?>">
                            <?php if (!empty($mobileError)): ?>
                                <span class="help-inline"><?php echo $mobileError;?></span>
                            <?php endif;?>
                        </div>
                      </div>
                      <div class="form-actions">
                          <button type="submit" class="btn btn-success">DODAJ</button>
                          <a class="btn" href="index.php">POWRÓT</a>
                        </div>
                    </form>
                </div>
                 
    </div> <!-- /container -->
  </body>
</html>
1

Tak jest, jak na wyjściu pojawiała sie choćby spacja - wymusza wysłanie nagłówków.
A u ciebie są wysyłane przynajmniej puste linie.

PS. widzenie problemów np w dostawcy (kompilatorze, systemie operacyjnym) a nie swoim kodzie, to bardzo charakterystyczne

2

Nagłówki muszą być wysyłane przed wszelką inną treścią.

<?php
// tu wysyłamy nagłówki
// a przed wysłaniem nagłówków nie może być żadnego echo()
?><!DOCTYPE html>
1

Wysylas header a przed kodem php masz kupe htmla

1 użytkowników online, w tym zalogowanych: 0, gości: 1