[php/sql] edit.php saved oude waarden

Pagina: 1
Acties:

Onderwerpen


  • Foutlook
  • Registratie: Februari 2001
  • Niet online
Ik ben zelf bezig met een CMS maar met de editpagina wil het nog niet erg lukken. Ik kan de variabelen van een posting (auteur, id, bericht etc) wel binnenhalen en in een tekstvak gooien. maar als ik het dan edit en in de db probeer te gooien met de functie UPDATE bla SET blabla werkt dat niet. Tenminste, ik krijg wel te zien 'uw bericht is gewijzigd.' maar de posting zelf bevat nog het oude bericht daarna! Iemand een idee?

mijn edit.php:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
<?php 
session_start(); 
if ($UserSession->login == 1) 
{  

      $database_server = mysql_connect( "host", "****", "****");
      mysql_select_db("meuk", $database_server);  

      $mysql = mysql_query("SELECT * FROM nieuws WHERE id='$id'");
      while ($regel = mysql_fetch_array($mysql)){ 
      $titel = $regel["titel"];
      $datum = $regel["datum"]; 
      $bericht = $regel["bericht"]; 
      $auteur = $regel["auteur"]; }

     if ($submit) 
    { 
    $sql = "UPDATE nieuws SET auteur='$auteur', titel='$titel', bericht='$bericht', datum='$datum' WHERE id='$id'"; 
        mysql_query($sql) or die("Oeps, er ging iet's fout.."); 
        echo "uw bericht is gewijzigd."; 
             } 
    else 
    {
?>
 
        <html> 
        <body> 
        <font class="header"><b>Menu</b><br>
        <font class="tekst">Hier kunt u nieuws invoeren, wijzigen of verwijderen<br><br>
        <hr>

        <table>
        <tr>
        

            <!- rechts ->
            <td valign="top"><font class="tekst">>> Nieuws wijzigen<br>

                <table>
                <tr>
                <td valign="top">
                <form action="edit.php" method="post">
                <input type="hidden" name="submit" value="yes">
                <font class="tekst">Auteur:<br></td>
                <td>
                <input type="text" name="auteur" value="<? echo $auteur; ?>"><br>
                </td>
                </tr>
                <tr>
                <td valign="top">
                <font class="tekst">Titel:<br></td>
                <td>
                <input type="text" name="titel" value="<? echo $titel; ?>"><br></td></tr>
                <tr><td valign="top">
                <font class="tekst">Bericht:<br></td>
                <td>
                <input type="text" name="bericht" value="<? echo $bericht; ?>"></td></tr>
                <tr><td valign="top">
                <font class="tekst">Datum:<br></td>
                <td>
                <input type="text" name="datum" value="<? echo $datum; ?>">
                    <input type="submit" value=" Wijzig "> 
                </td></tr>
                </table>
            </td>
        </tr>
        </table>

        <br><br>
        
        </body> 
        </html>

<?php 
         
         }
 

} 
else 
{ 
?> 

    <font class="tekst">
    U bent niet ingelogd. Klik <a href="index.php">hier</a> om in te loggen.
    </font>

<?php 
} 
?> 


zelf lijkt het mij alsof hij de oude value's (omdat er staat 'echo bericht' het oude bericht dus) pakt en die update. Vraag is waarschijnlijk dus hoe kan ik de nieuwe ingevoerde waarden verzenden om die te gebruiken voor de update? of niet?

  • Harm
  • Registratie: Mei 2002
  • Niet online
Ik had ongeveer hetzelfde probleem en ik kon het oplossen door dit topic: [rml][ php] iets.php?blaat=blaa werkt niet meer :'([/rml], nog eens goed door te nemen.
En een kleine hint: in mijn geval had het iets te maken met GET variabelen. :P

Verwijderd

Volgens mij overschrijf je direct de in het form ingevulde waarden door de waarden uit de db.. ik zou dan $berichtold en $berichtnew gebruiken oid..

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Je haalt idd eerst de waarden uit je database en schrijft vervolgens precies die waarden terug naar je db :P

  • Foutlook
  • Registratie: Februari 2001
  • Niet online
Jep mijn fouten gezien en verbeterd. alles loopt gesmeerd nu :) bedankt.

voor degenen die de fout(en) willen weten:
1. zoals gezegd schreef ik de oude waarden weer weg. Ik haal nu de waarden binnen, en noem titel bijvoorbeeld $oudtitel, die zet ik in het tekstveld, en de nieuwe gewijzigde titel wordt verstuurd onder $titel. Alles lukt dan.
2. stuur ik weer het $id mee voor de zekerheid (input type=hidden etc).