Antworten auf deine Fragen:
Neues Thema erstellen

Headerfehler nach Datenbankeintrag

Phips_CH

Noch nicht viel geschrieben

Hallo Zusammen
Ich möchte mit Dreamweaver einen Datenbankeintrag machen und danach auf eine weitere Seite gelangen.
Mein Seite mit dem Formular ist im Hauptframe meiner Index-Seite.

Ich gehe dabei wie folgt vor.
Für den Datenbankeintrag verwende ich den Assistenten, fülle alles aus.
Bei: "Nach dem Einfügen hier hin gehen" gebe ich die Seite an, die danach im Hauptframe angezeigt werden soll.

Beim testen erhalte ich dann die Fehlermeldung:
Warning: Cannot modify header information - headers already sent by (output started at /home/***/htdocs/index.php:5) in /home/***/htdocs/postendienstanfrage_1_temp.php on line 73

in der Zeile 73 steht
Code:
 header(sprintf("Location: %s", $insertGoTo));


Was mach ich falsch? oder was kann ich machen, damit ich nach dem eintrag in die Datenbank auf meine gewünschte Seite gelange?

Gruss
Phips_CH
 

lachender_engel

Aktives Mitglied

Das erste was Du machen kannst ist nicht mit Frames arbeiten,
Das zweite was Du machen kannst ist uns den Code der beiden Seiten zeigen, damit wir sehen was da steht. Denn ich verstehe nicht was Du meinst mit "möchte mit Dreamweaver einen Datenbankeintrag machen". Da Dreamweaver ein HTML-Editor und kein Daten-Eintrage-Tool ist.
 

Phips_CH

Noch nicht viel geschrieben

Sorry, jetzt wo du es sagst, klingt wiklich doof. :)

Ich arbeite mit Dreamweaver
Da hab ich eine Index-Seite wo das Logo der Seite, die Navigation etc. angezeigt wird.
im Hauptframe hab ich zeige ich jeweils die Seiten an.
Nun hab ich im Hauptframe ein Formular, wo ich einen Datensatz eingebe. nach dem Absenden, möchte ich auf eine andere, bestehende Seite gelangen.
Der Eintrag funktioniert, aber ich bleib auf der Seite hängen und es gibt mir den ober beschriebenen Fehler raus.

Bei den Frame möcte ich vorerst bleiben, da ich die Seite übernommen habe und so alles umbauen müsste.

Den Code liefere ich heute Abend nach.
 

tr4ze

Mod | Forum

Teammitglied
PSD Beta Team
Beim testen erhalte ich dann die Fehlermeldung:
Warning: Cannot modify header information - headers already sent by (output started at /home/***/htdocs/index.php:5) in /home/***/htdocs/postendienstanfrage_1_temp.php on line 73
Das bedeutet einfach nur das du bereits einen Header gesendet hast.
Vor einem Header() darf keine Ausgabe (HTML) stattfinden, auch kein echo oder Leerzeichen.
Eine Weiterleitung wie du sie vorhast macht man mit Javascript, für Leute die Javascript deaktiviert haben bietet man einen Link an.
 

Phips_CH

Noch nicht viel geschrieben

Hier nun der Code von der Seite mit dem Formular.
Da ich den Code etwas gekürzt habe, ist der Fehler nun in der Zeile 56.

