Update met verkeerde haak
Pagina: « vorige 1 2 3 volgende »
Als ik de form als volgt aanpas, kan ik nog niet updaten.
<form action="" method="post" enctype="multipart/form-data">
Id: <input type="int" name="naamid" value="" size="4""><br>
Naam : <input type="text" name="wel1" value="" size="50""><br>
Adres : <input type="text" name="wel2" value="" size="50""><br>
<input type="submit" name="submit" value="verstuur" />
</form>
Als ik
$naamid = mysql_real_escape_string($_POST['naamid']);
weghaal, lukt de update ook niet.
Ik verwacht tekstvakken waarin de gegevens van PHPMyAdmin in staan, maar ik krijg alleen maak twee lege tekstvelden.
kan je zorgen dat je tekstvelden niet leeg zijn bij het laden van de pagina.
door value="" aan te passen naar ") en ik krijg inderdaad tekst in het invoervak te zien.
Maar het is een foutmelding:
<blockquote class='PHPError' style='display:none;border:1px dotted black;background-color:#DDDDDD;padding:0px 20px 20px 20px;margin-left:50px;'><br /><b>Notice</b>: Undefined variable: wel1 in <b>/var/accounts/xxx/update/index.php</b> on line <b>51</b><br /></blockquote><script src='http://www.xxx/PHPErrors/php_error.js'></script>
Ik heb de value erin gezet (value="Maar het is een foutmelding:
<blockquote class='PHPError' style='display:none;border:1px dotted black;background-color:#DDDDDD;padding:0px 20px 20px 20px;margin-left:50px;'><br /><b>Notice</b>: Undefined variable: wel1 in <b>/var/accounts/xxx/update/index.php</b> on line <b>51</b><br /></blockquote><script src='http://www.xxx/PHPErrors/php_error.js'></script>
PS: Is dat erg moeilijk te bedenken als je de tekst "Undefined Variable $wel1" leest?
Gewijzigd op 03/09/2010 20:17:34 door niek s
Het is inderdaad niet moeilijk om te beredeneren dat dit de fout is. Met deze foutmelding worstel ik al heel lang.
Maar ik weet niet waar ik $wel1 moet declareren.
Volgens heb ik dat namelijk al gedaan.
Gewijzigd op 03/09/2010 21:39:10 door Mark Boom
Zonder code kunnen we neits. Maar in dit geval hoef ik het ook niet te zien: Controleer de spelling van de variabele anders nog eens een keer!
Code (php)
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
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
<?php
include ("db_connect.inc.php");
//Ik heb drie velden aangemaakt: naamid, wel1 en wel2
if ( $_SERVER['REQUEST_METHOD'] == 'POST'
&& isset($_POST['naamid'])
&& ctype_digit($_POST['naamid'])
&& (isset($_POST['wel1'])) || isset($_POST['wel2']))
//Als ik in wel1 of wel2 iets invoeg, wordt de database geupdatet
//Ik gebruik mysql_real_escape_string om te voorkomen dat er een delete-code in
//het tekstvak getypt kan worden.
{
if (isset($_POST['wel1']) && isset($_POST['wel2']))
{
$wel1 = mysql_real_escape_string($_POST['wel1']);
$wel2 = mysql_real_escape_string($_POST['wel2']);
$naamid = mysql_real_escape_string($_POST['naamid']);
$sql = "UPDATE gegevens SET wel1 = '$wel1', wel2='$wel2' WHERE naamid = '$naamid'";
}
//Als de database niet geraadpleegd kan worden, krijg ik een foutmelding.
if (!$result = mysql_query($sql))
{
echo mysql_error().'<br />'.$sql;
}
else
{
}
}
else
{
echo 'gegevens zijn niet verwerkt';
}
?>
include ("db_connect.inc.php");
//Ik heb drie velden aangemaakt: naamid, wel1 en wel2
if ( $_SERVER['REQUEST_METHOD'] == 'POST'
&& isset($_POST['naamid'])
&& ctype_digit($_POST['naamid'])
&& (isset($_POST['wel1'])) || isset($_POST['wel2']))
//Als ik in wel1 of wel2 iets invoeg, wordt de database geupdatet
//Ik gebruik mysql_real_escape_string om te voorkomen dat er een delete-code in
//het tekstvak getypt kan worden.
{
if (isset($_POST['wel1']) && isset($_POST['wel2']))
{
$wel1 = mysql_real_escape_string($_POST['wel1']);
$wel2 = mysql_real_escape_string($_POST['wel2']);
$naamid = mysql_real_escape_string($_POST['naamid']);
$sql = "UPDATE gegevens SET wel1 = '$wel1', wel2='$wel2' WHERE naamid = '$naamid'";
}
//Als de database niet geraadpleegd kan worden, krijg ik een foutmelding.
if (!$result = mysql_query($sql))
{
echo mysql_error().'<br />'.$sql;
}
else
{
}
}
else
{
echo 'gegevens zijn niet verwerkt';
}
?>
<form action="" method="post" enctype="multipart/form-data">
Id: <input type="int" name="naamid" value="" size="4""><br>
Naam : <input type="text" name="wel1" value="" size="50""><br>
Adres : <input type="text" name="wel2" value="" size="50""><br>
<input type="submit" name="submit" value="verstuur" />
</form>
Gewijzigd op 03/09/2010 21:51:18 door Mark Boom
Gewijzigd op 03/09/2010 21:55:15 door Aad B
$sql = "UPDATE gegevens SET wel1 = $wel1, wel2=$wel2 WHERE naamid = $naamid";
Lijkt mij dat dat type niet bestaat.
naamid int(4)
wel1 text
wel2 text
naamid is auto_increment
SanThe Nvt op 04/09/2010 14:05:13:
<input type="int"
Lijkt mij dat dat type niet bestaat.
Lijkt mij dat dat type niet bestaat.
Dit heeft niks met de database te maken. Dit is (geen) html.
Toch heb ik het altijd zo opgevat.
Welke input type kan ik voor deze drie 'velden' het best gebruiken?
Maar de foutmelding blijft:
Undefined variable: wel1 in
Ook voor naamid en wel2
Volgens mij hoort $_POST['wel1'] alleen in PHP thuis. Of moet ik een gedeelte PHP in het formulier schrijven.
Ik wijzig de form als volgt
Naam : <input type="text" name="wel1" value="" size="50""><br>
Nu is de foutmelding Undefined variable: wel1 gewijzigd in Undefined index.
Kun je me een hint geven waar ik deze fout moet zoeken? Zit de fout nu in de <form> of in de php.
isset().
Gebruik