In het begin van mijn script heb ik keurig de inhoud van mijn variabele, maar later is die zelfde variabele leeg. Hoe kan dat?
1) Je overschrijft de variabele
2) Je unset de variabele
3) Je hebt de variabele binnen een andere scope gedeclareerd waardoor hij niet beschikbaar is op de plek waar je hem wilt gebruiken
4) enz. enz.

Kun je wat relevante code posten?
Heb wat regels verwijderd in de tabel


require "aspnet_client/header.php";
$admin = true;
require "aspnet_client/authenticatie.php";
$klantid = $_GET["klantid"];

echo "klantnummer: $klantid";

if ($_POST["knop"]&& $klantid !="") { // artikel ingevoerd?

$sql = "UPDATE gebruikers SET (username='$username', status='$status', email='$email', extra_email='$extra_email', actief='$actief', actcode='$actcode', lastactive='$lastactive', Bedrijfsnaam='$Bedrijfsnaam', Straat='$Straat', Postcode='$Postcode', Plaats='$Plaats', Telefoon='$Telefoon', Reknr='$Reknr') WHERE (klant_id=$klantid)";

if (!mysql_query($sql)) { // voer SQL code uit
echo "Bewerken klant mislukt!";
		
} 
else {
echo "OK, het klant is bijgewerkt!";	}
} else {



$query=" SELECT * FROM gebruikers WHERE klant_id='$klantid'";
$result=mysql_query($query);
$num=mysql_numrows($result);
mysql_close();

$username=mysql_result($result,0,"username");
$status=mysql_result($result,0,"status");
$email=mysql_result($result,0,"email");
$extra_email=mysql_result($result,0,"extra_email");
$actief=mysql_result($result,0,"actief");
$actcode=mysql_result($result,0,"actcode");
$lastactive=mysql_result($result,0,"lastactive");
$Bedrijfsnaam=mysql_result($result,0,"Bedrijfsnaam");
$Straat=mysql_result($result,0,"Straat");
$Postcode=mysql_result($result,0,"Postcode");
$Plaats=mysql_result($result,0,"Plaats");
$Telefoon=mysql_result($result,0,"Telefoon");
$Reknr=mysql_result($result,0,"Reknr");

?>
<p><div class="big">Klant bewerken</div><br>
Bewerk de volgende klant:
<form enctype="multipart/form-data" action="<?php echo $_SERVER["PHP_SELF"] ?>" method="post">
<input type="hidden" name="ud_id" value="<? echo $klantid; ?>"><table width="56%" border="0">

  <tr>
    <td width="32%">Nieuwe gebruikernaam: </td>
    <td width="68%"><input type="text" name="username" value="" /></td>
  </tr>
  <tr>
    <td>Nieuwe status:</td>
    <td><input type="text" name="status" value="<?php echo"$status";?>" /></td>
  </tr>
 
</table>
<br>


<br>
<br>
<br>
<br>
</form>
<?php }

require "footer.php";

?>
het gaat om de variabele $klantid
1. Niet bumpen!
2. Code tussen code-tags plaatsen!
kan je daar een voorbeeld van geven hoe ik het tussen tags kan zetten
[.code][./code] zonder punt.
even testen
Je post is nu niet echt leesbaar. Pas je post even aan en gebruik [ignore]
 en 
[/ignore] tags om je code heen. Om php code zet je uiteraard dit:<?php en ?>Gebruik je knop om dit te doen.

SanThe.
Het probleem zit in regel 45:

<input type="hidden" name="ud_id" value="<? echo $klantid; ?>">

Na het posten van je formulier zal je klantid niet terugkomen in $_POST['klantid'], maar in $_POST['ud_id'].

Overigens is het niet bijster efficiƫnt om 13x mysql_result() op dezelfde $result aan te roepen. Je kan beter de data eenmalig ophalen via mysql_fetch_array en daarna eventueel toekennen aan de losse variabelen.

Reageren