Update met verkeerde haak

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2 3 volgende »

Mark Boom

Mark Boom

01/09/2010 21:43:46
Quote Anchor link
Naamid wil ik niet posten, omdat deze auto-increment is.

Als ik de form als volgt aanpas, kan ik nog niet updaten.

<form action="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo $_SERVER['PHP_SELF']; ?>
" 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.
 
PHP hulp

PHP hulp

19/04/2024 23:45:16
 
Hipska BE

Hipska BE

02/09/2010 11:10:41
Quote Anchor link
door value="" aan te passen naar
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
value"<?php echo $iets; ?>"
kan je zorgen dat je tekstvelden niet leeg zijn bij het laden van de pagina.
 
Mark Boom

Mark Boom

03/09/2010 18:19:28
Quote Anchor link
Ik heb de value erin gezet (value="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $wel1; ?>
") 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>
 
Niek s

niek s

03/09/2010 20:17:06
Quote Anchor link
Dat betekent dat $wel1 niet bestaat op het moment dat je deze aanroept...

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
 
Mark Boom

Mark Boom

03/09/2010 21:38:37
Quote Anchor link
Dank je wel.

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
 
Niek s

niek s

03/09/2010 21:41:43
Quote Anchor link
Nou, in elk geval voordat je hem gebruikt ;-)

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!
 
Mark Boom

Mark Boom

03/09/2010 21:47:17
Quote Anchor link
Moet ik de variabele 'wel1' direct onder de include declareren? Dat is me al eerder mislukt.



Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
error_reporting(E_ALL | E_STRICT);
ini_set('display_errors', 1);
?>


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
<?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';
}

?>


<form action="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo $_SERVER['PHP_SELF']; ?>
" method="post" enctype="multipart/form-data">
Id: <input type="int" name="naamid" value="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $naamid; ?>
" size="4""><br>
Naam : <input type="text" name="wel1" value="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $wel1; ?>
" size="50""><br>
Adres : <input type="text" name="wel2" value="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $wel2; ?>
" size="50""><br>
<input type="submit" name="submit" value="verstuur" />
</form>
Gewijzigd op 03/09/2010 21:51:18 door Mark Boom
 
Aad B

Aad B

03/09/2010 21:54:22
Quote Anchor link
Haal je variabelen buiten de single quotes: '$wel1'
Gewijzigd op 03/09/2010 21:55:15 door Aad B
 
Mark Boom

Mark Boom

04/09/2010 07:39:31
Quote Anchor link
In de volgende regel heb ik de quotes om $wel1, $wel2 en $naamid weggehaald, maar de foutmelding blijft hetzelfde.

$sql = "UPDATE gegevens SET wel1 = $wel1, wel2=$wel2 WHERE naamid = $naamid";
 
- SanThe -

- SanThe -

04/09/2010 14:05:13
Quote Anchor link
<input type="int"

Lijkt mij dat dat type niet bestaat.
 
Mark Boom

Mark Boom

04/09/2010 15:23:04
Quote Anchor link
In mijn database staan de volgende velden
naamid int(4)
wel1 text
wel2 text

naamid is auto_increment
 
- SanThe -

- SanThe -

04/09/2010 15:27:29
Quote Anchor link
SanThe Nvt op 04/09/2010 14:05:13:
<input type="int"

Lijkt mij dat dat type niet bestaat.


Dit heeft niks met de database te maken. Dit is (geen) html.
 
Mark Boom

Mark Boom

04/09/2010 15:43:51
Quote Anchor link
Dom van me!

Toch heb ik het altijd zo opgevat.

Welke input type kan ik voor deze drie 'velden' het best gebruiken?
 
- SanThe -

- SanThe -

04/09/2010 15:50:11
Quote Anchor link
Je hebt niet zoveel keus in inputvelden.
 
Mark Boom

Mark Boom

04/09/2010 16:03:43
Quote Anchor link
Dank je wel. Ik maak er text van.

Maar de foutmelding blijft:

Undefined variable: wel1 in

Ook voor naamid en wel2
 
- SanThe -

- SanThe -

04/09/2010 16:09:08
Quote Anchor link
En waar moet die 'wel1' vandaan komen? Hij bestaat blijkbaar niet.

Uit het formulier? Gebruik dan $_POST['wel1'].
Gewijzigd op 04/09/2010 16:10:13 door - SanThe -
 
Mark Boom

Mark Boom

04/09/2010 17:33:29
Quote Anchor link
Ik heb tutorials over formulieren opgezocht om te kijken hoe ik $_POST['wel1'] in een formulier kan verwerken, maar ik heb niet gevonden hoe ik dat moet doen.

Volgens mij hoort $_POST['wel1'] alleen in PHP thuis. Of moet ik een gedeelte PHP in het formulier schrijven.
 

04/09/2010 18:51:10
 
Mark Boom

Mark Boom

05/09/2010 21:36:47
Quote Anchor link
Dank je wel. In deze handleiding zie ik dat met $_POST in de form geprint kan worden.

Ik wijzig de form als volgt

Naam : <input type="text" name="wel1" value="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $_POST['wel1']; ?>
" 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.
 
- SanThe -

- SanThe -

05/09/2010 21:44:57
Quote Anchor link
Gebruik isset().
 

Pagina: « vorige 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.