Data wijzigen (updaten) in database

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Klaas

klaas

20/05/2007 02:09:00
Quote Anchor link
Ik ben vanuit een formulier data aan het updaten. Toch lukt het mij niet om alle velden uit de database te updaten. Het gaat hier om tekstvelden en een afbeelding die in de database is opgeslagen.

Update code:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
    if($_POST['naamopdrachtgever'] != "" AND $_POST['omschrijving'] != "" AND $_POST['website'] != "" AND $AFBNAME != "" AND $AFBTYPE != "" AND $AFBSIZE != "" AND $AFBCONTENT != "" AND $AFBDATUM != "") {
        $sql = "UPDATE opdrachtgevers SET naamopdrachtgever='".$_POST['naamopdrachtgever']."',omschrijving='".$_POST['omschrijving']."',website='".$_POST['website']."'".$AFBNAME."','".$AFBTYPE."','".$AFBSIZE."','".$AFBCONTENT."',NOW()); WHERE id='".$_POST['id']."'";


Gehele code:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
<?
// Pagina: cms_wijzigen_opdrachtgever.php: Gegevens wijzigen.
include("config.php");
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
    <title>Engelen</title>
    <link rel="stylesheet" href="stylesheet.css" type="text/css" media="screen" />
    <link rel="stylesheet" href="style.css" type="text/css" media="screen" />
  </head>
  <body>  
   <div id="pagewrapper">  
      <div id="headerleft">
    
    
    </div>    
    <div id="headercenter"><img src="image/HomeDEF.jpg" width="400" height="170"  /></div>
    <div id="headerright"><img src="image/logo2.gif" width="135" height="72"  /></div>
      <div id="left">
      <!--  menu cms -->
        <?
      include("cms_menu.php");

       ?>

             
      </div>
      <div id="center">
      <h1>Content Managment systeem: Engelen</h1><br />
<?

// Inloggen verplicht; safe.php
include("safe.php");

$var_id = $_GET['id'];

//echo "eerste var: " . $var_id . "";

// orgineel --  if(isset($_POST['submit'])) {


if ((isset($_POST['submit'])) AND (!empty($_FILES))) {
      
     $AFBNAME    = $_FILES['input']['name'];
  $AFBTYPE    = $_FILES['input']['type'];
  $AFBSIZE     = $_FILES['input']['size'];
  $tmpname    = $_FILES['input']['tmp_name'];
   $AFBCONTENT    = file_get_contents($tmpname);
   $fp                = fopen($tmpname,'r');
   $AFBCONTENT     = fread($fp,$AFBSIZE);
    $AFBCONTENT     = addslashes($AFBCONTENT );
    
    
    if($_POST['naamopdrachtgever'] != "" AND $_POST['omschrijving'] != "" AND $_POST['website'] != "" AND $AFBNAME != "" AND $AFBTYPE != "" AND $AFBSIZE != "" AND $AFBCONTENT != "" AND $AFBDATUM != "") {
        $sql = "UPDATE opdrachtgevers SET naamopdrachtgever='".$_POST['naamopdrachtgever']."',omschrijving='".$_POST['omschrijving']."',website='".$_POST['website']."'".$AFBNAME."','".$AFBTYPE."','".$AFBSIZE."','".$AFBCONTENT."',NOW()); WHERE id='".$_POST['id']."'"; //get id uit form.
        
                    
        $query = mysql_query($sql);
        if($query == TRUE) {
            echo "De gegevens zijn succesvol gewijzigd.<br />\n<a href=\"cms_index.php\">&laquo; Cms_index</a>";
            echo "var: " . $_POST['id'] . "";
        }
else{
            echo "Er is een fout opgetreden tijdens het bijwerken van de gegevens. Probeer het later nog eens.<br />\n<a href=\"javascript:history.back()\">&laquo; Ga terug</a>";
            echo "var: " . $var_id . "";
         }    
    }
else{
        echo "Een van de velden is leeg.<BR>\n";
        echo "<a href=\"cms_index.php\">&laquo; Cms_index</a>";
        echo "var: " . $var_id . "";
    }
    
 
 
 
 
 
}
else{
 // Formulier
 $sql = "SELECT * FROM opdrachtgevers WHERE id='".$var_id."'";  
 $query = mysql_query($sql);
 $rij = mysql_fetch_object($query);
 $naamopdrachtgever = htmlspecialchars($rij->naamopdrachtgever);
 $omschrijving = htmlspecialchars($rij->omschrijving);
 $website = htmlspecialchars($rij->website);
 ?>

<form method="post" action="<?php echo($_SERVER['PHP_SELF']); ?>" enctype="multipart/form-data">
 <input type="hidden" name="id" value="<?php echo ($var_id);?>">
 <table>
   <tr>
    <td><p><b>Opdrachtgever</b></p></td>
    </tr>
    
      <tr>
     <td height="5"</td>
    </tr>
    
    <tr>
    <td><input size="25" type="text" name="naamopdrachtgever" value="<?= $naamopdrachtgever ?>" /></td>
    </tr>
    
          <tr>
     <td height="9"></td>
    </tr>
    
    <tr>
    <td><p><b>Omschrijving</b></p></td>
    </tr>
    
          <tr>
     <td height="5"></td>
    </tr>
    
    <tr>
    <td><textarea name="omschrijving" cols="40" rows="9" ><?= $omschrijving ?></textarea></td>
    </tr>
    
          <tr>
     <td height="9"></td>
    </tr>
    
    <tr>
    <td><p><b>Website</b></p></td>
    </tr>
    
          <tr>
     <td height="5"></td>
    </tr>
    
    <tr>
    <td><input size="25" type="text" name="website" value="<?= $website ?>" /></td>
   </tr>
   <tr>
     <td height="9"></td>
    <tr>
    <td><p><b>Logo</b></p></td>
    </tr>
    
          <tr>
     <td height="5"></td>
    </tr>
    </tr>
    <tr>
   <td><img src="afbeelding.php?id=<?= $var_id ?>"></td>
   </tr>
  
         <tr>
     <td height="9"></td>
    </tr>
    
    <tr>
     <td><input type="file" name="input"></td>
    </tr>
    
         <tr>
     <td height="9"></td>
    </tr>
    
   <tr>
    <td><input type="submit" name="submit" value="Ok" /></td>
   </tr>
  
         <tr>
     <td height="9"></td>
    </tr>
  </table>
 </form>
 
<?
}


?>

 </div>    
 
 <div id="right"></div>
 <div class="footer"></div>

  </div>
  </body>
</html>
Gewijzigd op 01/01/1970 01:00:00 door Klaas
 
PHP hulp

PHP hulp

25/12/2024 19:37:50
 
TJVB tvb

TJVB tvb

20/05/2007 09:17:00
Quote Anchor link
jou query ziet er wel raar uit

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
       $sql
= "UPDATE opdrachtgevers SET
        naamopdrachtgever='"
.$_POST['naamopdrachtgever']."',
       omschrijving='"
.$_POST['omschrijving']."',
       website='"
.$_POST['website']."'".$AFBNAME."',
       '"
.$AFBTYPE."',
       '"
.$AFBSIZE."',
       '"
.$AFBCONTENT."',
       NOW());
       WHERE id='"
.$_POST['id']."'"; //get id uit form.
?>

Je hebt 3 waarden die je ergens in wilt stoppen maar waar je niet meldt in welk veld.
Verder heb je achter now() nog ); staan wat niet kan kloppen.

Ook is het handig om (tijdens het testen) de fouten te laten weergeven, eventueel als commentaar zodat je in de broncode moet kijken of de error te zien.
Ik heb hierbij ook de query als uitput
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
        $query
= mysql_query($sql);
        if($query == TRUE) {
            echo "De gegevens zijn succesvol gewijzigd.<br />\n<a href=\"cms_index.php\">&laquo; Cms_index</a>";
            echo "var: " . $_POST['id'] . "";
        }
else{
            echo "Er is een fout opgetreden tijdens het bijwerken van de gegevens. Probeer het later nog eens.<br />\n<a href=\"javascript:history.back()\">&laquo; Ga terug</a>";
            echo "var: " . $var_id;
            echo "\n\n<!--\nError: ".mysql_error()."\nQuery: ".$sql."\n-->";
         }

?>
Gewijzigd op 01/01/1970 01:00:00 door TJVB tvb
 
Klaas

klaas

20/05/2007 11:55:00
Quote Anchor link
Bij het veld om de gegevens toe te voegen heb ik deze query gebruikt wat wel lukt:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$sql
= "INSERT INTO opdrachtgevers (naamopdrachtgever,omschrijving,website,AFBNAME,AFBTYPE,AFBSIZE,AFBCONTENT,AFBDATUM) VALUES ('".$_POST['naamopdrachtgever']."','".$_POST['omschrijving']."','".$_POST['website']."','".$AFBNAME."','".$AFBTYPE."','".$AFBSIZE."','".$AFBCONTENT."',NOW());";
?>
 
