PhP4 --> PhP5 Werte aus Datenbank in Formular übergeben

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

  • PhP4 --> PhP5 Werte aus Datenbank in Formular übergeben

    Hallo
    Vor einigen Jahren hatte ich mich mal ein wenig mit php versucht und auch die eine oder andere Website erstellt. Jetzt forderte mich mein Provider auf, ich soll meine mysql4 Datenbank und php4 auf die Version 5 updaten. Nach dem Update funktioniert leider nicht mehr ganz alles. Ich habe eine simple Datenbank (Gartenkalender) welche der User im Backend selbst füllen kann. Er kann Datensätze hinzufügen, löschen und editieren. Leider werden für das editieren die bestehenden Datensätze nicht mehr ins Formular übernommen. Kann mir bitte jemand helfen? Hier das Script aus Edit:

    Code:
    <?
    					//wurde ID übergeben
    					if ($id > 0) {
    						//sql-Abfrage und Datensatz mit entsprechender ID anzeigen
    						$sql = "SELECT * FROM tb_kalender where id=" . $_GET['id'] ;
    			  			$dbresult = mysql_query($sql, $db) or die("SQL-Query fehlgeschlagen: " . mysql_error());
    			  
    						//Pro gefundenen Datensatz wird folgender Block ausgegeben
    						if(!$field = mysql_fetch_assoc($dbresult)) {
    							echo "Datensatz nicht gefunden";
    							$error = true; //Kein Formular anzeigen wenn Datensatz nicht gefunden
    							}
    						}
    						if (!$error) {
    						?>
    						<form method="post" action="edit_save.php">
                      	  <input type="hidden" name="id" value="<?=$id ?>">
    				  <p>Anzeigen von KW<br>
                        <input type="text" name="von" value="<?=$field["von"]?>">
                      </p>
    				  <p>Anzeigen bis KW<br>
                        <input type="text" name="bis" value="<?=$field["bis"]?>">
                      </p>
                      <p>Titel<br>
                        <input name="titel" type="text" size="60" value="<?=$field["titel"]?>">
                      </p>
                                      
                      <p>Text<br>
                        <textarea name="text" cols="45" rows=8><?=$field["text"]?></textarea>
                      </p>
                      
                        <input type="submit" name="Submit" value="Speichern">
                      </p>
                    </form>
    				<p>&nbsp;</p>
                    <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">&lt; 
                      <a href="javascript:history.back();">Zur&uuml;ck zur &Uuml;bersicht</a></font></p>
    				<?
    					//Ende des If-Blocks
    					}
    				?>

  • #2
    Mal das probiert:
    PHP-Code:
    value="<?php echo $id?>"
    Peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      Hallo Peter
      Danke für die schnelle Anwort. Leider hat die Änderung noch nichts gebracht. In der URL wir folgendes angezeigt beim Aufbau der EDIT-Seite: ../gartenkalender/edit.php?id=9
      Das Änderungsformular bleibt aber leider leer.

      Kommentar


      • #4
        PHP-Code:
        if ($id 0
        register_globals

        Peter
        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
        Meine Seite

        Kommentar


        • #5
          Vielen Dank, es funktioniert...

          Habe die Zeile in
          Code:
          if ($_GET['id'] > 0)
          geändert.

          Kommentar


          • #6
            Hallo, leider ist das Problem nur zum Teil gelöst. Wenn ich den Datensatz zum editieren aufrufe, wird der richtige Datensatz angezeigt. Dann ändere ich den Datensatz und drücke auf aktualisieren. Edit_save.php wird gestartet. Leider wird der Satz nicht aktualisiert sondern es wird ein neuer Datensatz ohne Inhalt angelegt. Was mache ich falsch. Sitze schon Stunden vor dem Problem. Könnt ihr mir einen Tipp geben. Danke

            Hier der Code von edit_save.php:
            Code:
            	<?
                                
            			$id = $_POST['id'];
                                      
                                    if (!$id) {
                                        $sql = "INSERT INTO tb_kalender (titel,text) VALUES ('$titel','$text')";
                                        echo $sql . "<BR>";
                                        $dbresult = mysql_query($sql) or die("SQL-Query fehlgeschlagen: " . mysql_error());
                                        $id = mysql_insert_id ();
                                        echo ("Neue ID ist $id<br>");
                                    }
                            
                                    if ($id > 0) {
                                        $sql = "UPDATE tb_kalender SET titel='$titel',text='$text',von='$von',bis='$bis' WHERE ID='$id'";
                                        echo $sql ."<br>";
                                        $dbresult = mysql_query($sql) or die("SQL-Query fehlgeschlagen: " . mysql_error());
                                    }
                            
                                    echo "Datensatz gespeichert!";
                                    // Umleiten zur Übersicht nach 10 Sekunden
                                    echo '<META http-equiv="refresh" content="3;URL=liste.php">';
                                                                       
                            ?>

            Kommentar


            • #7
              Zitat von stocki Beitrag anzeigen
              Hallo, leider ist das Problem nur zum Teil gelöst. Wenn ich den Datensatz zum editieren aufrufe, wird der richtige Datensatz angezeigt. Dann ändere ich den Datensatz und drücke auf aktualisieren. Edit_save.php wird gestartet. Leider wird der Satz nicht aktualisiert sondern es wird ein neuer Datensatz ohne Inhalt angelegt.
              Natürlich - die Ursache dieses Problems ist die gleiche wie vorher bei der ID.
              Was mache ich falsch.
              Du setzt das, was du aus dem Link von Kropff gelernt haben solltest, nicht konsequent für den Rest des Scriptes um.
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                Ich schaffe es leider nicht.

                Wäre sehr froh um einen Hinweis. Danke

                Kommentar


                • #9
                  Zitat von stocki Beitrag anzeigen
                  Ich schaffe es leider nicht.
                  Na dann solltest du deine Skills-Angaben auf deiner Webseite aber mal überdenken ...

                  Wäre sehr froh um einen Hinweis. Danke
                  Die Daten, die du in die Datenbank eintragen willst, kommen ebenso von ausserhalb, wie die ID, um die es anfangs ging.
                  Also müssen sie auch analog zu dieser in Empfang genommen werden.
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar

                  Lädt...
                  X