tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
12
ZUGRIFFE
2121
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    ArFiBa ArFiBa ist offline Mitglied Gold
    Registriert seit
    Sep 2004
    Beiträge
    117
    Hallo Leute,

    ich benutze das folgende Skript als Eingabeform in meinem Forum nur leider geht er nach dem Speichern in der DB nicht auf die Bestätigungsseite.

    Was hab ich jetzt schon wieder falsch gemacht?

    PHP-Code:
    <? include '../../logged_in.php'?>
    <?php 
    require_once('../../Connections/db.php'); ?><?php
    function GetSQLValueString($theValue$theType$theDefinedValue ""$theNotDefinedValue ""
    {
      
    $theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $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 for_beitrag (for_thema_ID, beitrag_bezeichnung, beitrag_text, beitrag_user_ID, beitrag_user_IP, beitrag_time) VALUES (%s, %s, %s, %s, %s, %s)",
                           
    GetSQLValueString($_POST['for_thema_ID'], "int"),
                           
    GetSQLValueString($_POST['beitrag_bezeichnung'], "text"),
                           
    GetSQLValueString($_POST['beitrag_text'], "text"),
                           
    GetSQLValueString($_POST['beitrag_user_ID'], "int"),
                           
    GetSQLValueString($_POST['beitrag_user_IP'], "text"),
                           
    GetSQLValueString($_POST['beitrag_time'], "text"));

      
    mysql_select_db($database_db$db);
      
    $Result1 mysql_query($insertSQL$db) or die(mysql_error());

      
    $insertGoTo "for_gespeichert.php";
      if (isset(
    $_SERVER['QUERY_STRING'])) {
        
    $insertGoTo .= (strpos($insertGoTo'?')) ? "&" "?";
        
    $insertGoTo .= $_SERVER['QUERY_STRING'];
      }
    }
    ?>
     
    Rechtschreibfehler sind beabsichtigt und unterstreichen die persönliche Note. Klingonisch, ist aber so!
    ArFiBa.de
    AIM: ArFiBa
    ICQ: 200582757

  2. #2
    Registriert seit
    Sep 2003
    Ort
    Fürth(Franken)
    Beiträge
    1.060
    Blog-Einträge
    3
    Ich finde in deinem Code nichts, was irgendwie auf eine Bestätigungsseite/-stelle weiterleitet!?

    greetz
    daddz
     
    be inspired...simplify...

  3. #3
    ArFiBa ArFiBa ist offline Mitglied Gold
    Registriert seit
    Sep 2004
    Beiträge
    117
    PHP-Code:
     $insertGoTo "for_gespeichert.php";
      if (isset(
    $_SERVER['QUERY_STRING'])) {
        
    $insertGoTo .= (strpos($insertGoTo'?')) ? "&" "?";
        
    $insertGoTo .= $_SERVER['QUERY_STRING']; 
    Dieser Teil soll das bewirken, nur leider hab ichs nicht selbst geschrieben und weiß nicht ob das stimmt.
     
    Rechtschreibfehler sind beabsichtigt und unterstreichen die persönliche Note. Klingonisch, ist aber so!
    ArFiBa.de
    AIM: ArFiBa
    ICQ: 200582757

  4. #4
    Registriert seit
    Sep 2003
    Ort
    Fürth(Franken)
    Beiträge
    1.060
    Blog-Einträge
    3
    Der Teil bewirkt nur die Veränderung der Variable $insertGoTo aber mehr auch nicht!

    greetz
    daddz
     
    be inspired...simplify...

  5. #5
    ArFiBa ArFiBa ist offline Mitglied Gold
    Registriert seit
    Sep 2004
    Beiträge
    117
    Und wenn ich mal ganz blöd fragen darf: wir mach ich es das er weiterleitet?
     
    Rechtschreibfehler sind beabsichtigt und unterstreichen die persönliche Note. Klingonisch, ist aber so!
    ArFiBa.de
    AIM: ArFiBa
    ICQ: 200582757

  6. #6
    Registriert seit
    Sep 2003
    Ort
    Fürth(Franken)
    Beiträge
    1.060
    Blog-Einträge
    3
    PHP-Code:
    header("Location: $insertGoTo"); 
    greetz
    daddz
     
    be inspired...simplify...

  7. #7
    ArFiBa ArFiBa ist offline Mitglied Gold
    Registriert seit
    Sep 2004
    Beiträge
    117
    Den Teil hatte ich schon drin.Dann kommt leider der Fehler das der Header nicht geändert werden kann, da er beriets übertragen wurde.
     
    Rechtschreibfehler sind beabsichtigt und unterstreichen die persönliche Note. Klingonisch, ist aber so!
    ArFiBa.de
    AIM: ArFiBa
    ICQ: 200582757

  8. #8
    mehirc mehirc ist offline Mitglied Bronze
    Registriert seit
    Jun 2004
    Beiträge
    29
    Glaub nicht dass das unbedingt schön gelöst ist, aber ich setz mir ans Ende einfach ein kleines JavaScript. Das wird zumindest garantiert am Ende ausgeführt und macht das was ich will. Aber keine Ahnung ob das auch das macht was du willst.

    PHP-Code:
    echo "<script language=\"javascript\" type=\"text/javascript\">";
    echo 
    "document.location.href('bla.php')";
    echo 
    "</script>"
     

  9. #9
    ArFiBa ArFiBa ist offline Mitglied Gold
    Registriert seit
    Sep 2004
    Beiträge
    117
    Wenn ich das einbauen würde, würde er doch bei jedem Aufruf der Seite auf eine andere umleiten. Das soll er aber nur wenn etwas in die DB geschrieben wurde.
     
    Rechtschreibfehler sind beabsichtigt und unterstreichen die persönliche Note. Klingonisch, ist aber so!
    ArFiBa.de
    AIM: ArFiBa
    ICQ: 200582757

  10. #10
    Avatar von Dennis Wronka
    Dennis Wronka Dennis Wronka ist offline Soulcollector
    Registriert seit
    Apr 2002
    Ort
    Hong Kong
    Beiträge
    12.296
    Blog-Einträge
    231
    Beispiel:
    PHP-Code:
    if ($_POST["insert"])
     {
      
    mysql_query("insert ...");
      
    header("Location:...");
     } 
     
    PHP Class Collection - PHP-Klassen fuer PHP 5 (und Teilweise auch fuer PHP 4)
    Updates: Catcher 1.1, FTPConnection 1.2, MultiSQL 1.1, RSS2 1.1, SMTPConnection 1.4
    __________________
    EasyLFS - Hintergrundinformationen, Installationsanleitung, Softwareliste und Download
    EasyLFS Projektthread - Informationen, Status und Diskussion zu meiner Linux-Distribution
    __________________
    Ich bin die Schildkroete, mein Sohn. Ich habe das Universum erschaffen, aber bitte mach mir daraus keinen Vorwurf; ich hatte Bauchschmerzen.
    __________________
    Zitat Zitat von Friedrich Nietzsche
    Man muss noch Chaos in sich haben, um einen tanzenden Stern gebaeren zu koennen.

  11. #11
    ArFiBa ArFiBa ist offline Mitglied Gold
    Registriert seit
    Sep 2004
    Beiträge
    117
    Raff ich nicht so ganz, ist das nicht das selbe wie der Teil den ich ganz oben als meinen Code eingegeben habe? Der prüft doch auch ob etwas gesendet wurde und soll wenn ja auf eine ander Seite wechseln. Und da kommt eben diese Fehler das der Header schon gesendet wurde.
     
    Rechtschreibfehler sind beabsichtigt und unterstreichen die persönliche Note. Klingonisch, ist aber so!
    ArFiBa.de
    AIM: ArFiBa
    ICQ: 200582757

  12. #12
    Avatar von Dennis Wronka
    Dennis Wronka Dennis Wronka ist offline Soulcollector
    Registriert seit
    Apr 2002
    Ort
    Hong Kong
    Beiträge
    12.296
    Blog-Einträge
    231
    Zum Thema, dass Header schon gesendet wurden gibt's schon zig Millionen Threads.
    Schau Dir mal die Infos zu diesen beiden Befehlen an:
    ob_start()
    ob_end_flush()
    Wenn Du ohne die beiden, kleinen Funktionen auskommen willst, was meiner Meinung nach aber nicht zwingend noetig ist, dann darfst Du halt vor header() keine Ausgabe haben.
     
    PHP Class Collection - PHP-Klassen fuer PHP 5 (und Teilweise auch fuer PHP 4)
    Updates: Catcher 1.1, FTPConnection 1.2, MultiSQL 1.1, RSS2 1.1, SMTPConnection 1.4
    __________________
    EasyLFS - Hintergrundinformationen, Installationsanleitung, Softwareliste und Download
    EasyLFS Projektthread - Informationen, Status und Diskussion zu meiner Linux-Distribution
    __________________
    Ich bin die Schildkroete, mein Sohn. Ich habe das Universum erschaffen, aber bitte mach mir daraus keinen Vorwurf; ich hatte Bauchschmerzen.
    __________________
    Zitat Zitat von Friedrich Nietzsche
    Man muss noch Chaos in sich haben, um einen tanzenden Stern gebaeren zu koennen.

  13. #13
    mehirc mehirc ist offline Mitglied Bronze
    Registriert seit
    Jun 2004
    Beiträge
    29
    Zitat Zitat von ArFiBa
    Wenn ich das einbauen würde, würde er doch bei jedem Aufruf der Seite auf eine andere umleiten. Das soll er aber nur wenn etwas in die DB geschrieben wurde.
    Wenn das auf mein Vorschlag bezogen war, du kannst das Script ja unmittelbar nachdem etwas in die DB geschrieben wurde reinsetzen und evtl. danach mit exit() aussteigen.
     

Ähnliche Themen

  1. Antworten: 8
    Letzter Beitrag: 17.12.10, 16:51
  2. [mysql] Newsletter-user aus Datenbank in eine andere Datenbank
    Von Scofields im Forum Relationale Datenbanksysteme
    Antworten: 8
    Letzter Beitrag: 11.06.08, 21:20
  3. Nach Clip wechseln auf eine URL
    Von DfcLonestar im Forum Flash Plattform
    Antworten: 2
    Letzter Beitrag: 20.05.06, 18:08
  4. Antworten: 8
    Letzter Beitrag: 24.10.05, 11:01
  5. Antworten: 1
    Letzter Beitrag: 18.07.04, 04:38