id fout
er zit een fout afhandeling in die niet goed werkt, het moet volgens mij de invoer tegen houden als ik iets niet invul, maar dat doet die niet het verzend de id wel naar de database en stuurt me wel terug naar de invoer.
Quote:
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
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
<?php
include("../includes/header.php");
include("../includes/db_adreslijst.php");
$mysql_id=mysql_connect("$dbhost","$dbuser","$dbpass");
if(isset($_POST[invoeren])) {
$Naam=$_POST[Naam];
$Voornaam=$_POST[Voornaam];
$Geb_datum=$_POST[Geb_datum];
$Straat=$_POST[Straat];
$Nr=$_POST[Nr];
$Postcode=$_POST[Postcode];
$Plaats=$_POST[Plaats];
$Land=$_POST[Land];
$Telefoon=$_POST[Telefoon];
$Gsm=$_POST[Gsm];
$Email=$_POST[$Email];
$sql=" INSERT into adressen (Naam,Voornaam,Geb_datum,Straat,Nr,Postcode,Plaats,Land,Telefoon,Gsm,Email) VALUES ('$Naam','$Voornaam','$Geb_datum','$Straat','$Nr','$Postcode','$Plaats','$Land','$Telefoon','$Gsm','$Email')";
$res=mysql_db_query("$db","$sql",$mysql_id);
$fout=mysql_errno($mysql_id);
if ($fout != 0) {
$fout=mysql_error($mysql_id);
echo '<font color="#FF2306">$fout</font>';
mysql_close($mysql_id);
echo '</body></html>';
exit;
}
else {
echo '<div align="left"><h3>De gegevens werden in de database aangepast</h4>
<p>Je wordt over 2 seconden naar je pagina gestuurd.</p>';
echo "<META HTTP-EQUIV=\"REFRESH\" CONTENT=\"1; URL=invoeren.php\">";
mysql_close($mysql_id);
exit;
}
}
?>
include("../includes/header.php");
include("../includes/db_adreslijst.php");
$mysql_id=mysql_connect("$dbhost","$dbuser","$dbpass");
if(isset($_POST[invoeren])) {
$Naam=$_POST[Naam];
$Voornaam=$_POST[Voornaam];
$Geb_datum=$_POST[Geb_datum];
$Straat=$_POST[Straat];
$Nr=$_POST[Nr];
$Postcode=$_POST[Postcode];
$Plaats=$_POST[Plaats];
$Land=$_POST[Land];
$Telefoon=$_POST[Telefoon];
$Gsm=$_POST[Gsm];
$Email=$_POST[$Email];
$sql=" INSERT into adressen (Naam,Voornaam,Geb_datum,Straat,Nr,Postcode,Plaats,Land,Telefoon,Gsm,Email) VALUES ('$Naam','$Voornaam','$Geb_datum','$Straat','$Nr','$Postcode','$Plaats','$Land','$Telefoon','$Gsm','$Email')";
$res=mysql_db_query("$db","$sql",$mysql_id);
$fout=mysql_errno($mysql_id);
if ($fout != 0) {
$fout=mysql_error($mysql_id);
echo '<font color="#FF2306">$fout</font>';
mysql_close($mysql_id);
echo '</body></html>';
exit;
}
else {
echo '<div align="left"><h3>De gegevens werden in de database aangepast</h4>
<p>Je wordt over 2 seconden naar je pagina gestuurd.</p>';
echo "<META HTTP-EQUIV=\"REFRESH\" CONTENT=\"1; URL=invoeren.php\">";
mysql_close($mysql_id);
exit;
}
}
?>
Gewijzigd op 24/06/2012 09:09:29 door Niek Kasius
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
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
<?php
include("../includes/header.php");
include("../includes/db_adreslijst.php");
$mysql_id=mysql_connect("$dbhost","$dbuser","$dbpass");
if($_SERVER['REQUEST_METHOD'] == 'post') {
// Moet je hier niet wat formulier controle inbakken? Mogen velden leeg blijven? Wil je niet op emailadres controleren? Oke, we gaan invoeren...
$sql=" INSERT into adressen (Naam,Voornaam,Geb_datum,Straat,Nr,Postcode,Plaats,Land,Telefoon,Gsm,Email) VALUES ('".mysql_real_escape_string($POST['Naam']."','".mysql_real_escape_string($POST['Voornaam']."','".mysql_real_escape_string($POST['Geb_datum']."','".mysql_real_escape_string($POST['Straat']."','".mysql_real_escape_string($POST['Nr']."','".mysql_real_escape_string($POST['Postcode']."','".mysql_real_escape_string($POST['Plaats']."','".mysql_real_escape_string($POST['Land']."','".mysql_real_escape_string($POST['Telefoon']."','".mysql_real_escape_string($POST['Gsm']."','".mysql_real_escape_string($POST['Email']."')";
$res=mysql_db_query("$db","$sql",$mysql_id);
$fout=mysql_errno($mysql_id);
if ($fout != 0) {
$fout=mysql_error($mysql_id);
echo '<font color="#FF2306">$fout</font>';
mysql_close($mysql_id);
echo '</body></html>';
exit;
}
else {
echo '<div align="left"><h3>De gegevens werden in de database aangepast</h4>
<p>Je wordt over 2 seconden naar je pagina gestuurd.</p>';
echo "<META HTTP-EQUIV=\"REFRESH\" CONTENT=\"1; URL=invoeren.php\">";
mysql_close($mysql_id);
exit;
}
}
?>
include("../includes/header.php");
include("../includes/db_adreslijst.php");
$mysql_id=mysql_connect("$dbhost","$dbuser","$dbpass");
if($_SERVER['REQUEST_METHOD'] == 'post') {
// Moet je hier niet wat formulier controle inbakken? Mogen velden leeg blijven? Wil je niet op emailadres controleren? Oke, we gaan invoeren...
$sql=" INSERT into adressen (Naam,Voornaam,Geb_datum,Straat,Nr,Postcode,Plaats,Land,Telefoon,Gsm,Email) VALUES ('".mysql_real_escape_string($POST['Naam']."','".mysql_real_escape_string($POST['Voornaam']."','".mysql_real_escape_string($POST['Geb_datum']."','".mysql_real_escape_string($POST['Straat']."','".mysql_real_escape_string($POST['Nr']."','".mysql_real_escape_string($POST['Postcode']."','".mysql_real_escape_string($POST['Plaats']."','".mysql_real_escape_string($POST['Land']."','".mysql_real_escape_string($POST['Telefoon']."','".mysql_real_escape_string($POST['Gsm']."','".mysql_real_escape_string($POST['Email']."')";
$res=mysql_db_query("$db","$sql",$mysql_id);
$fout=mysql_errno($mysql_id);
if ($fout != 0) {
$fout=mysql_error($mysql_id);
echo '<font color="#FF2306">$fout</font>';
mysql_close($mysql_id);
echo '</body></html>';
exit;
}
else {
echo '<div align="left"><h3>De gegevens werden in de database aangepast</h4>
<p>Je wordt over 2 seconden naar je pagina gestuurd.</p>';
echo "<META HTTP-EQUIV=\"REFRESH\" CONTENT=\"1; URL=invoeren.php\">";
mysql_close($mysql_id);
exit;
}
}
?>
Toevoeging op 24/06/2012 09:47:03:
Ik heb niet goed gelezen, je controle of er iets is ingevuld kan je op diverse manieren doen. Ik hou van een flexibele oplossing, de controle functies kan je in een apart bestand opnemen bijvoorbeeld:
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<?php
$formErrors = array ();
function showError()
{
global $formErrors;
echo '<ul>';
foreach ($formErrors as $key => $value)
{
echo '<li>'.$value.'</li>';
}
echo '</ul>';
}
function addError($e)
{
global $formErrors;
array_push($formErrors, $e);
}
// als $e bestaat een boolean teruggeven
function hasError()
{
global $formErrors;
if(count($formErrors))
{
return true;
}
else
{
return false;
}
}
function checkNotEmpty($var)
{
if(!empty($var))
{
return true;
}else{
return false;
}
}
function checkStrlen($var,$length)
{
if(strlen($var) >= (int) $length)
{
return true;
}else{
return false;
}
}
/**
* En dan op je formulier pagina
*/
if($_SERVER['REQUEST_METHOD'] == 'POST'){
if(isset($_POST['Naam'])){
if(!checkNotEmpty($_POST['Naam']) || !checkStrlen($_POST['Naam'], 2)){
addError('Voer een naam in van minstens 2 karakters');
}
}
}
/**
* En dan nu gaan invoeren
*/
/**
* Bijvoorbeeld boven je formulier weergeven:
*/
showError();
?>
$formErrors = array ();
function showError()
{
global $formErrors;
echo '<ul>';
foreach ($formErrors as $key => $value)
{
echo '<li>'.$value.'</li>';
}
echo '</ul>';
}
function addError($e)
{
global $formErrors;
array_push($formErrors, $e);
}
// als $e bestaat een boolean teruggeven
function hasError()
{
global $formErrors;
if(count($formErrors))
{
return true;
}
else
{
return false;
}
}
function checkNotEmpty($var)
{
if(!empty($var))
{
return true;
}else{
return false;
}
}
function checkStrlen($var,$length)
{
if(strlen($var) >= (int) $length)
{
return true;
}else{
return false;
}
}
/**
* En dan op je formulier pagina
*/
if($_SERVER['REQUEST_METHOD'] == 'POST'){
if(isset($_POST['Naam'])){
if(!checkNotEmpty($_POST['Naam']) || !checkStrlen($_POST['Naam'], 2)){
addError('Voer een naam in van minstens 2 karakters');
}
}
}
/**
* En dan nu gaan invoeren
*/
/**
* Bijvoorbeeld boven je formulier weergeven:
*/
showError();
?>
Gewijzigd op 24/06/2012 09:54:27 door Crispijn -
Crispijn doet die controle goed, kopieert niet een hele serie variabelen (zinloos) en zorgt voor beveiliging in zijn query.
Nog wat andere puntjes:
variabelen buiten quotes. (bv op regel 4).
Gebruik bij PHP (echo, print, etc) bij voorkeur ' en in HTML " en wees daarin consequent. Op regel 29 begin je je echo nu met ' en op regel 31 met " Daarna/Daardoor moet je verder op die regel gaan escapen.
ik weet niet wie van de twee gereageerd heeft maar je hebt gelijk.
Ik had die twee echoos ook in en keer kunnen doen.
Maar wat ik niet snap is dat die wel aangeeft dat die iets blokkeer en je dan terug stuurt.
maar eigelijk niks doet want het id nummer word wel geplaatst in de database.
Maar ik heb het al opgelost met dit.
Quote:
$mysql_id=mysql_connect("$dbhost","$dbuser","$dbpass");
if(isset($_POST[invoeren])) {
$Naam=$_POST[Naam];
$Voornaam=$_POST[Voornaam];
$Geb_datum=$_POST[Geb_datum];
$Straat=$_POST[Straat];
$Postcode=$_POST[Postcode];
$Plaats=$_POST[Plaats];
$Land=$_POST[Land];
$Telefoon=$_POST[Telefoon];
$Gsm=$_POST[Gsm];
$Email=$_POST[$Email];
$sql=" INSERT into adressen (Naam,Voornaam,Geb_datum,Straat,Postcode,Plaats,Land,Telefoon,Gsm,Email, id) VALUES
('$Naam','$Voornaam','$Geb_datum','$Straat','$Postcode','$Plaats','$Land','$Telefoon','$Gsm','$Email', '$id')";
$res=mysql_db_query("$db","$sql",$mysql_id);
$mysql_id=mysql_connect("$dbhost","$dbuser","$dbpass");
if(isset($_POST[invoeren])) {
$Naam=$_POST[Naam];
$Voornaam=$_POST[Voornaam];
$Geb_datum=$_POST[Geb_datum];
$Straat=$_POST[Straat];
$Postcode=$_POST[Postcode];
$Plaats=$_POST[Plaats];
$Land=$_POST[Land];
$Telefoon=$_POST[Telefoon];
$Gsm=$_POST[Gsm];
$Email=$_POST[$Email];
$sql=" INSERT into adressen (Naam,Voornaam,Geb_datum,Straat,Postcode,Plaats,Land,Telefoon,Gsm,Email, id) VALUES
('$Naam','$Voornaam','$Geb_datum','$Straat','$Postcode','$Plaats','$Land','$Telefoon','$Gsm','$Email', '$id')";
$res=mysql_db_query("$db","$sql",$mysql_id);
Gewijzigd op 25/06/2012 06:05:58 door Niek Kasius
En je id voer je nooit zelf in, dat bepaald de database voor jou. Met mysql_insert_id kan je het id ophalen als je dat wilt.
Kijk nog eens goed naar de formulier controle die ik heb ingebouwd. Daar zit 'm de crux volgens mij!
Niek Kasius op 25/06/2012 06:03:24:
Maar ik heb het al opgelost met dit.
Quote:
$mysql_id=mysql_connect("$dbhost","$dbuser","$dbpass");
if(isset($_POST[invoeren])) {
$Naam=$_POST[Naam];
$Voornaam=$_POST[Voornaam];
$Geb_datum=$_POST[Geb_datum];
$Straat=$_POST[Straat];
$Postcode=$_POST[Postcode];
$Plaats=$_POST[Plaats];
$Land=$_POST[Land];
$Telefoon=$_POST[Telefoon];
$Gsm=$_POST[Gsm];
$Email=$_POST[$Email];
$sql=" INSERT into adressen (Naam,Voornaam,Geb_datum,Straat,Postcode,Plaats,Land,Telefoon,Gsm,Email, id) VALUES
('$Naam','$Voornaam','$Geb_datum','$Straat','$Postcode','$Plaats','$Land','$Telefoon','$Gsm','$Email', '$id')";
$res=mysql_db_query("$db","$sql",$mysql_id);
$mysql_id=mysql_connect("$dbhost","$dbuser","$dbpass");
if(isset($_POST[invoeren])) {
$Naam=$_POST[Naam];
$Voornaam=$_POST[Voornaam];
$Geb_datum=$_POST[Geb_datum];
$Straat=$_POST[Straat];
$Postcode=$_POST[Postcode];
$Plaats=$_POST[Plaats];
$Land=$_POST[Land];
$Telefoon=$_POST[Telefoon];
$Gsm=$_POST[Gsm];
$Email=$_POST[$Email];
$sql=" INSERT into adressen (Naam,Voornaam,Geb_datum,Straat,Postcode,Plaats,Land,Telefoon,Gsm,Email, id) VALUES
('$Naam','$Voornaam','$Geb_datum','$Straat','$Postcode','$Plaats','$Land','$Telefoon','$Gsm','$Email', '$id')";
$res=mysql_db_query("$db","$sql",$mysql_id);
Dit kan natuurlijk nooit een oplossing zijn want van deze code is er werkelijk geen enkele regel correct. En dan heb ik het nog niet eens over het zinloze van variabelen copiëren.
Gewijzigd op 25/06/2012 09:01:35 door - SanThe -
maar het word wel als zodanig mee verzonden anders komt die ook niet in de database.
dat script heb ik die belg ene serge terry of zo iets van essetee en het werkte wel, maar nu ik alle scripts eens aan het naar kijken ben vanwege nieuw host adres en ik er nu pas achter kwam dat er iets fout ging doordat de voorzitter ff wou helpen en iets invoeren en de boel vast liep met als fout melding: error! emty id = 0 of zoiets.En als ik eerst database geexporterd en in de nieuwe host geinporteerd was ik er waarschijnlijk niet achter gekomen, omdat ik weet dat ik alle inputs moet invullen als zijn het maar een paar punten of aanhalings tekens, omdat anders de layout van die lege vakken niet goed is.
Quote:
Dit kan natuurlijk nooit een oplossing zijn want van deze code is er werkelijk geen enkele regel correct.
of andere dat ook hebben in reageren maar die scrollbalk blijft niet hangen waar aan En dan heb ik het nog niet eens over het zinloze van variabelen copiëren.
of andere dat ook hebben in reageren maar die scrollbalk blijft niet hangen waar aan En dan heb ik het nog niet eens over het zinloze van variabelen copiëren.
en gebruiken ze hier geen wordwrap? want ik zie dat de regels gaan behoorlijk buiten het vak gaan.
Toevoeging op 30/06/2012 10:00:00:
PS.
oh ja ik weet niet of andere dat ook hebben in reageren maar die scrollbalk blijft niet hangen waar aan het typen bent maar valt steeds terug zodat je niet kan zien wat je an het typen bent
Gewijzigd op 30/06/2012 09:59:32 door Niek Kasius