PHP + MSSQL "UPDATE" werkt niet

Pagina: 1
Acties:

  • OVERLORD_1982
  • Registratie: Juni 2001
  • Laatst online: 19-09 20:40
Beste lui,

Zoals in het onderwerp al staat, werkt bij mij de UPDATE functie niet. Als ik hem gebruik, dan laat i gewoon de gegevens ongewijzigd :(. Ik zet hieronder de source, misschien kunnen jullie een fout ontdekken.
PHP:
1
2
3
4
5
6
7
8
9
10
<?
IF ($action=="sentform") {
  mssql_connect("$serv","$inlognaam","$passwoord") or DIE ("Kan geen connectie maken");
  mssql_select_db("$db") or DIE ("Kan de DB niet vinden");
  mssql_query("UPDATE contactpersoon SET klantcode='$kllant', voornaam='$Voornaam', achternaam='$Achternaam', geslacht='$Geslacht', doorkiesnummer='$Doorkiesnummer', mobielnummer='$Mobiel', geboortedatum='$Geboortedatum', aangemaakt='$Aangemaakt' WHERE ID='$wID'");
  header("location: hoofdmenu.php");
}
$timestamp = time();
$tijd = date("d-m-Y G:i", $timestamp);
?>

De bijbehorende HTML:
code:
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
<form method="post" action="<?echo$PHP_SELF;?>?action=sentform">

<table border="1" bordercolor="#ffff00" width="100%" cellpadding="0" cellspacing="0">
    <tr>
        <td width="25%"><b>Contactpersoon ID:</a></b></td>
        <td width="25%"><input type="Text" name="id" maxlength="3" disabled width="40" value="<?echo$wID;?>"></td>
    </tr>
    <tr>
        <td width="25%"><b>Klantcode:</a></b></td>
        <td width="25%"><input type="Text" name="kllant" maxlength="3" width="40" value="<?echo$wklantcode;?>"></td>
    </tr>
    <tr>
        <td width="25%"><b>Voornaam:</b></td>
        <td width="25%"><input type="Text" name="Voornaam" width="40" value="<?echo$wvoornaam?>"></td>
    </tr>
    <tr>
        <td width="25%"><b>Achternaam:</b></td> 
        <td width="25%"><input type="Text" name="Achternaam" width="40" value="<?echo$wachternaam;?>"></td>
    </tr>
    <tr>
        <td width="25%"><b>Geslacht:</b></td> 
        <td width="25%"><input type="Text" name="Geslacht" width="40" value="<?echo$wgeslacht;?>"></td>
    </tr>
    <tr>
        <td width="25%"><b>Doorkiesnummer:</b></td> 
        <td width="25%"><input type="Text" name="Doorkiesnummer" width="40" value="<?echo$wdoorkiesnummer;?>"></td>
    </tr>   
    <tr>
        <td width="25%"><b>Mobiel:</b></td> 
        <td width="25%"><input type="Text" name="Mobiel" width="40" value="<?echo$wmobielnummer;?>"></td>
    </tr>   
    <tr>
        <td width="25%"><b>Geboorte datum:</b></td> 
        <td width="25%"><input type="Text" name="Geboortedatum" width="40" value="<?echo$wgeboortedatum;?>"></td>
    </tr>   
    <tr>
        <td width="25%"><b>Aangemaakt:</b></td> 
        <td width="25%"><input type="Text" name="Aangemaakt" disabled width="40" value="<?echo$tijd;?>"></td>
    </tr>   
</table>
<input type="Submit" name="button" value="Wijzig">
</form>

Ik hoop dat iemand het weet.

Greetz

Verwijderd

code:
1
WHERE ID='$wID'

Uhm, waar heb je 'wID' gedefineerd? En de ACTION bij je formpje, moet dat niet POST zijn ipv. 'sentform'?

  • OVERLORD_1982
  • Registratie: Juni 2001
  • Laatst online: 19-09 20:40
$wID is in een eerder formulier gedefinieerd. En de form "method" is "post" en dat staat goed.

  • dirkpostma
  • Registratie: Juni 2001
  • Laatst online: 10-05 16:53
Tip: doe eens:
PHP:
1
2
3
4
5
<?
$query = "bal die bla die bla";
mssql_query($query);
echo ("DEBUG:<br>$query");
?>

Dan weet je in ieder geval zeker welke query er wordt uitgevoerd. Post $query hier eens zou ik zeggen...

  • OVERLORD_1982
  • Registratie: Juni 2001
  • Laatst online: 19-09 20:40
Hmmz, interresant :) ik krijg als output:

DEBUG:

Niet echt veel :)

OOOPS FOUTJE, Ik krijg als output:

DEBUG:
UPDATE contactpersoon SET klantcode='GGD', voornaam='Ocmer', achternaam='Ladage', geslacht='M', doorkiesnummer='000-00000', mobielnummer='00-00000000', geboortedatum='18-02-1982', aangemaakt='' WHERE ID=''

Verwijderd

Heb je soms niet alle velden ingevuld in het form? In dat geval bestaan die variabelen niet, en krijg je problemen...

Waarom geef je action=sentform eigenlijk niet mee als <INPUT TYPE=HIDDEN ..>, dat is wat netter.

Maar volgens mij is het toch die $wID van jou:
<input type="Text" name="id" maxlength="3" disabled width="40" value="<?echo$wID;?>">

de name is hier id, en in je query gebruik je $wID. Dit komt niet overeen met wat je voor je andere velden doet.

  • dirkpostma
  • Registratie: Juni 2001
  • Laatst online: 10-05 16:53
Op maandag 01 oktober 2001 13:27 schreef OVERLORD_1982 het volgende:
Hmmz, interresant :) ik krijg als output:

DEBUG:

Niet echt veel :)

OOOPS FOUTJE, Ik krijg als output:

DEBUG:
UPDATE contactpersoon SET klantcode='GGD', voornaam='Ocmer', achternaam='Ladage', geslacht='M', doorkiesnummer='000-00000', mobielnummer='00-00000000', geboortedatum='18-02-1982', aangemaakt='' WHERE ID=''

Verwijderd

Hallee,

Je hebt je $wid niet gedeclareerd wat er staat where .. '' tussen de quotes staat nix mijn vriend
Pagina: 1