Wie am besten lösen?

Die Fehlermeldung kommt meistens dann wenn du vor dem header schon was ausgegeben hast zb. dein Seiten-Layout.
Des kann man aber mit
PHP:
ob_start ();
am Anfang und mit
PHP:
ob_end_flush();
am ende beheben.
 
Die Fehlermeldung kommt meistens dann wenn du vor dem header schon was ausgegeben hast zb. dein Seiten-Layout.
Des kann man aber mit
PHP:
ob_start ();
am Anfang und mit
PHP:
ob_end_flush();
am ende beheben.

habe es jetzt so probiert
ob_start ();
header('Location: sichere_seite.php?page=katalog_erfolg');
exit;
ob_end_flush();

aber bekomme dennoch die gleiche Fehlermeldung
 
okay,
habe es jetzt so probiert

PHP:
<?php
session_start();
if(!session_is_registered('user') || $_SESSION['user'] == "") {
    header("location:index.php");
    die;
}
require("connect.inc.php");
?>
<?
ob_start ();
$userid = false;

if($_SERVER['REQUEST_METHOD'] == 'POST')
{
    if(isset($_POST['id']) && ctype_digit($_POST['id']))
    {
        $userid = $_POST['id'];
    
        ////EINFÜGEN !!
    $id = $_POST['id'];
      $begr = $_POST['begr'];
    $punkte = $_POST['punkte'];
    $posne = $_POST['posne'];


  

 
    
     $aendern = "UPDATE katalog
         Set
            `begr` = '$begr',
            `punkte` = '$punkte',
            `posne` = '$posne'
        

      WHERE `id` = $userid";
     $update = mysql_query($aendern);    


     
      }else{
        

        // Hier alle Felder validieren. Z.B. prüfen, ob eines leer ist bzw. ob ungültige Werte darin enthalten sind
        // Anschließend Daten in die Datenbank eintragen. BenutzerID steht in $userid
    

        if($update)
        {


            header('Location: sichere_seite.php?page=katalog_erfolg');
            exit;
        }
        else
        {
        echo "Fehler!";
        }
        
    }
    //  den else-Teil können wir uns sparen. Wenn eine ungültige ID übergeben wurde, wird $userid nicht verändert. Er springt also automatisch in den unteren else-Zweig "Ungültige Anfrage"
}
elseif(isset($_GET['id']) && ctype_digit($_GET['id']))
{
    $userid = $_GET['id'];
}

if($userid !== false)
{
//VORSICHT
    $sql = "SELECT id, posne, punkte, begr FROM `katalog` WHERE `id` = ".$userid;
    $result = mysql_query($sql);
    if(mysql_num_rows($result) == 1)
    {
        $userdata = mysql_fetch_object($result);
		ob_end_flush();

?>        
        <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
//formular
<?php
        
        // Formular aufbauen und Felder mit den Daten füllen
        // als action-Pfad wieder den Dateinamen wählen (z.B. site.php?page=benutzer_bearbeiten)
        // ein (hidden-)Feld mit der BenutzerID erstellen das id heißt
        // falls es beim abschicken (POST-TEIL) Fehler gab, kannst du eventuell die Daten aus dem POST nehmen, anstatt die Daten aus der Datenbank. Das ist dir überlassen ;)
    }
    else
    {
        // Fehlermeldung: Benutzer nicht gefunden!
    }
}
else
{
    // Fehlermeldung: Ungültige Anfrage
}
mysql_error()
?>

dennoch keine veränderung....
 
du musst die beiden befehle in die erste Datei einfügen die gestartet wird ist in den meisten fällen die "index.php"
 
Oh je mir graults bei dem was ich hier bisher gesehen habe..

PHP:
<?php 
ob_start();
session_start();

Das sind deine ersten Anweisungen in der Datei :)

PHP:
if(!session_is_registered('user') || $_SESSION['user'] == "") {
    header("location:index.php");
    die;
}

Mal ne Frage, du rufst das nicht aus der index.php auf oder?

PHP:
    $id = $_POST['id'];
      $begr = $_POST['begr'];
    $punkte = $_POST['punkte'];
    $posne = $_POST['posne'];

     $aendern = "UPDATE katalog
         Set
            `begr` = '$begr',
            `punkte` = '$punkte',
            `posne` = '$posne'

      WHERE `id` = $userid";
     $update = mysql_query($aendern);

Halte ich für stark bedenklich. Es wurde werder eine Validierung vorgenommen, noch irgendetwas escaped. Im schlimmsten Fall löschen sie dir damit die Datenbank. Lies dir bitte einiges zum Thema SQL-Injection durch.

Am besten du postest uns mal den Quelltext der aufgerufenen Seite. Darunter den des ersten Include usw. Maskier dabei die Passwörter. Und bitte dazu schreiben, um welchen Script es sich handelt. Beispiel:

PHP:
<?php
// File: index.php
...
?>
 
Zurück