Code:
<?php require_once('../Connections/Samariterverein2.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
  if (PHP_VERSION < 6) {
    $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;   
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
  $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  $insertSQL = sprintf("INSERT INTO saer_postendienst (podi_ID, podi_veranstalter, podi_art, podi_ort, podi_adresse, podi_datum) VALUES (%s, %s, %s, %s, %s, %s)",
                       GetSQLValueString($_POST['podi_ID'], "int"),
                       GetSQLValueString($_POST['podi_veranstalter'], "text"),
                       GetSQLValueString($_POST['podi_art'], "text"),
                       GetSQLValueString($_POST['podi_ort'], "text"),
                       GetSQLValueString($_POST['podi_adresse'], "text"),
                       GetSQLValueString($_POST['podi_datum'], "text"));

  mysql_select_db($database_Samariterverein2, $Samariterverein2);
  $Result1 = mysql_query($insertSQL, $Samariterverein2) or die(mysql_error());

  $insertGoTo = "index.php?id=postendienstanfrage_2";
  if (isset($_SERVER['QUERY_STRING'])) {
    $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
    $insertGoTo .= $_SERVER['QUERY_STRING'];
  }
  header(sprintf("Location: %s", $insertGoTo));
}

mysql_select_db($database_Samariterverein2, $Samariterverein2);
$query_postendienstanfrage = "SELECT podi_ID, podi_veranstalter, podi_art, podi_ort, podi_adresse, podi_datum FROM saer_postendienst";
$postendienstanfrage = mysql_query($query_postendienstanfrage, $Samariterverein2) or die(mysql_error());
$row_postendienstanfrage = mysql_fetch_assoc($postendienstanfrage);
$totalRows_postendienstanfrage = mysql_num_rows($postendienstanfrage);
?>
<!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" />
<title>Unbenanntes Dokument</title>
</head>

<body>
<form action="<?php echo $editFormAction; ?>" method="post" name="form1" id="form1">
  <table align="center">
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">Podi_ID:</td>
      <td><input type="text" name="podi_ID" value="" size="32" /></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">Podi_veranstalter:</td>
      <td><input type="text" name="podi_veranstalter" value="" size="32" /></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">Podi_art:</td>
      <td><input type="text" name="podi_art" value="" size="32" /></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">Podi_ort:</td>
      <td><input type="text" name="podi_ort" value="" size="32" /></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">Podi_adresse:</td>
      <td><input type="text" name="podi_adresse" value="" size="32" /></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">Podi_datum:</td>
      <td><input type="text" name="podi_datum" value="" size="32" /></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">&nbsp;</td>
      <td><input type="submit" value="Datensatz einfügen" /></td>
    </tr>
  </table>
  <input type="hidden" name="MM_insert" value="form1" />
</form>
<p>&nbsp;</p>
</body>
</html>
<?php
mysql_free_result($postendienstanfrage);
?>

und hier den Code aus der Index-Seite

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">
<link rel="stylesheet" href="style.css" />


<head>
<script src="javascripts/prototype.js" type="text/javascript"></script>
<script src="javascripts/scriptaculous.js" type="text/javascript"></script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>***</title>
</head>
<body>
<div id="main">
    <div id="head"></div>
    <div id="content">
        <div id="left">
<?php
ob_end_flush();

include ("menu.php");
?>
</div>
        <div id="mid">
            <?php
                if($_GET['id']=="")
                    {
                    $id = "content";
                    }
                    else
                    {
                     $id = $_GET['id'];
                    }
                    if(file_exists("$id.php")){
                        include ("$id.php") ;
                   }
                   else
                   {
                        echo("Angeforderte Seite existiert nicht!");
                   }
            ?></div>
        <br />
        <?php if($_GET['bild']!=""){ ?>
                <div id="right"><br />
      <table id="box" width="160"cellspacing="0">
            <tr><td id="box_o"></td></tr>
            <tr><td id="box">
            <div id="bild">
                <img src="img/<?php echo($_GET['bild']); ?>" />
            </div></td></tr>
            <tr><td id="box_u"></td></tr>
        </table><br />
       
        </div> <?php }
        else
        {
            ?>
        <div id="right"><br />
      <table id="box" width="150"cellspacing="0">
            <tr><td id="box_o"></td></tr>
            <tr><td id="box"><h1>Veranstaltungen</h1>
            <div id="calendar3">
            <?php include("kalender.php"); ?>
            </div></td></tr>
            <tr><td id="box_u"></td></tr>
        </table><br />
      <table id="box" width="150" cellspacing="0">
            <tr><td id="box_o"></td></tr>
            <tr><td id="box"><h1>Links</h1>
              <table width="100%" border="0">
                  <tr>
                    <td align="left" valign="middle"></td>
                  </tr>
                  <tr>
                    <td align="left" valign="middle"></td>
                  </tr>
                  <tr>
                    <td align="left" valign="middle"></td>
                  </tr>
                  <tr>
                    <td align="left" valign="middle"></td>
                  </tr>
                  <tr>
                    <td align="left" valign="middle"></td>
                  </tr>
                  <tr>
                    <td align="left" valign="middle"></td>
                  </tr>
              </table></td></tr>
            <tr><td id="box_u"></td></tr>
        </table><br>
              <table id="box" width="150" cellspacing="0">
            <tr><td id="box_o"></td></tr>
            <tr><td id="box"><div id="pic"><h1>Zufallsfoto</h1>

              <div align="center"><?php include("zufallsbild.php"); ?></div></div></td></tr>
            <tr><td id="box_u"></td></tr>
        </table><br>
       
        </div>
        <?php }?>
       
    </div>
   
    <div id="footer">
      <hr />
      Copyright © 2009 | <a href="?id=impressum" id="weiss">Impressum</a> | <a href="?id=login" id="weiss">Login</a><hr />
    </div>
</div>
</body>
</html>
 

Phips_CH

Noch nicht viel geschrieben

Was muss ich denn in meinem Code ändern?
Ich komme echt nicht mehr weiter.

Mit ob_start() und ob_end_flush() komm ich irgendwie auch nicht zum gewünschten Ergebnis.
 
Zuletzt bearbeitet:

lachender_engel

Aktives Mitglied

Es ist das ganze Konzept, wie Du arbeitest.
Regulär wird es so gemacht: Du hast das Formular auf deiner Startseite. Klickst Du auf Formular absenden rufst Du damit Deine Zielseite auf. Auf der Zielseite prüfst Du die Eingaben (mit $_POST oder $_GET) und speicherst die Daten in die Datenbank. Erfolgt der Eintrag fehlerfrei, gibst Du den Rest aus.
Noch besser ist es, alles auf der Eingabe-Seite zu machen. Also, dass das Formular die Seite (sich selber) aufruft und alles handled.

So, wie Du das macsht, kommst Du eben in Probleme mit dem Header.
Da ich noch nie so vorgegangen bin wie Du, habe ich da auch keine Erfahrungen und kann auch nicht helfen.
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.614
Beiträge
1.538.351
Mitglieder
67.525
Neuestes Mitglied
mgtaucher
Oben