fout met mysql_query(UPDATE ... SET.....

Status
Niet open voor verdere reacties.

hitme007

Gebruiker
Lid geworden
16 jun 2004
Berichten
131
Jaja, ben ik weer... ;)

Het gaat om het volgende script:

PHP:
<?

require("config.php");

$tempid = $_GET['id'];

$query = mysql_query("SELECT * FROM Leden_A WHERE id='$tempid'");
if(!$submit){

while($object = mysql_fetch_object($query)){
?>
<form method="POST" action="<? echo $PHP_SELF ?>">
  <input type="hidden" name="submit" value="1">
  Naam:<br>
  <input type="text" name="naam" size="30" value="<? echo $object->naam ?>"><br>
  Adres:<br>
  <input type="text" name="adres" size="30" value="<? echo $object->adres ?>"><br>
  Postcode:<br>
  <input type="text" name="postcode" size="30" value="<? echo $object->postcode ?>"><br>
  Woonplaats:<br>
  <input type="text" name="woonplaats" size="30" value="<? echo $object->woonplaats ?>"><br>
  Telefoon:<br>
  <input type="text" name="telefoon" size="30" value="<? echo $object->telefoon ?>"><br>
  E-mail adres:<br>
  <input type="text" name="email" size="30" value="<? echo $object->email ?>"><br><br>
  <input type="submit" value="Opslaan"> <input type="reset" value="Reset"></p>
</form>
<?
}
}
else{

mysql_query("UPDATE Leden_A SET naam='$naam', adres='$adres', postcode = '$postcode', woonplaats = '$woonplaats', telefoon = '$telefoon', email = '$email' WHERE id='$tempid'") or die(mysql_error());

echo " succesvol geupdate ";
}

?>

Het script geeft geen foutmelding, maar werkt niet correct. Het script update de tabellen niet, wat natuurlijk de hele bedoeling is van dit script.

Iemand een idee waar het fout gaat?
 
oorzaak gevonden, nu de oplossing nog?

het zit em in de $_GET['id']

als ik $tempid een vaste waarde geef, update hij wel goed...

iemand de oplossing???
 
Probeer dit 's:

PHP:
<?

require("config.php");

if(isset($_GET['id']) == FALSE)
{
  echo "geen id !";
}
else
{
  $tempid = $_GET['id'];
  
  $query = "SELECT * FROM Leden_A WHERE id = '" . $tempid . "'";
  $result = mysql_query($query) or die(mysql_error());
  
  if(isset($_POST['submit']) == FALSE)
  {
    while($object = mysql_fetch_object($result))
    {
    ?>
      <form method="POST" action="<? echo $PHP_SELF ?>">
        <input type="hidden" name="submit" value="1">
        Naam:<br>
        <input type="text" name="naam" size="30" value="<? echo $object->naam ?>"><br>
        Adres:<br>
        <input type="text" name="adres" size="30" value="<? echo $object->adres ?>"><br>
        Postcode:<br>
        <input type="text" name="postcode" size="30" value="<? echo $object->postcode ?>"><br>
        Woonplaats:<br>
        <input type="text" name="woonplaats" size="30" value="<? echo $object->woonplaats ?>"><br>
        Telefoon:<br>
        <input type="text" name="telefoon" size="30" value="<? echo $object->telefoon ?>"><br>
        E-mail adres:<br>
        <input type="text" name="email" size="30" value="<? echo $object->email ?>"><br><br>
        <input type="submit" value="Opslaan"> <input type="reset" value="Reset"></p>
      </form>
    <?
    }
  }
  else
  {
    mysql_query("UPDATE Leden_A SET naam = '" . $_POST['naam'] . "', adres='" . $_POST['adres'] . "', postcode = '" . $_POST['postcode'] . "', woonplaats = '" . $_POST['woonplaats'] . "', telefoon = '" . $_POST['telefoon'] . "', email = '" . $_POST['email'] . "' WHERE id = '" . ((int)$tempid) . "'") or die(mysql_error());
    echo " succesvol geupdate ";
  }
}
?>

En ik ben volgens mij niet de enige als je in hetzelfde topic doorgaat over hetzelfde script maar andere problemen :rolleyes: :o

gr. Thomaz
 
k, ik heb, als ik zo vrij mag zijn :P, mijn script weer even terug gezet.

Deze werkt prima als ik

$tempid = $_GET['id'];

verander in

$tempid = 1 ;


1 is dan natuurlijk het eerste record en als ik daar wijzigingen in aanbreng worden deze keurig doorgevoerd.

Als ik $tempid = $_GET['id']; gebruik en ik geef in de URL id=1 mee, selecteerd hij wel de goede tabel en deze wordt ook zichtbaar, maar als ik vervolgens op "Opslaan" klik krijg ik wel de melding "succesvol geupdate" maar heeft hij niets geupdate...het lijkt dus wel of $tempid = $_GET['id']; bij het selecteren van de tabel wel werkt maar bij het updaten niet...

but why? :confused:


EDIT by Hitme007: Ligt het niet aan het feit dat als je op opslaan klik de URL wijzigt in /wijzig.php i.p.v. /wijzig.php?id=1 ???

ik heb het volgende geprobeerd, maar dat wilde niet echt...
i.p.v. <? echo $PHP_SELF ?> had ik <? echo $PHP_SELF?id=$tempid ?> neergezet... maar dit gaf parse errors...

iemand?
 
Laatst bewerkt:
OK, opgelost...

i.p.v. $PHP_SELF heb ik $_SERVER['REQUEST_URI']

dit heeft het probleem opgelost...

Volgende uitdaging, maar ik zal wel weer een nieuw topic openen om het overzicht te houden... deze mag gesloten

THX tou ALL
:thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan