[Variablen] Datenbank Änderung

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

  • [Variablen] Datenbank Änderung

    Hallo Community,
    Ich arbeite seit kurzer Zeit ca. 1 Woche auch mit Datenbanken.
    Bis Jetzt habe ich das System erlernt, bzw. verstehe wie es läuft, und kann Abfragen schreiben und über die PHP MyAdmin SQL Konsole Daten und Tabellen erzeugen.
    Nun habe ich mir als Ziel gesetzt gehabt, die header angabe title bearbeitbar zu machen.

    Dafür habe ich die Tabelle Info erstellt, mit folgenden Zeilen:
    ID (automatisch)
    Titel (varch. 60)
    Beschreibung (text)

    In diese Tabelle habe ich einen Datensatz gespeichert:
    ID (auto = 1)
    Titel: Test Titel
    Beschreibung Test Beschreibung des Test Titel

    Nun wollte ich das dieser Datensatz im Title folgendermaßen angezeigt wird:
    Test Titel - Test Beschreibung des Test Titel

    Zu meinen erstaunen habe ich dies auch beim 2. versuch geschafft.
    Dann wollte ich aber ein Formular einbauen, womit ich diese Daten bearbeite.
    Dazu habe ich Folgenden Quelltext:

    PHP-Code:
    <?php
        error_reporting
    (E_ALL);
        include 
    "config.php"
        
        @
    mysql_connect(MYSQL_HOSTMYSQL_USERMYSQL_PASS) OR die(mysql_error());
        
    mysql_select_db(MYSQL_DATABASE) OR die(mysql_error());

        echo 
    "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"\n";
        echo 
    "         \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n";
        echo 
    "<html>\n";
        echo 
    "    <head>\n";
        echo 
    "        <title>\n";
        
    $sql "SELECT Titel, Beschreibung FROM Info";
        
    $result mysql_query($sql) OR die(mysql_error());
        if(
    mysql_num_rows($result)) {
        while(
    $row mysql_fetch_assoc($result)) {
        echo 
    $row['Titel'];
        echo 
    " - ";
        echo 
    $row['Beschreibung'];
        }} else {
        echo 
    "<p>Kein Titel Vorhanden</p>\n";
        }
        echo 
    "</title>\n";
        echo 
    "        <link rel=\"stylesheet\" type=\"text/css\" href=\"style.css\" />\n";
        echo 
    "        <meta http-equiv=\"Content-Type\" content=\"text/html; charset=ISO-8859-1\" />\n";
        echo 
    "    </head>\n";
        echo 
    "    <body>\n";
        echo 
    "Homepage Name:\n";
        echo 
    "<form name="titel_form" action="echo $_SERVER['REQUEST_URI']; " method="post">\n";
        echo 
    "<input type="text" name="title" size="40" value="echo $row['Titel'];" />\n";
        echo 
    "<input type="submit" name="set_title" value="Ändern" />\n";
        echo 
    "</form>\n";
        echo 
    "\nHomepage Beschreibung\n";
        echo 
    "<form name="beschreibung_form" action=" echo $_SERVER['REQUEST_URI']; " method="post">\n";  
        echo 
    "<input type="text" name="beschreibung" size="40" value="echo $row['Beschreibung'];" />\n";
        echo 
    "<input type="submit" name="set_beschreibung" value="Ändern" />\n";
        echo 
    "</form>\n";
        if(
    $_POST['set_title'])
        {
           
    $title $_POST['title'];
           
    $aendern "UPDATE Info Set Titel = '$title'
           WHERE id = '1'"
    ;
        }
        if(
    $_POST['set_beschreibung'])
        {
           
    $beschreibung $_POST['beschreibung']
           
    $aendern "UPDATE Info Set Beschreibung = '$beschreibung'
           WHERE id = '1'"

        }
        
    $update mysql_query($aendern1);
        
    $update mysql_query($aendern2);
        echo 
    "    </body>\n";
        echo 
    "</html>\n";
    ?>
    Nun Zeigt mir der Browser das in Zeile 29 Ein Fehler steckt, den ich nicht finde:

    Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /home/www/p1340/html/cms/index.php on line 29
    Weiß jemand wo das Problem lieft?
    Zuletzt geändert von Lennie; 21.05.2006, 18:42.
    Webdesign und Webentwicklung - Plunix.de

  • #2
    Ein Anfängerfehler:

    PHP-Code:
    echo "<form name="titel_form" ... 
    ändern in

    PHP-Code:
    echo "<form name='titel_form'" ... 
    oder

    PHP-Code:
    echo "<form name=\"titel_form\ ..." 

    Vielleicht mal das Kapitel über Strings usw. lesen

    cya max


    An mich bitte keine unaufgeforderten E-Mails senden (ausser ihr seid bereit geld zu zahlen, dann gerne )

    Kommentar


    • #3
      thx... ja vielen dank... is nen anfänger prob... hätte ich aber auch selber drauf kommen können.
      hab da soviel am script gearbeitet da entfiel mir das...
      hab bis jetzt immer nur funktionern von php benutzt odeder if abfragen usw. und echo imma nicht da hab ich das garnicht mehr im kopf... also vielen dank... werde das eben ändern... hoffentlich klaptt es
      Webdesign und Webentwicklung - Plunix.de

      Kommentar


      • #4
        Benutz einfach mal nen Editor mit Syntax-Highlighting, dann siehste sowas auf den ersten Blick


        An mich bitte keine unaufgeforderten E-Mails senden (ausser ihr seid bereit geld zu zahlen, dann gerne )

        Kommentar


        • #5
          Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/www/p1340/html/cms/index.php on line 29
          Hab beide methoden gelesen und beide probiert...
          aber beidemalle kommt jetzt dieser kram...
          Muss ja noch was falsch sein...
          der queltext sieht jedenfalls jetzt so aus:
          PHP-Code:
          echo "Homepage Name:\n";
              echo 
          "<form name=\"titel_form\" action=\"echo $_SERVER['REQUEST_URI'];\" method=\"post\">\n";
              echo 
          "<input type=\"text\" name=\"title\" size=\"40\" value=\"echo $row['Titel'];\" />\n";
              echo 
          "<input type=\"submit\" name=\"set_title\" value=\"Ändern\" />\n";
              echo 
          "</form>\n";
              echo 
          "\nHomepage Beschreibung\n";
              echo 
          "<form name=\"beschreibung_form\" action=\"echo $_SERVER['REQUEST_URI'];\" method=\"post\">\n";  
              echo 
          "<input type=\"text\" name=\"beschreibung\" size=\"40\" value=\"echo $row['Beschreibung'];\" />\n";
              echo 
          "<input type=\"submit\" name=\"set_beschreibung\" value=\"Ändern\" />\n";
              echo 
          "</form>\n"
          Webdesign und Webentwicklung - Plunix.de

          Kommentar


          • #6
            Bei Arrays innerhalb von doppelten Hochkommas bitte so vorgehen:

            PHP-Code:
            echo "<form name=\"titel_form\" action=\"{$_SERVER['REQUEST_URI']}\" method=\"post\">\n"
            hast da noch echo drin und semikolons, also so ganz hast du es wohl noch nicht verstanden

            ich poste es mal komplette:

            PHP-Code:
            <?php
                 
            echo "Homepage Name:\n";
                echo 
            "<form name=\"titel_form\" action=\"{$_SERVER['REQUEST_URI']}\" method=\"post\">\n";
                echo 
            "<input type=\"text\" name=\"title\" size=\"40\" value=\"{$row['Titel']}\" />\n";
                echo 
            "<input type=\"submit\" name=\"set_title\" value=\"Ändern\" />\n";
                echo 
            "</form>\n";
                echo 
            "\nHomepage Beschreibung\n";
                echo 
            "<form name=\"beschreibung_form\" action=\"{$_SERVER['REQUEST_URI']}\" method=\"post\">\n";  
                echo 
            "<input type=\"text\" name=\"beschreibung\" size=\"40\" value=\"{$row['Beschreibung']}\" />\n";
                echo 
            "<input type=\"submit\" name=\"set_beschreibung\" value=\"Ändern\" />\n";
                
            e


            An mich bitte keine unaufgeforderten E-Mails senden (ausser ihr seid bereit geld zu zahlen, dann gerne )

            Kommentar


            • #7
              anscheindend bin ich zu dumm... gibt es irgendwo nen strin tutorial?
              möchte das ansehen.
              Ich kann nämlich in der ersten zeile die variable wegnehmen und die action url einsetzen.
              aber dann kommt die variable in der zeile danach.
              was mach ich denn da?
              ich will doch das formularfeld nicht ganz leer stehend haben, sondern einen inhalt.
              wie kann ich das machen?
              oder muss ich das auslassen und manuel einfügen das heißt ne Zeile über den form: der aktuelle tiel ist :...

              edit sorry hab deinen text übersehen... danke!!!
              Webdesign und Webentwicklung - Plunix.de

              Kommentar


              • #8
                $beschreibung = $_POST['beschreibung']
                $aendern = "UPDATE Info Set Beschreibung = '$beschreibung'
                WHERE id = '1'";

                kann mir jemand sagen wo da eine unexpected T_VARIABLE ist?
                hab keine variable gefunden die nicht beendet wird..
                da soll in der 2. zeile ein fehler sein, den ich nicht finde
                Webdesign und Webentwicklung - Plunix.de

                Kommentar


                • #9
                  hab den fehler immernoch net in den beiden zeilen gefunden.
                  kann mir jemand helfen?
                  Webdesign und Webentwicklung - Plunix.de

                  Kommentar


                  • #10
                    Am Ende der ersten Zeile ein Semikolon einfügen


                    An mich bitte keine unaufgeforderten E-Mails senden (ausser ihr seid bereit geld zu zahlen, dann gerne )

                    Kommentar


                    • #11
                      ???
                      habe semikolon eingefügt, jetzt sagt er mir das in der zeile aber immernoch ein:

                      unexpected T_VARIABLE

                      ist.

                      $aendern = "UPDATE Info Set Beschreibung = '$beschreibung';
                      Webdesign und Webentwicklung - Plunix.de

                      Kommentar


                      • #12
                        anführungsstriche.

                        Kommentar


                        • #13
                          ne die anführungsstriche werden in der nächten zeile geschlossen:

                          {
                          $beschreibung = $_POST['beschreibung']
                          $aendern2 = "UPDATE Info Set Beschreibung = '$beschreibung';
                          WHERE id = '1'";
                          }
                          Webdesign und Webentwicklung - Plunix.de

                          Kommentar


                          • #14
                            semikolon.

                            aber sonst ist alles in ordnung?

                            Kommentar


                            • #15
                              hab jetzt noch nen bisschen was verändert, so wie das eben war hätte ich auch noch den mysql query einbauen müssen...
                              hab das jetzt so gemacht:

                              funktioneirt aber immer noch net ganz
                              PHP-Code:
                              <?php
                                  error_reporting
                              (E_ALL);
                                  include 
                              "config.php"
                                  
                                  @
                              mysql_connect(MYSQL_HOSTMYSQL_USERMYSQL_PASS) OR die(mysql_error());
                                  
                              mysql_select_db(MYSQL_DATABASE) OR die(mysql_error());

                                  echo 
                              "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"\n";
                                  echo 
                              "         \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n";
                                  echo 
                              "<html>\n";
                                  echo 
                              "    <head>\n";
                                  echo 
                              "        <title>\n";
                                  
                              $sql "SELECT Titel, Beschreibung FROM Info";
                                  
                              $result mysql_query($sql) OR die(mysql_error());
                                  if(
                              mysql_num_rows($result)) {
                                  while(
                              $row mysql_fetch_assoc($result)) {
                                  echo 
                              $row['Titel'];
                                  echo 
                              " - ";
                                  echo 
                              $row['Beschreibung'];
                                  }} else {
                                  echo 
                              "<p>Kein Titel Vorhanden</p>\n";
                                  }
                                  echo 
                              "</title>\n";
                                  echo 
                              "        <link rel=\"stylesheet\" type=\"text/css\" href=\"style.css\" />\n";
                                  echo 
                              "        <meta http-equiv=\"Content-Type\" content=\"text/html; charset=ISO-8859-1\" />\n";
                                  echo 
                              "    </head>\n";
                                  echo 
                              "    <body>\n";
                                  echo 
                              "Homepage Name:\n";
                                  echo 
                              "<form name=\"titel_form\" action=\"{$_SERVER['REQUEST_URI']}\" method=\"post\">\n";
                                  echo 
                              "<input type=\"text\" name=\"title\" size=\"40\" value=\"{$row['Titel']}\" />\n";
                                  echo 
                              "<input type=\"submit\" name=\"set_title\" value=\"Ändern\" />\n";
                                  echo 
                              "</form>\n";
                                  echo 
                              "\nHomepage Beschreibung\n";
                                  echo 
                              "<form name=\"beschreibung_form\" action=\"{$_SERVER['REQUEST_URI']}\" method=\"post\">\n";  
                                  echo 
                              "<input type=\"text\" name=\"beschreibung\" size=\"40\" value=\"{$row['Beschreibung']}\" />\n";
                                  echo 
                              "<input type=\"submit\" name=\"set_beschreibung\" value=\"Ändern\" />\n";
                                  echo 
                              "</form>\n";
                                  if(
                              $_POST['set_title'])
                                  {
                                     
                              $title $_POST['title'];
                                     
                                  }
                                  if(
                              $_POST['set_beschreibung'])
                                  {
                                     
                              $beschreibung $_POST['beschreibung'];
                                  };
                                  
                              UPDATE
                                     Info
                              ,
                                  
                              SET
                                     Titel 
                              '$title',
                                     
                              Beschreibung '$beschreibung',
                                     
                              Datum NOW(),
                                     
                              Autor 'Lennie'
                                  
                              WHERE    id '1';
                                  echo 
                              "    </body>\n";
                                  echo 
                              "</html>\n";
                              ?>
                              Webdesign und Webentwicklung - Plunix.de

                              Kommentar

                              Lädt...
                              X