- SanThe -

- SanThe -

20/05/2007 12:15:00
Quote Anchor link
Ja, dat is een INSERT en geen UPDATE.
 
Klaas

klaas

20/05/2007 13:53:00
Quote Anchor link
Ik gebruik nu dit, maar dan krijg ik de foutmelding 'een van de velden is leeg'

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
<?
    if($_POST['naamopdrachtgever'] != "" AND $_POST['omschrijving'] != "" AND $_POST['website'] != "" AND $_POST['AFBNAME'] != "" AND $_POST['AFBTYPE'] != "" AND $_POST['AFBCONTENT'] != "" AND $_POST['AFBDATUM'] != "" ) { $sql = "UPDATE opdrachtgevers SET naamopdrachtgever='".$_POST['naamopdrachtgever']."',omschrijving='".$_POST['omschrijving']."',website='".$_POST['website']."',AFBNAME='".$_POST['AFBNAME']."',AFBTYPE='".$_POST['AFBTYPE']."',AFBSIZE='".$_POST['AFBCONTENT']."',NOW()) WHERE id='".$_POST['id']."'"; //get id uit form. ?>
 
- SanThe -

- SanThe -

20/05/2007 13:59:00
Quote Anchor link
AFBSIZE='".$_POST['AFBCONTENT']."',NOW()) WHERE

Wat wil je met , NOW() ........
 
Klaas

klaas

20/05/2007 14:05:00
Quote Anchor link
Met NOW() wil ik de datum invoeren van dat moment
 
- SanThe -

- SanThe -

20/05/2007 14:18:00
Quote Anchor link
Maar dan wel zoiets.....
AFBSIZE='".$_POST['AFBCONTENT']."', datumveldnaam = NOW()) WHERE
 
Klaas

klaas

20/05/2007 14:28:00
Quote Anchor link
Wanneer ik dit gebruik, krijg ik de melding 'er is een veld leeg'


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
    if($_POST['naamopdrachtgever'] != "" AND $_POST['omschrijving'] != "" AND $_POST['website'] != "" AND $_POST['AFBNAME'] != "" AND $_POST['AFBTYPE'] != "" AND $_POST['AFBCONTENT'] != "" AND $_POST['AFBDATUM'] != "" ) { $sql = "UPDATE opdrachtgevers SET naamopdrachtgever='".$_POST['naamopdrachtgever']."',omschrijving='".$_POST['omschrijving']."',website='".$_POST['website']."',AFBNAME='".$_POST['AFBNAME']."',AFBTYPE='".$_POST['AFBTYPE']."',AFBSIZE='".$_POST['AFBCONTENT']."'AFBDATUM= NOW()) WHERE id='".$_POST['id']."'"; //get id uit form.
 
- SanThe -

- SanThe -

20/05/2007 14:34:00
Quote Anchor link
Komma vergeten.....
 
Klaas

klaas

20/05/2007 14:40:00
Quote Anchor link
Deze komma 'AFBDATUM= NOW())' bedoel je?
mm dat helpt iedergeval niet.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.