Ankündigung

Einklappen
Keine Ankündigung bisher.

Änderungsformular

Einklappen

Neue Werbung 2019

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

  • Änderungsformular

    Durch die Umstellung auf PHP 5 funktioniert nun das Änderungsformular nicht mehr richtig. Ich bekomme zwar eine Liste mit meinen Mitgliedern drücke ich aber denn Button "ändern" macht er nur die Liste ein weiteres Mal auf.
    Bin totaler Anfänger und habe Skript von meinem Vorgänger üebernommen:

    Code:
    <html>
    <head>
    <link rel="stylesheet" type="text/css" href="http://www.agmb.de/agmb.css">
    <title>Eintragungen aendern</title>
    </head>
    <body>
    <h3>Mitglieder bearbeiten</h3>
    <?php
    error_reporting(E_ALL);
    ini_set('display_errors', TRUE);
     
          if (($id>0) and !($aendern=="aendern")) {
            $db=mysql_connect("****","****","****")
      or die ("Keine Verbindung");
     
            $ergebnis=mysql_query("agmb1","select * from mitglieder where id=".$_REQUEST['id']."");
            mysql_close($db);
    $_REQUEST['art']= mysql_result($ergebnis, 0, "art");
    $_REQUEST['anrede']= mysql_result($ergebnis, 0, "anrede");
    $_REQUEST['anrede2']= mysql_result($ergebnis, 0, "anrede2");
    $_REQUEST['vorname']= mysql_result($ergebnis, 0, "vorname");
    $_REQUEST['name']= mysql_result($ergebnis, 0, "name");
    $_REQUEST['institution']= mysql_result($ergebnis, 0, "institution");
    $_REQUEST['abteilung']= mysql_result($ergebnis, 0, "abteilung");
    $_REQUEST['strasse']= mysql_result($ergebnis, 0, "strasse");
    $_REQUEST['plz']= mysql_result($ergebnis, 0, "plz");
    $_REQUEST['ort']= mysql_result($ergebnis, 0, "ort");
    $_REQUEST['land']= mysql_result($ergebnis, 0, "land");
    $_REQUEST['vorwahl']= mysql_result($ergebnis, 0, "vorwahl");
    $_REQUEST['telefon']= mysql_result($ergebnis, 0, "telefon");
    $_REQUEST['fax']= mysql_result($ergebnis, 0, "fax");
    $_REQUEST['email']= mysql_result($ergebnis, 0, "email");
    $_REQUEST['url']= mysql_result($ergebnis, 0, "url");
    $_REQUEST['bemerkungen']= mysql_result($ergebnis, 0, "bemerkungen");
    ?>
    <form action="linkand.php" method="post" name="aenderungen">
      <table border="1" width="80\%">
    <tr>
    <th>Art:</th>
    <td><input type="text" name="art" size="60" value="<?php print $_REQUEST['art']; ?>" /></td>
    </tr>
    <tr>
    <th>Anrede:</th>
    <td><input type="text" name="anrede" size="60" value="<?php print $_REQUEST['anrede']; ?>" /></td>
    </tr>
    <tr>
    <th>Anrede2:</th>
    <td><input type="text" name="anrede2" size="60" value="<?php print $_REQUEST['anrede2']; ?>" /></td>
    </tr>
    <tr>
    <th>Vorname:</th>
    <td><input type="text" name="vorname" size="60" value="<?php print $_REQUEST['vorname']; ?>" /></td>
    </tr>
    <tr>
    <th>Name:</th>
    <td><input type="text" name="name" size="60" value="<?php print $_REQUEST['name']; ?>" /></td>
    </tr>
    <tr>
    <th>Institution:</th>
    <td><input type="text" name="institution" size="60" value="<?php print $_REQUEST['institution']; ?>" /></td>
    </tr>
    <tr>
    <th>Abteilung:</th>
    <td><input type="text" name="abteilung" size="60" value="<?php print $_REQUEST['abteilung']; ?>" /></td>
    </tr>
    <tr>
    <th>Strasse:</th>
    <td><input type="text" name="strasse" size="60" value="<?php print $_REQUEST['strasse']; ?>" /></td>
    </tr>
    <tr>
    <th>PLZ:</th>
    <td><input type="text" name="plz" size="6" value="<?php print $_REQUEST['plz']; ?>" /></td>
    </tr>
    <tr>
    <th>Ort:</th>
    <td><input type="text" name="ort" size="60" value="<?php print $_REQUEST['ort']; ?>" /></td>
    </tr>
    <tr>
    <th>Land:</th>
    <td><input type="text" name="land" size="2" value="<?php print $_REQUEST['land']; ?>" /></td>
    </tr>
    <tr>
    <th>Vorwahl:</th>
    <td><input type="text" name="vorwahl" size="20" value="<?php print $_REQUEST['vorwahl']; ?>" /></td>
    </tr>
    <tr>
    <th>Telefon:</th>
    <td><input type="text" name="telefon" size="50" value="<?php print $_REQUEST['telefon']; ?>" /></td>
    </tr>
    <tr>
    <th>Fax:</th>
    <td><input type="text" name="fax" size="50" value="<?php print $_REQUEST['fax']; ?>" /></td>
    </tr>
    <tr>
    <th>E-Mail:</th>
    <td><input type="text" name="email" size="60" value="<?php print $_REQUEST['email']; ?>" /></td>
    </tr>
    <tr>
    <th>URL:</th>
    <td><input type="text" name="url" size="60" value="<?php print $_REQUEST['url']; ?>" /></td>
    </tr>
    <th>Interne Bemerkungen:</th>
    <td><input type="text" name="bemerkungen" size="60" value="<?php print $_REQUEST['bemerkungen']; ?>" /></td>
    </tr>
    <tr>
    <td><input type="submit" name="aendern" value="aendern" /></td>
    <td><input type="reset" /></td>
    </tr>
    </table>
    <input type="hidden" name="id" value="<?php print $_REQUEST['id']; ?>" />
    </form>
    <?php
            }
            if ($aendern=="aendern") {
              $db=mysql_connect("****","*****","******");
              mysql_db_query("agmb1", "update mitglieder set art='art'], anrede='$anrede', anrede2='$anrede2',
              vorname='$vorname', name='$name', institution='$institution', abteilung='$abteilung', strasse='$strasse',
              plz='$plz', ort='$ort', land='$land', vorwahl='$vorwahl', telefon='$telefon', fax='$fax',email='$email', url='$url', bemerkungen='$bemerkungen' where id='$id'");
              mysql_close($db);
            }
          $db=mysql_connect("*****","*****","*****");
          $ergebnis=mysql_db_query("agmb1", "select * from mitglieder order by name");
          $anzahl=mysql_num_rows($ergebnis);
          mysql_close($db);
          print "<br />" . $anzahl . "Links gespeichert";
        ?>
    <table border="1" width="100%">
    <tr>
    <th>Name</th>
    <th>Institution</th>
    <th>Abteilung</th>
    <th>Bearbeiten</th>
    </tr>
    <?php
            for ($i=0;$i<$anzahl;$i++) {
              $_REQUEST['name'] = mysql_result($ergebnis, $i, "name");
              $_REQUEST['institution'] = mysql_result($ergebnis, $i, "institution");
              $_REQUEST['abteilung'] = mysql_result($ergebnis, $i, "abteilung");
              $id = mysql_result($ergebnis, $i, "id");
              print "<tr><td>".$_REQUEST['name']."</td><td>".$_REQUEST['institution']."</td><td>".$_REQUEST['abteilung']."</td>\n";
              print "<td><a href='linkand.php?id=$id'>Ändern</a></td></tr>";
            }
          ?>
    </table>
    </body>
    </html>


  • #2
    Schau mal in der php.ini oder über den Befehl phpinfo() nach, wie die Einstellungen für "register_globals" sind. Ich nehme mal schwer an, dass das auf "off" gestellt ist, was auch gut so ist. Du musst überll, wo $id und $aendern benutzen werden, diese beiden Variablen folgendermassen ersetzen:
    Code:
    $id ----> $_GET['id']
    $aendern ----> $_GET['aendern']
    ausser bei folgender Zeile nicht:
    PHP-Code:
    $id mysql_result($ergebnis$i"id"); 
    Falls weitere Fehler kommen, einfach melden...

    Aber mal so allgemein: Wer zum Geier hat das Script geschrieben? Das ist ja grässlich.....
    - mysql_result() ist geschmackssache, aber mysql_fetch_assoc() oder so ist viel praktischer
    - mysql_db_query() macht nur Sinn, wenn man mehrere Datenbanken in einem Script anspricht, damit man nicht immer mit mysql_select_db() extra wechseln muss....
    - mit register_globals = on zu programmieren ist gemeingefährlich ^^
    - irgendwelche Werte ins $_REQUEST Array zu schreiben ist total sinnfrei. Klar sind die Variablen dann global verfügbar, aber da kann man auch normale Variablen verwenden und nicht "System-Variablen" missbrauchen....

    Ach und nochwas: Verwende bitte das nächste mal die [php] Tags und nicht die [code] Tags, dann wird der PHP-Code auch gleich eingefärbt, ist viel angenehmer beim Lesen. Danke

    Kommentar


    • #3
      Änderungsformular

      Vorerst vielen Dank Montellese, meine Vorgänger kenne ich gar nicht ist für einen Verein und ich habe noch am meisten Ahnung. Ich habe jetzt die Änderungen durchgeführt aber jetzt bekomme ich nichtmal die Liste wahrscheinlich habe ich zuviel geändert, hier der veränderte Code.

      PHP-Code:
      html>
      <head>
      <link rel="stylesheet" type="text/css" href="http://www.agmb.de/agmb.css">
      <title>Eintragungen aendern</title>
      </head>
      <body>
      <h3>Mitglieder bearbeiten</h3>
      <?php
      error_reporting
      (E_ALL);
      ini_set('display_errors'TRUE);
       
            if ((
      $_GET['id']>0) and !($_GET['aendern']=="aendern")) {
              
      $db=mysql_connect("****","*****","*****")
        or die (
      "Keine Verbindung");
       
              
      $ergebnis=mysql_query("agmb1","select * from mitglieder where id="$_GET['id']."");
              
      mysql_close($db);
      $_REQUEST['art']= mysql_result($ergebnis0"art");
      $_REQUEST['anrede']= mysql_result($ergebnis0"anrede");
      $_REQUEST['anrede2']= mysql_result($ergebnis0"anrede2");
      $_REQUEST['vorname']= mysql_result($ergebnis0"vorname");
      $_REQUEST['name']= mysql_result($ergebnis0"name");
      $_REQUEST['institution']= mysql_result($ergebnis0"institution");
      $_REQUEST['abteilung']= mysql_result($ergebnis0"abteilung");
      $_REQUEST['strasse']= mysql_result($ergebnis0"strasse");
      $_REQUEST['plz']= mysql_result($ergebnis0"plz");
      $_REQUEST['ort']= mysql_result($ergebnis0"ort");
      $_REQUEST['land']= mysql_result($ergebnis0"land");
      $_REQUEST['vorwahl']= mysql_result($ergebnis0"vorwahl");
      $_REQUEST['telefon']= mysql_result($ergebnis0"telefon");
      $_REQUEST['fax']= mysql_result($ergebnis0"fax");
      $_REQUEST['email']= mysql_result($ergebnis0"email");
      $_REQUEST['url']= mysql_result($ergebnis0"url");
      $_REQUEST['bemerkungen']= mysql_result($ergebnis0"bemerkungen");
      ?>
      <form action="linkand.php" method="get" name="aenderungen">
        <table border="1" width="80\%">
      <tr>
      <th>Art:</th>
      <td><input type="text" name="art" size="60" value="<?php print $_REQUEST['art']; ?>" /></td>
      </tr>
      <tr>
      <th>Anrede:</th>
      <td><input type="text" name="anrede" size="60" value="<?php print $_REQUEST['anrede']; ?>" /></td>
      </tr>
      <tr>
      <th>Anrede2:</th>
      <td><input type="text" name="anrede2" size="60" value="<?php print $_REQUEST['anrede2']; ?>" /></td>
      </tr>
      <tr>
      <th>Vorname:</th>
      <td><input type="text" name="vorname" size="60" value="<?php print $_REQUEST['vorname']; ?>" /></td>
      </tr>
      <tr>
      <th>Name:</th>
      <td><input type="text" name="name" size="60" value="<?php print $_REQUEST['name']; ?>" /></td>
      </tr>
      <tr>
      <th>Institution:</th>
      <td><input type="text" name="institution" size="60" value="<?php print $_REQUEST['institution']; ?>" /></td>
      </tr>
      <tr>
      <th>Abteilung:</th>
      <td><input type="text" name="abteilung" size="60" value="<?php print $_REQUEST['abteilung']; ?>" /></td>
      </tr>
      <tr>
      <th>Strasse:</th>
      <td><input type="text" name="strasse" size="60" value="<?php print $_REQUEST['strasse']; ?>" /></td>
      </tr>
      <tr>
      <th>PLZ:</th>
      <td><input type="text" name="plz" size="6" value="<?php print $_REQUEST['plz']; ?>" /></td>
      </tr>
      <tr>
      <th>Ort:</th>
      <td><input type="text" name="ort" size="60" value="<?php print $_REQUEST['ort']; ?>" /></td>
      </tr>
      <tr>
      <th>Land:</th>
      <td><input type="text" name="land" size="2" value="<?php print $_REQUEST['land']; ?>" /></td>
      </tr>
      <tr>
      <th>Vorwahl:</th>
      <td><input type="text" name="vorwahl" size="20" value="<?php print $_REQUEST['vorwahl']; ?>" /></td>
      </tr>
      <tr>
      <th>Telefon:</th>
      <td><input type="text" name="telefon" size="50" value="<?php print $_REQUEST['telefon']; ?>" /></td>
      </tr>
      <tr>
      <th>Fax:</th>
      <td><input type="text" name="fax" size="50" value="<?php print $_REQUEST['fax']; ?>" /></td>
      </tr>
      <tr>
      <th>E-Mail:</th>
      <td><input type="text" name="email" size="60" value="<?php print $_REQUEST['email']; ?>" /></td>
      </tr>
      <tr>
      <th>URL:</th>
      <td><input type="text" name="url" size="60" value="<?php print $_REQUEST['url']; ?>" /></td>
      </tr>
      <th>Interne Bemerkungen:</th>
      <td><input type="text" name="bemerkungen" size="60" value="<?php print $_REQUEST['bemerkungen']; ?>" /></td>
      </tr>
      <tr>
      <td><input type="submit" name="aendern" value="aendern" /></td>
      <td><input type="reset" /></td>
      </tr>
      </table>
      <input type="hidden" name="id" value="<?php print $_REQUEST['id']; ?>" />
      </form>
      <?php
              
      }
              if (
      $_GET['aendern']=="aendern") {
                
      $db=mysql_connect("****","*****","*****");
                
      mysql_db_query("agmb1""update mitglieder set art='art'], anrede='$anrede', anrede2='$anrede2',
                vorname='
      $vorname', name='$name', institution='$institution', abteilung='$abteilung', strasse='$strasse',
                plz='
      $plz', ort='$ort', land='$land', vorwahl='$vorwahl', telefon='$telefon', fax='$fax',email='$email', url='$url', bemerkungen='$bemerkungen' where id="$_GET['id']"");
                
      mysql_close($db);
              }
            
      $db=mysql_connect("****","*****","*****");
            
      $ergebnis=mysql_db_query("agmb1""select * from mitglieder order by name");
            
      $anzahl=mysql_num_rows($ergebnis);
            
      mysql_close($db);
            print 
      "<br />" $anzahl "Links gespeichert";
          
      ?>
      <table border="1" width="100%">
      <tr>
      <th>Name</th>
      <th>Institution</th>
      <th>Abteilung</th>
      <th>Bearbeiten</th>
      </tr>
      <?php
              
      for ($i=0;$i<$anzahl;$i++) {
                
      $_REQUEST['name'] = mysql_result($ergebnis$i"name");
                
      $_REQUEST['institution'] = mysql_result($ergebnis$i"institution");
                
      $_REQUEST['abteilung'] = mysql_result($ergebnis$i"abteilung");
                
      $id mysql_result($ergebnis$i"id");
                print 
      "<tr><td>".$_REQUEST['name']."</td><td>".$_REQUEST['institution']."</td><td>".$_REQUEST['abteilung']."</td>\n";
                print 
      "<td><a href='linkand.php?id="$_GET['id']"'>Ändern</a></td></tr>";
              }
            
      ?>
      </table>
      </body>
      </html>

      Kommentar


      • #4
        PHP-Code:
         if (($_GET['id']>0) and !($_GET['aendern']=="aendern")) {
                
        $db=mysql_connect(*,*,*)
          or die (
        "Keine Verbindung");
         
                
        $ergebnis=mysql_query("agmb1","select * from mitglieder where id=".$_GET['id']);
                
        mysql_close($db); 
        in dem query fehlt ein ".", um den string weiterzuführen. sonst seh ich grad nichts, was faul sein könnte

        wirft php keine Fehler aus?
        Karteikasten
        "Es gibt auch Linux-Aussteiger. Aber die Rückfallquote steigt mit jeder Win-Version." - Walter Saner in de.newusers.questions

        Kommentar


        • #5
          @Drache: Mach doch bitte das Passwort etc aus dem mysql_connect() raus....

          @Problem: Jo der Punkt verhindert definitiv, dass die Liste angezeigt wird. Mit
          PHP-Code:
          mysql_query(....) or die(mysql_error()); 
          (.... natürlich durch den jeweiligen Query ersetzen) kannst du dir Fehler in deinen SQL-Queries anzeigen lassen.

          Kommentar


          • #6
            Änderungsformular

            Habe den Code jetzt geändert bekomme aber keine Fehlermeldung sondern nur eine "Seite kann nicht angezeigt werden. Hier der veränderte Code:

            PHP-Code:
            <?php
            error_reporting
            (E_ALL);
            ini_set('display_errors'TRUE);
             
                  if ((
            $_GET['id']>0) and !($_GET['aendern']=="aendern")) {
                    
            $db=mysql_connect("***","***","***")
              or die (
            "Keine Verbindung");
             
                    
            $ergebnis=mysql_query("agmb1","select * from mitglieder where id="$_GET['id'].".") or die (mysql_error());
                    
            mysql_close($db);

            Kommentar


            • #7
              Also PHP kann nicht hervorrufen, dass die Fehlermeldung "Seite kann nicht angezeigt werden" angezeigt wird. Dann hast du die Datei umbenannt oder die falsche URL eingegeben.

              Du hast das mit dem Punkt aber falsch verstanden. Du musst den Punkt vor und nach einer Variable machen, wenn du diese in einem String escapst, sprich
              PHP-Code:
              $ergebnis=mysql_query("agmb1","select * from mitglieder where id=".$_GET['id']) or die(mysql_error()); 
              Da $_GET['id'] hier das letzte ist, was im Query vorkommt, kannst du sowas wie
              PHP-Code:
              ... id=".$_GET['id']."") 
              kürzen, indem du einfach das ."" weglässt, da das ja nichts mehr zum Query hinzufügt.

              Kommentar


              • #8
                Änderungsformular

                Hallo Montellese,

                habe Datei nicht geändert und URL stimmt auch aber auch nach der Änderung kommt nur Fehler auf der Seite hiet das Script vom Beginn an:

                PHP-Code:
                html>
                <head>
                <link rel="stylesheet" type="text/css" 
                href="*****">
                <title>Eintragungen aendern</title>
                </head>
                <body>
                <h3>Mitglieder bearbeiten</h3>
                <?php
                error_reporting
                (E_ALL);
                ini_set('display_errors'TRUE);
                 
                      if ((
                $_GET['id']>0) and !($_GET['aendern']=="aendern")) {
                        
                $db=mysql_connect("**","****","****")
                  or die (
                "Keine Verbindung");
                  
                        
                $ergebnis=mysql_query("agmb1","select * from mitglieder where id=".$_GET['id']) or die (mysql_error());
                        
                mysql_close($db);

                Kommentar

                Lädt...
                X