sql record updaten

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 3 volgende »

Dennis

Dennis

06/12/2006 15:39:00
Quote Anchor link
Mensen,

Inmiddels ben ik weer wat verder, alleen zit ik nu met een database probleem... Weet iemand wat ik nu fout doe ?

Hierbij de code en alvast bedankt voor de tijd :-)

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
<?php
include ("pages/connect.php");
?>

<?php          
if ($_SERVER['REQUEST_METHOD'] == "POST") {

        $id = (!empty($_POST['id'])) ? $_POST['id'] : 0;
            $UpdateQuery = "UPDATE
                            vangaart_nieuws  
                            SET  
                            titel='"
.mysql_real_escape_string($_POST['titel'])."' ,
                            datum='"
.mysql_real_escape_string($_POST['datum'])."' ,
                            url='"
.mysql_real_escape_string($_POST['url'])."' ,
                            bericht='"
.mysql_real_escape_string($_POST['bericht'])."'
                            
                        WHERE
                        
                        id="
.$id;

                $resultaat = mysql_query($UpdateQuery) or die(mysql_error());    
                if ($resultaat) {    
                    echo "Het bericht is geupdate";    
                }
else {    
                    echo "Bericht updaten is mislukt!";  
                }
            
}
else {  // er is niet op post geklikt
        $titel = (!empty($_POST['titel'])) ? $_POST['titel'] : '';    

  $sql = "SELECT titel, datum, url, bericht FROM vangaart_nieuws WHERE id = ".$_GET['id'];
  if(!$result = mysql_query($sql))
  {

    echo "<b>Database probleem.</b><br> Probeer het nog een keer of neem contact op met de webmaster";
  }

  else
  {
    if(mysql_num_rows($result) == 0)
    {

      echo "Er is geen bericht gekozen";
    }

    else
    {
      $gegevens = mysql_fetch_assoc($result);
?>
  

<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<strong>Wijzigen bericht</strong>
<p><form action="<?php echo $_SERVER["PHP_SELF"]; ?>?page=wijzigen" method="post">


  <table width="100%" border="0" cellspacing="0">
    <tr>
      <td colspan="3">Door middel van dit formulier kunt u zelf uw nieuws of persberichten
        wijzigen.<br>
        * Let hierbij goed op wat u invult bij het veld url !!, komt u er niet
        helemaal uit ? raadpleeg dan de <a href="popup/help.htm" TARGET="popup" onClick="OpenVenster('popup/help.htm'); return false;">help
        pagina</a>.</td>
    </tr>
    <tr>
      <td width="20%">&nbsp;</td>
      <td width="3%">&nbsp;</td>
      <td width="77%">&nbsp;</td>
    </tr>
        <tr>
      <td><strong>ID</strong></td>
      <td><strong>:</strong></td>
      <td><input name="id" type="text" id="id" size="30"></td>
    </tr>
    <tr>
      <td><strong>Datum</strong></td>
      <td><strong>:</strong></td>
      <td><input name="datum" type="text" id="datum" size="30" value="<?php echo $gegevens['datum']; ?>">
      <input type="hidden" name="id" value="<?=$_GET['id'];?>"> </td>
    </tr>
    <tr>
      <td><strong>Titel</strong></td>
      <td><strong>:</strong></td>
      <td><input name="titel" type="text" id="titel" size="30" value="<?php echo $gegevens['titel']; ?>">
      <input type="hidden" name="id" value="<?=$_GET['id'];?>"></td>
    </tr>
    <tr>
      <td><strong>Url</strong></td>
      <td><strong>:</strong></td>
      <td><input name="url" type="text" id="url" value="<?php echo $gegevens['url']; ?>" size="30">
      <input type="hidden" name="id" value="<?=$_GET['id'];?>"></td>
    </tr>
    <tr>
      <td><strong>Bericht</strong></td>
      <td><strong>:</strong></td>
      <td rowspan="3"><textarea name="bericht" cols="35" rows="5" value="<?php echo $gegevens['bericht']; ?>">
      <input type="hidden" name="id" value="<?=$_GET['id'];?>"></textarea></td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td><input name="submit" type="submit" value="Wijzig bericht"></td>
    </tr>
  </table>
</form>&nbsp;</p>
</body>
</html>
<?php  
        }
    }
}


