Problem beim bearbeiten von Beiträgen

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

  • Problem beim bearbeiten von Beiträgen

    Hallo,
    ich hoffe das ist jetzt erstmal die letzte Frage die ich stellen muss. Hab eine Fehlermeldung bekommen bei folgender Datei:
    PHP-Code:
    <?php include ("checkuser.php"); ?>
    <?php session_start 
    (); ?>
    <?php
        error_reporting
    (E_ALL);
        include 
    "../inc/config.php";

        if(!@
    mysql_connect(MYSQL_HOSTMYSQL_USERMYSQL_PASS)) {
            die(
    "<div class=\"fehler\" align=\"left\"><b>Fehler:</b>
            Es konnte keine Verbindung aufgebaut werden.<br></div>"
    );
        }

        if(!
    mysql_select_db(MYSQL_DATABASE)) {
            die(
    "<div class=\"fehler\" align=\"left\"><b>Fehler:</b>
            Die Datenbank konnte nicht benutzt werden.<br></div>"
    );
        }

        
    // Verbindung zu MySQL Aufbauen
        
    @mysql_connect(MYSQL_HOSTMYSQL_USERMYSQL_PASS) OR die(mysql_error());
        
    mysql_select_db(MYSQL_DATABASE) OR die(mysql_error());

            
    $action "";
        if(isset(
    $_GET['action']))
        {
        
    $action $_GET['action'];
             
    $_SESSION["s_news_id"] = "$news_id";
        
    $_SESSION["s_news_titel"] = "$news_titel";
        
    $_SESSION["s_news_inhalt"] = "$news_inhalt";
        }

        if (
    $action == "")
        {
        
    $sql "SELECT ID, Titel FROM News ORDER BY Datum DESC";
        
    $result mysql_query($sql) OR die(mysql_error());
        if(
    mysql_num_rows($result)) {
            while(
    $row mysql_fetch_assoc($result)){
            
    // Alle Einträge auflisten
            
    echo "<div class=\"news\">
    <a href=\"cp.php?page=03&action=update&news_id=
    $row['ID'] . "&titel=".$row['Titel']."\">[ID: ";
            echo 
    $row['ID'];
            echo 
    "] <b>";
            echo 
    $row['Titel'];
            echo 
    "</a></b></div>";
        }
        } else {
        echo 
    "Keine News vorhanden.";
        }
        echo 
    "<br>";
        }
        elseif (
    $action == "update" && !empty($_GET["news_id"]))
        {
    ?>
        <form action="cp.php?page=03&action=set" method="post">
          <div align="center" class="news">
            <b>Titel</b><br><input name="news_titel" type="Text" size="30"
    value="<? $news_titel ?>"><br>
            <b>Text</b><br><textarea name="news_inhalt"
    cols="27" rows="10"><? $news_inhalt ?></textarea><br>
            <input type="submit" value="speichern">
            <input type="hidden" name="action" value="speichern">
          </div>
        </form>
    <?php
        
    }
        elseif (
    $action == "set")
        {
            
    $news_titel $_SESSION["s_news_titel"];
            
    $news_inhalt $_SESSION["s_news_inhalt"];
            
    $news_id $_SESSION["s_news_id"];
            
    $sql "UPDATE News SET Titel = $news_titel,
    Inhalt = 
    $news_inhalt WHERE ID = $news_id";
            
    $result mysql_query($sql) OR die(mysql_error());
        }
    ?> # Zeile 67
    Fehlermeldung:
    PHP-Code:
    Parse errorparse errorunexpected in /srv/www/web1/html/.../news_set.php on line 67 
    Zuletzt geändert von SilverVegeto; 15.12.2006, 13:46.

  • #2
    was möchte uns syntax highlighting des forums wohl sagen?

    Kommentar


    • #3
      Wenn du die Codestelle
      PHP-Code:
      $sql "UPDATE News SET Titel = $news_titel,
      Inhalt = 
      $news_inhalt WHERE ID = $news_id"
      meinst wo das " gefehlt hat, dass wars nicht.

      Kommentar


      • #4
        ok, gegenfrage: was gibt folgender code aus:
        PHP-Code:
        <strong>foo <? 'bar' ?></strong>
        ?

        Kommentar


        • #5
          Ja nichts, da wenn es eine Variable wäre müsste sie mir echo und $-Zeichen sein um sie ausgeben zu können.

          Kommentar


          • #6
            Ja nichts, ...
            das ist nicht wahr - gib dir mühe und teste das.

            was muss man an dem code ändern, um die ausgabe
            Code:
            <strong>foo bar</strong>
            zu erhalten?

            Kommentar


            • #7
              Einfach
              PHP-Code:
              <strong>foo <? echo "bar"; ?></strong>

              Kommentar


              • #8
                richtig!

                Kommentar


                • #9
                  ähm..und was hab ich dan bei meinem code falsch gemacht?

                  Kommentar


                  • #10
                    PHP-Code:
                    <input name="news_titel" type="Text" size="30" value="<? $news_titel ?>">
                    peter
                    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                    Meine Seite

                    Kommentar


                    • #11
                      Okay danke - jetzt ist aber noch ein Fehler, wieso funktioniert das nicht:
                      PHP-Code:
                          if(isset($_GET['action']))
                          {
                          
                      $action $_GET['action'];
                               
                      $_SESSION["s_news_id"] = "$news_id";
                          
                      $_SESSION["s_news_titel"] = "$news_titel";
                          
                      $_SESSION["s_news_inhalt"] = "$news_inhalt";
                          } 
                      oder das
                      PHP-Code:
                          {
                          
                      $action $_GET['action'];
                               
                      $_SESSION["s_news_titel"] = $row['Titel'];
                          
                      $_SESSION["s_news_inhalt"] = $row['Inhalt'];
                               
                      $_SESSION["s_news_id"] = $row['ID'];
                          } 
                      nicht? Denn ich möchte die Variablen ja übertragen lassen. Kommt aber immer der Fehler das die Variable nicht definiert ist, wie kann ich das ändern?
                      PHP-Code:
                      NoticeUndefined variablerow in /srv/www/web1/html/.../news_set.php on line 23

                      Notice
                      Undefined variablerow in /srv/www/web1/html/.../news_set.php on line 24

                      Notice
                      Undefined variablerow in /srv/www/web1/html/.../news_set.php on line 25 

                      Kommentar


                      • #12
                        das erste funktioniert. beim zweiten: steht doch da: $row unbekannt.

                        Kommentar


                        • #13
                          Ja wenn ich aber den ersten Code mach, also so:
                          PHP-Code:
                          <?php include ("checkuser.php"); ?>
                          <?php session_start 
                          (); ?>
                          <?php
                              error_reporting
                          (E_ALL);
                              include 
                          "../inc/config.php";

                              if(!@
                          mysql_connect(MYSQL_HOSTMYSQL_USERMYSQL_PASS)) {
                                  die(
                          "<div class=\"fehler\" align=\"left\"><b>Fehler:</b>
                          Es konnte keine Verbindung aufgebaut werden.<br></div>"
                          );
                              }

                              if(!
                          mysql_select_db(MYSQL_DATABASE)) {
                                  die(
                          "<div class=\"fehler\" align=\"left\"><b>Fehler:</b>
                          Die Datenbank konnte nicht benutzt werden.<br></div>"
                          );
                              }

                              
                          // Verbindung zu MySQL Aufbauen
                              
                          @mysql_connect(MYSQL_HOSTMYSQL_USERMYSQL_PASS) OR die(mysql_error());
                              
                          mysql_select_db(MYSQL_DATABASE) OR die(mysql_error());

                                  
                          $action "";
                              if(isset(
                          $_GET['action']))
                              {
                              
                          $action $_GET['action'];
                              
                          $_SESSION["s_news_id"] = "$news_id";
                              
                          $_SESSION["s_news_titel"] = "$news_titel";
                              
                          $_SESSION["s_news_inhalt"] = "$news_inhalt";
                              }

                              if (
                          $action == "")
                              {
                              
                          $sql "SELECT ID, Titel, Inhalt FROM News ORDER BY Datum DESC";
                              
                          $result mysql_query($sql) OR die(mysql_error());
                              if(
                          mysql_num_rows($result)) {
                                  while(
                          $row mysql_fetch_assoc($result)){
                                  
                          // Alle Einträge auflisten
                                  
                          echo "<div class=\"news\">
                          <a href=\"cp.php?page=03&action=update&news_id=
                          $row['ID'] . "&titel=".$row['Titel']."\">[ID: ";
                                  echo 
                          $row['ID'];
                                  echo 
                          "] <b>";
                                  echo 
                          $row['Titel'];
                                  echo 
                          "</a></b></div>";
                              }
                              } else {
                              echo 
                          "Keine News vorhanden.";
                              }
                              echo 
                          "<br>";
                              }

                              elseif (
                          $action == "update" && !empty($_GET["news_id"]))
                              {
                          ?>
                              <form action="cp.php?page=03&action=set" method="post">
                                <div align="center" class="news">
                                  <b>Titel</b><br><input name="news_titel"
                          type="Text" size="30" value="<? echo '$news_titel'; ?>"><br>
                                  <b>Text</b><br><textarea name="news_inhalt"
                          cols="27" rows="10"><? echo '$news_inhalt'; ?></textarea><br>
                                  <input type="submit" value="speichern">
                                  <input type="hidden" name="action" value="speichern">
                                </div>
                              </form>
                          <?php
                              
                          }
                              elseif (
                          $action == "set")
                              {
                                  
                          $news_titel $_SESSION["s_news_titel"];
                                  
                          $news_inhalt $_SESSION["s_news_inhalt"];
                                  
                          $news_id $_SESSION["s_news_id"];
                                  
                          $sql "UPDATE News SET Titel = $news_titel,
                          Inhalt = 
                          $news_inhalt WHERE ID = $news_id";
                                  
                          $result mysql_query($sql) OR die(mysql_error());
                              }
                          ?>
                          kommt immer die Fehlermeldung, und die Inhalte werden nicht in den Textboxen ausgegeben.
                          PHP-Code:
                          NoticeUndefined variablenews_titel in /srv/www/web1/html/.../news_set.php on line 24

                          Notice
                          Undefined variablenews_inhalt in /srv/www/web1/html/.../news_set.php on line 25 

                          Kommentar


                          • #14
                            Zum ersten Codeausschnitt: doublequotes (") umschließen eine Zeichenkette und gehören nicht um Variablen - schon gar nicht um lose.
                            PHP-Code:
                            $_SESSION["s_news_id"] = $news_id;
                            // statt
                            $_SESSION["s_news_id"] = "$news_id"
                            EDIT:

                            Das sehe ich erst jetzt:
                            PHP-Code:
                            <? echo '$news_titel'; ?>
                            wird dir nicht den Wert der Variablen $news_titel ausgeben, sondern die Zeichenkette $news_titel. Auch hier sind - in diesem Falle singlequotes - fehl am Platze.

                            Zuletzt geändert von Griecherus; 15.12.2006, 14:37.
                            Nieder mit der Camel Case-Konvention

                            Kommentar


                            • #15
                              Jetzt sind keine Fehlermeldungen mehr da und der Inhalt wird auch angeziegt, allerdings immer von den letzten News (egal welche ich sonst auswähle), wie kann ich das ändern?
                              PHP-Code:
                              <?php include ("checkuser.php"); ?>
                              <?php session_start 
                              (); ?>
                              <?php
                                  error_reporting
                              (E_ALL);
                                  include 
                              "../inc/config.php";

                                  
                              // Verbindung zu MySQL Aufbauen
                                  
                              @mysql_connect(MYSQL_HOSTMYSQL_USERMYSQL_PASS) OR die(mysql_error());
                                  
                              mysql_select_db(MYSQL_DATABASE) OR die(mysql_error());

                                      
                              $action "";
                                  if(isset(
                              $_GET['action']))
                                  {
                                  
                              $action $_GET['action'];
                                  }

                                  if (
                              $action == "")
                                  {
                                  
                              $sql "SELECT ID, Titel, Inhalt FROM News ORDER BY Datum DESC";
                                  
                              $result mysql_query($sql) OR die(mysql_error());
                                  if(
                              mysql_num_rows($result)) {
                                      while(
                              $row mysql_fetch_assoc($result)){
                                      
                              // Alle Einträge auflisten
                                      
                              echo "<div class=\"news\"><a href=\"cp.php?page=03&action=update&news_id=
                              $row['ID'] . "&titel=".$row['Titel']."\">[ID: ";
                                      echo 
                              $row['ID'];
                                      echo 
                              "] <b>";
                                      echo 
                              $row['Titel'];
                                      echo 
                              "</a></b></div>";
                                      
                              $_SESSION["s_news_id"] = $row['ID'];
                                      
                              $_SESSION["s_news_titel"] = $row['Titel'];
                                      
                              $_SESSION["s_news_inhalt"] = $row['Inhalt'];
                                  }
                                  } else {
                                  echo 
                              "Keine News vorhanden.";
                                  }
                                  echo 
                              "<br>";

                                  }
                                  elseif (
                              $action == "update" && !empty($_GET["news_id"]))
                                  {
                                  
                              $news_titel $_SESSION["s_news_titel"];
                                  
                              $news_inhalt $_SESSION["s_news_inhalt"];
                              ?>
                                  <form action="cp.php?page=03&action=set" method="post">
                                    <div align="center" class="news">
                                      <b>Titel</b><br><input name="news_titel"
                              type="Text" size="30" value="<? echo $news_titel; ?>"><br>
                                      <b>Text</b><br><textarea name="news_inhalt"
                              cols="27" rows="10"><? echo $news_inhalt; ?></textarea><br>
                                      <input type="submit" value="speichern">
                                      <input type="hidden" name="action" value="speichern">
                                    </div>
                                  </form>
                              <?php
                                  
                              }
                                  elseif (
                              $action == "set")
                                  {
                                      
                              $news_titel $_SESSION["s_news_titel"];
                                      
                              $news_inhalt $_SESSION["s_news_inhalt"];
                                      
                              $news_id $_SESSION["s_news_id"];
                                      
                              $sql "UPDATE News SET Titel = $news_titel,
                              Inhalt = 
                              $news_inhalt WHERE ID = $news_id";
                                      
                              $result mysql_query($sql) OR die(mysql_error());
                                  }
                              ?>

                              Kommentar

                              Lädt...
                              X