if, else vraag
ik krijg een query fout
het komt er op neer, dat voor de nieuwe input in de dbase geplaatst word,
er nagezien word of het mail en naam er al niet instaan
indien niet mag die dus in een record komen
indien wel, dan gewoon de datum update doen
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
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
<?php
{
$query = mysql_query("SELECT name, email FROM donatie ");
$dbn = $tabel[name];
$dbm = $tabel[email];
if($dbn == $naam AND $dbm == $email);
{
$sql = " UPDATE donatie
SET datum = NOW()" ;
}
else
{
$sql = "
INSERT INTO donatie
SET
name = '" . $naam . "',
email = '" . $email . "',
datum = NOW()";
if (!mysql_query ($sql)) {
trigger_error (mysql_error ());
}
else
{
header("Location http://127.0.0.1/testen/index1.php");
exit(0);
}
}
}
?>
{
$query = mysql_query("SELECT name, email FROM donatie ");
$dbn = $tabel[name];
$dbm = $tabel[email];
if($dbn == $naam AND $dbm == $email);
{
$sql = " UPDATE donatie
SET datum = NOW()" ;
}
else
{
$sql = "
INSERT INTO donatie
SET
name = '" . $naam . "',
email = '" . $email . "',
datum = NOW()";
if (!mysql_query ($sql)) {
trigger_error (mysql_error ());
}
else
{
header("Location http://127.0.0.1/testen/index1.php");
exit(0);
}
}
}
?>
op lijn 14 hier krijg ik dus de foutmelding
met dank
Gewijzigd op 01/01/1970 01:00:00 door Elian degroot
Maar dit klopt in ieder geval niet:
Dat moet natuurlijk zijn:
ps. Ik zie nu dat je op regel 8 een ; achter je if-statement hebt staan. Die hoort daar niet.
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
Lijn 8 de ; moet weg.
Lijn 8 $naam ??? $email ????? waar dien die voor ??
Waar vul je de array ?
bovenaan connecten met database.
regel met header geeft foutmelding
Gewijzigd op 01/01/1970 01:00:00 door john zijlstra
Hiermee worden ALLE records in de tabel 'donatie' bijgewerkt. Ik heb het idee dat je een WHERE bent vergeten...
Echter, i.p.v. met 3 queries (SELECT, UPDATE/INSERT) de boel verwerken, kun je dat ook met 1 query doen. Dat maakt jouw script vele malen eenvoudiger en de database robuster.
Zie http://dev.mysql.com/doc/refman/4.1/en/insert-on-duplicate.html hoe je dat kunt aanpakken. Je hebt wel minimaal MySQL 4.1.0 nodig, maar dat lijkt mij anno 2006 toch wel een minimale vereiste.
if($dbn == $naam AND $dbm == $email);
Moet zijn:
if($dbn == $naam AND $dbm == $email)
maar ben nog niet lang uit het ziekenhuis, en ik denk dat mijn rein wetvan de pillen die ikmoet slikken
ik plaats hier het script, waar ik nu al enige tyd mee bezig ben
en die het niet doet
ik denk niet dat het een grote fout is
maar ik zie het niet meer
ik val niemand graag lastig
en als beginneling moet ik hetzelf zoveel mogelijk zien
maar nu zit ik vast
de foutregel op mijn pc is regel:
43
ikzelf heb al enkelle fouten eruitgevist
het script:
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
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
<?php
$username = 'tester';
$password = 'test';
$db = 'forum';
mysql_connect('localhost',$username,$password)or die('Er kon geen connectie gemaakt worden met de database');
mysql_select_db($db) or die('De database kon niet worden geselecteerd');
ini_set ('display_errors', 1);
error_reporting (E_ALL);
function valid_email ($email) {
return eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email);
}
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$errors = array ();
$naam = strip_tags ($_POST['naam']);
$naam = trim ($naam);
if (empty ($naam)) {
array_push ($errors, '<p>Geen naam ingevuld</p>');
}
if (!valid_email ($_POST['email'])) {
array_push ($errors, '<p>Ongeldig e-mailadres</p>');
}
$naam = mysql_real_escape_string ($naam);
$email = mysql_real_escape_string ($_POST['email']);
if (empty ($errors))
$query = mysql_query("SELECT name, email FROM donatie ");
$dbn = $tabel['naam'];
$dbm = $tabel['email'];
if($dbn == $naam AND $dbm == $email)
{
$sql = UPDATE donatie WHERE naam ,email = ' . $naam . ',' . $email . "',SET datum = NOW() ;
}
else
{
header("Location http://127.0.0.1/forum");
exit(0);
}
}
$sql = "
INSERT INTO donatie
SET
name = '" . $naam . "',
email = '" . $email . "',
datum = NOW()";
if (!mysql_query ($sql)) {
trigger_error (mysql_error ());
}
else
{
header("Location: http://127.0.0.1//forum");
exit(0);
}
}
?>
$username = 'tester';
$password = 'test';
$db = 'forum';
mysql_connect('localhost',$username,$password)or die('Er kon geen connectie gemaakt worden met de database');
mysql_select_db($db) or die('De database kon niet worden geselecteerd');
ini_set ('display_errors', 1);
error_reporting (E_ALL);
function valid_email ($email) {
return eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email);
}
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$errors = array ();
$naam = strip_tags ($_POST['naam']);
$naam = trim ($naam);
if (empty ($naam)) {
array_push ($errors, '<p>Geen naam ingevuld</p>');
}
if (!valid_email ($_POST['email'])) {
array_push ($errors, '<p>Ongeldig e-mailadres</p>');
}
$naam = mysql_real_escape_string ($naam);
$email = mysql_real_escape_string ($_POST['email']);
if (empty ($errors))
$query = mysql_query("SELECT name, email FROM donatie ");
$dbn = $tabel['naam'];
$dbm = $tabel['email'];
if($dbn == $naam AND $dbm == $email)
{
$sql = UPDATE donatie WHERE naam ,email = ' . $naam . ',' . $email . "',SET datum = NOW() ;
}
else
{
header("Location http://127.0.0.1/forum");
exit(0);
}
}
$sql = "
INSERT INTO donatie
SET
name = '" . $naam . "',
email = '" . $email . "',
datum = NOW()";
if (!mysql_query ($sql)) {
trigger_error (mysql_error ());
}
else
{
header("Location: http://127.0.0.1//forum");
exit(0);
}
}
?>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Mail Formulier</title>
<style type="text/css">
...
body {
background-color: FFFFFF;
}
</style>
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_reloadPage(init) { //reloads the window if Nav4 resized
if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
//-->
</script>
</head>
<body>
<h1>Vul uw gebruikersnaam en een geldig e-mailadres in om uw VIP status te bekomen</h1>
<div id="Layer2" style="position:absolute; width:92px; height:18px; z-index:4; left: 53px; top: 166px;"><a href="http://127.0.0.1/forum/"><img src="naarforum.JPG" width="93" height="22" border="0"></a></div>
<form method="post" action="#">
<p>
<label for="naam">naam:</label>
<input name="naam" type="text" value="">
</p>
<p>
<label for="email">e-mail:</label>
<input name="email" type="text" value="">
<input type="submit" value="verzenden">
</p>
</form>
</div>
<div id="Layer1" style="position:absolute; width:298px; height:346px; z-index:1; left: 1px; top: 180px;"><img src="2.gif" width="248" height="350"></div>
<div id="Layer3" style="position:absolute; width:200px; height:185px; z-index:3; left: 499px; top: 206px;"><img src="dollar20.jpg" width="199" height="199"></div>
<div id="errors">
</body>
kan, wil me iemand helpen aub?
en ook, als iemand me helpt me zeggen wat ik fout doe dan kan ik weer bijleren
met enorm en erg veel dank
Gewijzigd op 01/01/1970 01:00:00 door elian degroot