[Variablen] Datenbank Änderung

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

  • #16
    vergiss das mit dem "nach gefühl programmieren".
    lern erst mal die grundlagen:
    http://tut.php-q.net/mysql-query.html ff.
    http://faq-php.de/ch/ch-database_mysql.html
    und das manual: www.php.net nicht vergessen.

    Kommentar


    • #17
      hallo.
      hab mir die tuts nochmal angesehen, den quelttext überarbeitet, und das wieder in halb html geschrieben, der übersichtlichkeit wieder.
      mein browser zeigt mir nur noch einen fehler an den ich net kapiere.
      er sagt mir das er html net beenden kann, frage mich nur wieso:

      Code:
      <html>
      <head>
      <?php
      error_reporting(E_ALL);
      include "config.php"; 
         
      @mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) OR die(mysql_error());
      mysql_select_db(MYSQL_DATABASE) OR die(mysql_error());
      ?>
      <title>
      <?php
      $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 "Kein Titel Vorhanden";
      }
      ?>
      </title>
      <link rel="stylesheet" type="text/css" href="style.css" />
      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
      </head>
      <body>
      Homepage Name:
      <form name="titel_form" action="{$_SERVER['REQUEST_URI']}" method="post">
      <input type="text" name="title" size="40" value="
      <?php
      $sql = "SELECT Titel FROM Info";
      $result = mysql_query($sql) OR die(mysql_error());
      if(mysql_num_rows($result)) {
      while($row = mysql_fetch_assoc($result)) {
      echo $row['Titel'];?>" />
      <input type="submit" name="set_title" value="Ändern" />
      </form>
      Homepage Beschreibung:
      <form name="beschreibung_form" action="{$_SERVER['REQUEST_URI']}" method="post">  
      <input type="text" name="beschreibung" size="100" value="
      <?php
      $sql = "SELECT Beschreibung FROM Info";
      $result = mysql_query($sql) OR die(mysql_error());
      if(mysql_num_rows($result)) {
      while($row = mysql_fetch_assoc($result)) {
      echo $row['Beschreibung'];?>" />
      <input type="submit" name="set_beschreibung" value="Ändern" />
      </form>
      <?php
          $sql = "
              UPDATE
                      `Info`
                SET
                      `Titel`       	  = '".$_POST['set_title']."',
                      `Beschreibung` 	  = '".$_POST['set_beschreibung']."'
                WHERE
                      `id` = ".intval($_POST['edit'])."
              ";
          mysql_query($sql);
          echo "Die Einstellungen wurden geändert";
      mysql_close($verbindung);
      ?>
      </body>
      </html>
      Webdesign und Webentwicklung - Plunix.de

      Kommentar


      • #18
        als genauere fehlerbeschreibung:

        in der zeile 65 d.h die zeile mit /html ensteht folgender fehler unexpected $end

        aber wieso kann ich html net beenden?
        Webdesign und Webentwicklung - Plunix.de

        Kommentar


        • #19
          unexpected end kommt idR. dann, wenn du einen mit { eröffneten Anweisungsblock nicht auch wieder mit einer } geschlossen hast.
          Und wenn du deinen Code mal halbwegs vernünftig einrücken würdest, sollte dir auch auffallen, wo.
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #20
            ih stimmt autsch das tut weh... typish faulheit mit str+v und c
            Webdesign und Webentwicklung - Plunix.de

            Kommentar


            • #21
              hab mal wieder überarbeitet da neue probleme entstanden sind... so bekomme ich aber ne fehlermeldung hingegen den variablen, die ich erzeugen will...
              naja das udate script funktioniert jetzt, leider setzt es nciht den variabeln inhalt sondern die variable ein... : in die tabelle wird statt titel $variable geschrieben.

              also es gitb den 1. fehler:

              Die variablen fpn set title und set bes können net angenommen werden.
              keine ahnung wieso.
              Undefined index: set_title
              Undefined index:set_bes

              und ews gibt den 2. fehler (kein direkter)
              statt dem variablen inhalt wird die variable in die tablelle geschrieben.

              hier mein script... mittlerweile nen ganzes stück anders als beim anfang:

              Code:
              <html>
              <head>
              <?php
              error_reporting(E_ALL);
              include "config.php"; 
                 
              @mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) OR die(mysql_error());
              mysql_select_db(MYSQL_DATABASE) OR die(mysql_error());
              ?>
              <title>
              <?php
              $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 "Kein Titel Vorhanden";
              }
              ?>
              </title>
              <link rel="stylesheet" type="text/css" href="style.css" />
              <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
              </head>
              <body>
              <div id="place" ></div>
              <div id="pagewidth" >
              <div id="header" >Admin Testscript</div>
              <div id="maincol" >
              <br>
              Homepage Name:
              <form name="titel_form" action="<?php echo $_SERVER['REQUEST_URI'];?>" method="post">
              <input type="text" name="title" size="40" value="
              <?php
              $sql = "SELECT Titel FROM Info";
              $result = mysql_query($sql) OR die(mysql_error());
              if(mysql_num_rows($result)) {
              while($row = mysql_fetch_assoc($result)) {
              echo $row['Titel'];}}
              ?>
              " />
              <input type="submit" name="set_title" value="Ändern" />
              </form>
              Homepage Beschreibung:
              <form name="beschreibung_form" action="<?php echo $_SERVER['REQUEST_URI'];?>" method="post">  
              <input type="text" name="beschreibung" size="100" value="
              <?php
              $sql = "SELECT Beschreibung FROM Info";
              $result = mysql_query($sql) OR die(mysql_error());
              if(mysql_num_rows($result)) {
              while($row = mysql_fetch_assoc($result)) {
              echo $row['Beschreibung'];}}
              ?>
              " />
              <input type="submit" name="set_bes" value="Ändern" />
              </form>
              <?php
                  if($_POST['set_title'])
                  {
                  $title = $_POST['set_title'];
                  }
                else
                  {
                  if($_POST['set_bes'])
                  {
                  $bes = $_POST['set_bes'];
                  };
                  };
                  $sql = 'UPDATE `Info` SET `Titel` = \'$title\', `Beschreibung` = \'$bes\' WHERE `ID` = 1 LIMIT 1;';
                  mysql_query($sql);
                  echo "Die Einstellungen wurden geändert";
              ?>
              </div>
              </div>
              </body>
              </html>
              Webdesign und Webentwicklung - Plunix.de

              Kommentar


              • #22
                Wenn das Script zum ersten Mal per GET aufgerufen wurde, gibt es in $_POST natürlich noch keine Werte - also kannst du das auch nicht einfach mit if($_POST['set_title']) überprüfen, das gibt die undefinded index Meldung.
                Nutze isset()/empty() an diesen Stellen.
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #23
                  Ausserdem muss man den Unterschied (und die Verwendung) zwischen " und ' kennen, und zwar in jeder Skriptsprache einzeln. Darin liegt der Fehler.

                  Kommentar


                  • #24
                    Original geschrieben von muh (newbie)
                    Darin liegt der Fehler.
                    Der zweite ja, aber nicht der erste.
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar


                    • #25
                      Ich würde ausserdem zuerst den php Teil haben = Verarbeitung des input an das Skript, und erst nacher den HTML Teil = Erstellen des Output. Es gibt natürlich ueberschneidungen.

                      added: dann vermeidet man den ersten Fehler schon halb, bzw. man muss zuerst auch den Unterschied zwischen dem "leer" und dem mit submit aufgerufenen skript haben, zB. in einer $befehl='erstmals' und $befehl='post'.

                      Kommentar


                      • #26
                        Natürlich, das EVA-Prinzip bildet natürlich idR. die Grundlage einer strukturierten Programmierung.
                        I don't believe in rebirth. Actually, I never did in my whole lives.

                        Kommentar


                        • #27
                          @ " und '

                          Den unterschied kann ich immer verändern.
                          Nun habe ich aber den MySQL befehl net selber erstellt, daher kommt auch das " und ' zeug nicht von mir. ich habe den befehl update in der php my admin konsole ausgeführt, und mir den quelltext anzeigen lassen, Dabei kam diese variante zu stande, ich habe keien ahnung wieso, es funktioniert aber.
                          wieso sollten darin die variablen nicht richtig funktionieren?
                          Webdesign und Webentwicklung - Plunix.de

                          Kommentar


                          • #28
                            ich lege ja jetzt in der if abfrage mit dem isset fest, ob was enthalten ist oder ni9cht, und erstelle damit varaiblen, ist es denn auch im sql befehl UPDATE möglich dies zu machen? kontrollieren ob die variavble waws enthält? sonst wird ja wieder was falsches gemacht, und die variable geschrieben.
                            Webdesign und Webentwicklung - Plunix.de

                            Kommentar


                            • #29
                              ich glaube ich hab es geschafft.
                              habe in die if schleife eingebaut, das geprüft wird ob was enthalten is... und das update zeug is jetzt auc richtig.
                              kann leider net testen , da mein provider down is, bzw. ich keines seiner dienste nutzen kann wie mail usw..
                              Webdesign und Webentwicklung - Plunix.de

                              Kommentar


                              • #30
                                hi community, habe endlich wieder zeit an meien scripten zu arbeiten.
                                habe den teil mit dem ob es leer ist ausgelassen, und dafür einfach eine 2 seite für den speichern des post erstellt. jetzt gibt es nur ncoh ein problem: in den update code den mir meine myadmin sql eingabe gegeben hat wird keien variable erlaubt. wie muss ich das schreiben das in die update klammern ' und ' variablen geschreiben werden ?
                                Webdesign und Webentwicklung - Plunix.de

                                Kommentar

                                Lädt...
                                X