?>
Gewijzigd op 01/01/1970 01:00:00 door Dennis
 
PHP hulp

PHP hulp

19/11/2024 08:40:21
 
Toine vd P

Toine vd P

06/12/2006 15:54:00
Quote Anchor link
Je hoeft je ID niet te kwooten
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
$sql
= "
    UPDATE vangaart_nieuws
    SET
        titel = '$titel',
        datum = '$datum',
        url = '$url',
        bericht = '$bericht',
        WHERE id = $id"
;
?>

doe eens echo $sql en kijk dan verder

Overigens heeft wes een tekst gemaakt over het inkorten van tekst

daar las ik ook iets zoals

if (!empty($_POST)) { extract($_POST); }

te gebruiken i.p.v $poep = $_POST['poep'];
 
Dennis

Dennis

06/12/2006 16:06:00
Quote Anchor link
ben nog een newb , maar als ik het goed begrijp bedoelde je dit :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
echo '$sql = "
    UPDATE vangaart_nieuws
    SET
        titel = '
$titel',
        datum = '
$datum',
        url = '
$url',
        bericht = '
$bericht',
        WHERE id = $id";'

?>


zo ja ( zal denk ik niet... ) dan werkt het niet. De rest van de pagina is wel goed begrijp ik, ik moet me alleen concentreren nu op dit stuk dan ?

Sorry voor alle vragen hoor..
 
Frank -

Frank -

06/12/2006 16:08:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?
$id
= $_POST['id'];
$titel = $_POST['titel'];
$datum = $_POST['datum'];
$url = $_POST['url'];
$bericht = $_POST['bericht'];
?>

Dit is een garantie op problemen. Jij gaat vervolgens alle variabelen zonder enige vorm van controle/beveiling in de query zetten waarmee je een enorm veiligheidslek aanmaakt.

mysql_real_escape_string() is wel de meest minimale beveiliging die je hier nodig hebt. Tevens zul jij moeten controleren of $_POST['id'] een nummer is (ctype_digit() ) en $_POST['datum'] wel een datum is (checkdate() en vervolgens in het iso-formaat yyyy-mm-dd zetten) en tenslotte of $_POST['url'] wel een url is (regex gebruiken).

Zonder deze controles en beveiliging, heb je de garantie dat je een problemen en bugs aan het maken bent. Een goed werkend systeem is echt heel wat anders!
 
Dennis

Dennis

06/12/2006 16:26:00
Quote Anchor link
Pffftttt...zeker niemand die zich geroepen voelt om de code aan te passen ? :-(

@ Frank, wat je zegt $_POST['id'] een nummer is (ctype_digit() ), doel je hiermee op de waarde van de tabel ? zoals bv varchar ? want heb nog nooit hiervan gehoord namelijk.

Als je me dat zou willen uitleggen graag, want wil het graag allemaal onder de knie krijgen op den duur
 
Terence Hersbach

Terence Hersbach

06/12/2006 16:35:00
Quote Anchor link
Quote:
zeker niemand die zich geroepen voelt om de code aan te passen ?


dit zal je zelf moeten doen..

ook voor je eerste post.. lees eerst even de faq voordat je verder gaat op deze site. http://www.phphulp.nl/faq/
 
- SanThe -

- SanThe -

06/12/2006 16:35:00
Quote Anchor link
Dit $_SERVER["pages/PHP_SELF"] bestaat niet.
 
Dennis

Dennis

06/12/2006 16:44:00
Quote Anchor link
@ Terence : dat idee had ik al ja :-) en ik den kdat je doelt met de faq verwijzing hoe ik de code gepost had, excuses hiervoor. Zal daar voortaan op letten.

@ Santhe : dat had ik al eerder gehoord inderdaad, had eerst pages/$_SERVER["PHP_SELF"] ook geprobeerd omdat de pagina in die dir staat maar dat werkte ook niet. vandaar dat er een beetje in bleef hangen.
Maar als ik dus de pagina zelf aan roep, dan is het dus alleen $_SERVER["PHP_SELF"] . in ieder geval weer wat bijgeleerd...

Positief denken toch ? :-D

Ik ga me volgende keer opgeven als acteur van lost denk ik...zoals hun voel ik me nu ook...alleen ik zit niet op een warm eiland haha.. maar goed....

Als iemand wat pointers heeft graag..dan kan ik weer wat proberen in elkaar te knutselen.
 
Dion

Dion

06/12/2006 17:25:00
 
Dennis

Dennis

06/12/2006 19:24:00
Quote Anchor link
En nog kom ik er niet uit..., word er nogal moedeloos van... Zelfs als ik dat van dion toe pas gebeurd er niet wat ik wil....

Weet iemand anders een goed update script dat ik kan aanpassen ? :-(
Gewijzigd op 01/01/1970 01:00:00 door Dennis
 
Gerben G

Gerben G

06/12/2006 20:23:00
Quote Anchor link
kijk even tussen de scripts hier op de site. zit vast wel wat tussen
 
Dennis

Dennis

07/12/2006 08:54:00
Quote Anchor link
ja ik ga denk ik wel weer even speuren. Vond mezelf al een hele held...tot het niet werkte :-)

In ieder geval iedereen die al gereageerd heeft enorm bedankt voor de moeite!

Meer suggesties latijd welkom!
 
Dennis

Dennis

07/12/2006 13:19:00
Quote Anchor link
Zoals jullie zien heb ik alles wat veranderd en een nieuwe opbouw gemaakt met behulp van een ander script dan ik gevonden had.

Nu het volgende te tackelen probleem... de database :-) voor de connectie is alles goed ingevuld, alleen ergens hapert het...

Anyone ?
 
Jurgen assaasas

Jurgen assaasas

07/12/2006 13:26:00
Quote Anchor link
error?
 
- SanThe -

- SanThe -

07/12/2006 13:26:00
Quote Anchor link
Lekker helder.... Foutmelding....
 
Wim

Wim

07/12/2006 13:27:00
Quote Anchor link
Post je foutmelding(en), dat maakt helpen een stuk eenvoudiger. :)
 
Frank -

Frank -

07/12/2006 13:28:00
Quote Anchor link
Quote:
alleen ergens hapert het
En wat zegt mysl_error() over deze hapering? Of neem jij aan dat alles wel goed zal gaan en controleer je niet of het ook daadwerkelijk is goedgegaan?

Debuggen begint bij het controleren van alle uitgevoerde acties. Je hebt namelijk de garantie dat alles wat fout kán gaan, ook fout zál gaan. En is dat niet vandaag, dan is het wel morgen.
 
Dennis

Dennis

07/12/2006 13:33:00
Quote Anchor link
Ik krijg deze melding :
Database probleem. Probeer het nog een keer of neem contact op met de webmaster

Daar gaat het fout. Denk dat ik bij het selecteren van de velden wat fout heb gedaan.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
$sql = "SELECT titel, datum, url, bericht FROM vangaart_nieuws WHERE id = ".$_GET['id'];
  if(!$result = mysql_query($sql))
  {
    echo "<b>Database probleem.</b><br> Probeer het nog een keer of neem contact op met de webmaster";
  }
Gewijzigd op 01/01/1970 01:00:00 door Dennis
 
Wim

Wim

07/12/2006 13:35:00
Quote Anchor link
De komma achter url hoort er niet.
 
- SanThe -

- SanThe -

07/12/2006 13:35:00
Quote Anchor link
Query mislukt.
 
Dennis

Dennis

07/12/2006 13:38:00
Quote Anchor link
elk veld moet je toch scheiden door een komma ? of heb ik het nu mis.

@ SanThe : misschien een hele fijne lompe donderdagmiddag vraag :-), maar uuhhmmm wat bedoel je precies ?
 

Pagina: 1 2 3 volgende »



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.