Variable sql checken
Pagina: « vorige 1 2 3 volgende »
Ik doe mijn uiterste best. maar helaas lukt het me niet. Ik ben al veel aan het lezen op internet en in boek Php Sql. Maar hier kom ik toch ook met boek en tutorials niet uit.
Dus als iemand wilt helpen graag. Maar hier heb ik niet zo veel aan Karl :)
Daarbij hoort dus ook de database. En die is dus niet echt geweldig.
Heb je ook al:
PHP Jasper op 14/03/2011 21:41:49:
geleerd?
http://muchu.nl/Upload/screenshot3.png
Toevoeging op 15/03/2011 08:55:34:
Het werkt nog steeds niet. Ook nadat ik de database heb verbeterd.
Gewijzigd op 14/03/2011 22:58:58 door Wouterjan Muchu
Misschien moet je de tabelsoort veranderen.
Hoe bedoel je dat?
Laat maar..
Niemand die mij kan vertellen hoe het kan dat hij altijd 'je moet nog betalen'weergeeft?
je gebruike een sessie die nergens gezet word
je vraagt niet je velden aan met mysql_fetch_array
je error handeling tja nou ja ik zou geen die of exit gebruiken maar een error handeling
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?
$sql = "SELECT * FROM betalingen WHERE random = '".$_SESSION[rand]."'";
$query = mysql_query($sql) or die ( mysql_error () );
if ($query['betaalcode'] == 0){
echo'Je moet eerst betalen';
}
elseif ($query['betaalcode'] !== 0){
echo'je hebt betaald';
}
?>
$sql = "SELECT * FROM betalingen WHERE random = '".$_SESSION[rand]."'";
$query = mysql_query($sql) or die ( mysql_error () );
if ($query['betaalcode'] == 0){
echo'Je moet eerst betalen';
}
elseif ($query['betaalcode'] !== 0){
echo'je hebt betaald';
}
?>
Word op de makelijke manier dit:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?
$jouidvar = int($_SESSION['rand']); //de sessie moet wel zijn aangemaakt en je session_start(); ook
$sql = "SELECT random,betaalcode FROM betalingen WHERE random = ' " . $jouidvar . " ' AND betaalcode = 0 ";
if($sql)
{
$query = mysql_query($sql);
if($query)
{
echo 'Je moet eerst betalen';
}
else
{
echo 'Je heb al betaald.';
}
}
else
{
echo 'Melding: Dit ID bestaad niet';
}
?>
$jouidvar = int($_SESSION['rand']); //de sessie moet wel zijn aangemaakt en je session_start(); ook
$sql = "SELECT random,betaalcode FROM betalingen WHERE random = ' " . $jouidvar . " ' AND betaalcode = 0 ";
if($sql)
{
$query = mysql_query($sql);
if($query)
{
echo 'Je moet eerst betalen';
}
else
{
echo 'Je heb al betaald.';
}
}
else
{
echo 'Melding: Dit ID bestaad niet';
}
?>
niet getest maar zo iets zou het moeten worden.
het is een klein voorbeeld hoe je code opstelling zou moeten worden.
Rob
Gewijzigd op 15/03/2011 15:26:07 door Robert dat ben ik
Zet dit eens bovenin je script.
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
//rest
?>
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
//rest
?>
otice: Undefined index: rand in /home/cxdmrzbh/domains/ebooktwitter.nl/public_html/download.php on line 33
Fatal error: Call to undefined function int() in /home/cxdmrzbh/domains/ebooktwitter.nl/public_html/download.php on line 48
Maar ik snap er nu helemaal niks van. Het lijkt wel of als je hem ververst. HIj niet ziet dat er iets in de database veranderd is en altijd hetzelfde blijft weergeven.
Gewijzigd op 15/03/2011 15:44:15 door Wouterjan Muchu
Is dat $_SESSION['rand']? Heb je wel session_start() bovenin staan?
Nog even kort uitleggen wat nu precies de bedoeling is.
Sesion[rand] binnenhalen
Kijken of er bij de rij met random waarde gelijk aan die van de session een 0 staat bij betaalcode.
Als er een 0 staat moet hij weergeven, je moet nog betalen.
Staat er wat anders dan een 0 code? Dan moet hij weergeven je hebt betaald.
Gewijzigd op 15/03/2011 15:48:09 door Wouterjan Muchu
En wat heb je zover? Relevant stukje code uiteraard.
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
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
<?php
session_start();
require_once 'db_config.php';
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
//rest
# sql-debug: bovenaan script
# sql debug
define('DEBUG_MODE',true); // true == aan, false == uit
# functie voor sql debug
function showSQLError($sql,$error,$text='Error')
{
if (DEBUG_MODE)
{
return '<pre>Error: ' . $error . '<br />' . $sql . '</pre>';
}
else
{
return $text;
}
}
# je query op gewenste plaats
$sql = "SELECT betaalcode
FROM betalingen
WHERE random = '".mysql_real_escape_string($_SESSION['rand'])."'";
if(($query = mysql_query($sql)) == false )
{
# als de query fout is -> foutafhandeling
echo showSQLError($sql,mysql_error(),'Fout met database.');
}
else
{
# query is gelukt -> fetchen
$row = mysql_fetch_assoc($query);
}
$jouidvar = int($_SESSION['rand']); //de sessie moet wel zijn aangemaakt en je session_start(); ook
$sql = "SELECT random,betaalcode FROM betalingen WHERE random = ' " . $jouidvar . " ' AND betaalcode = 0 ";
if($sql)
{
$query = mysql_query($sql);
if($query)
{
echo 'Je moet eerst betalen';
}
else
{
echo 'Je heb al betaald.';
}
}
else
{
echo 'Melding: Dit ID bestaad niet';
}
?>
session_start();
require_once 'db_config.php';
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
//rest
# sql-debug: bovenaan script
# sql debug
define('DEBUG_MODE',true); // true == aan, false == uit
# functie voor sql debug
function showSQLError($sql,$error,$text='Error')
{
if (DEBUG_MODE)
{
return '<pre>Error: ' . $error . '<br />' . $sql . '</pre>';
}
else
{
return $text;
}
}
# je query op gewenste plaats
$sql = "SELECT betaalcode
FROM betalingen
WHERE random = '".mysql_real_escape_string($_SESSION['rand'])."'";
if(($query = mysql_query($sql)) == false )
{
# als de query fout is -> foutafhandeling
echo showSQLError($sql,mysql_error(),'Fout met database.');
}
else
{
# query is gelukt -> fetchen
$row = mysql_fetch_assoc($query);
}
$jouidvar = int($_SESSION['rand']); //de sessie moet wel zijn aangemaakt en je session_start(); ook
$sql = "SELECT random,betaalcode FROM betalingen WHERE random = ' " . $jouidvar . " ' AND betaalcode = 0 ";
if($sql)
{
$query = mysql_query($sql);
if($query)
{
echo 'Je moet eerst betalen';
}
else
{
echo 'Je heb al betaald.';
}
}
else
{
echo 'Melding: Dit ID bestaad niet';
}
?>
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
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
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
session_start();
if(isset($_SESSION['rand'])) {
$jouidvar = $_SESSION['rand']; //de sessie moet wel zijn aangemaakt en je session_start(); ook
$sql = "SELECT random,betaalcode FROM betalingen WHERE random='$jouidvar' AND betaalcode=0";
if($sql)
{
$query = mysql_query($sql);
if($query)
{
echo "Je moet eerst betalen";
}
else
{
echo "Je heb al betaald.";
}
}
else
{
echo "Melding: Dit ID bestaad niet";
}
}else
{
echo "Je moet eerst betalen";
}
?>
ini_set('display_errors', 1);
error_reporting(E_ALL);
session_start();
if(isset($_SESSION['rand'])) {
$jouidvar = $_SESSION['rand']; //de sessie moet wel zijn aangemaakt en je session_start(); ook
$sql = "SELECT random,betaalcode FROM betalingen WHERE random='$jouidvar' AND betaalcode=0";
if($sql)
{
$query = mysql_query($sql);
if($query)
{
echo "Je moet eerst betalen";
}
else
{
echo "Je heb al betaald.";
}
}
else
{
echo "Melding: Dit ID bestaad niet";
}
}else
{
echo "Je moet eerst betalen";
}
?>
deze wel goed SanThe?
krijg geen error en ja je had gelijk :P oops zeg ik maar even :P
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
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
<?php
session_start();
require_once 'db_config.php';
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
//rest
# sql-debug: bovenaan script
# sql debug
define('DEBUG_MODE',true); // true == aan, false == uit
# functie voor sql debug
function showSQLError($sql,$error,$text='Error')
{
if (DEBUG_MODE)
{
return '<pre>Error: ' . $error . '<br />' . $sql . '</pre>';
}
else
{
return $text;
}
}
# je query op gewenste plaats
$sql = "SELECT betaalcode
FROM betalingen
WHERE random = '".mysql_real_escape_string($_SESSION['rand'])."'";
if(($query = mysql_query($sql)) == false )
{
# als de query fout is -> foutafhandeling
echo showSQLError($sql,mysql_error(),'Fout met database.');
}
else
{
# query is gelukt -> fetchen
$row = mysql_fetch_assoc($query);
if($row['betaalcode'] == 0)
{
echo 'Je moet eerst betalen';
}
else
{
echo 'Je heb al betaald.';
}
}
?>
session_start();
require_once 'db_config.php';
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
//rest
# sql-debug: bovenaan script
# sql debug
define('DEBUG_MODE',true); // true == aan, false == uit
# functie voor sql debug
function showSQLError($sql,$error,$text='Error')
{
if (DEBUG_MODE)
{
return '<pre>Error: ' . $error . '<br />' . $sql . '</pre>';
}
else
{
return $text;
}
}
# je query op gewenste plaats
$sql = "SELECT betaalcode
FROM betalingen
WHERE random = '".mysql_real_escape_string($_SESSION['rand'])."'";
if(($query = mysql_query($sql)) == false )
{
# als de query fout is -> foutafhandeling
echo showSQLError($sql,mysql_error(),'Fout met database.');
}
else
{
# query is gelukt -> fetchen
$row = mysql_fetch_assoc($query);
if($row['betaalcode'] == 0)
{
echo 'Je moet eerst betalen';
}
else
{
echo 'Je heb al betaald.';
}
}
?>
Toevoeging op 15/03/2011 16:02:17:
MaDHouSe xxxx op 15/03/2011 15:57:17:
deze wel goed SanThe?
Nee.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
$query = mysql_query($sql);
if($query)
{
echo "Je moet eerst betalen";
}
else
{
echo "Je heb al betaald.";
}
?>
$query = mysql_query($sql);
if($query)
{
echo "Je moet eerst betalen";
}
else
{
echo "Je heb al betaald.";
}
?>
Hier zeg jij dat als de query is gelukt je eerst moet betalen en als de query is mislukt je al betaald hebt. Niet echt logisch lijkt mij.
dat deze regel:
WHERE random = '".mysql_real_escape_string($_SESSION['rand'])."'";
dit: Undefined index: rand in
Maar dat is raar want die heeft een waarde.
Code (php)
1
2
3
4
2
3
4
<?php
$sql = "SELECT random,betaalcode FROM betalingen WHERE random='$jouidvar' AND betaalcode=0";
?>
$sql = "SELECT random,betaalcode FROM betalingen WHERE random='$jouidvar' AND betaalcode=0";
?>
Gewijzigd op 15/03/2011 16:05:48 door Robert dat ben ik
Wouterjan Muchu op 15/03/2011 16:03:57:
Maar dat is raar want die heeft een waarde.
Blijkbaar niet dus.
http://ebooktwitter.nl/download.php
(te benarderen via http://www.ebooktwitter.nl/bestellen.php
En dit is het script wat er nu staat:
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
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
<?php
session_start();
require_once 'db_config.php';
$random = $_SESSION[rand];
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
//rest
# sql-debug: bovenaan script
# sql debug
define('DEBUG_MODE',true); // true == aan, false == uit
# functie voor sql debug
function showSQLError($sql,$error,$text='Error')
{
if (DEBUG_MODE)
{
return '<pre>Error: ' . $error . '<br />' . $sql . '</pre>';
}
else
{
return $text;
}
}
# je query op gewenste plaats
$sql = "SELECT betaalcode
FROM betalingen
WHERE random = '".mysql_real_escape_string($_SESSION['rand'])."'";
if(($query = mysql_query($sql)) == false )
{
# als de query fout is -> foutafhandeling
echo showSQLError($sql,mysql_error(),'Fout met database.');
}
else
{
# query is gelukt -> fetchen
$row = mysql_fetch_assoc($query);
if($row['betaalcode'] == 0)
{
echo 'Je moet eerst betalen';
}
else
{
echo 'Je heb al betaald.';
}
print $row['betaalcode'];
echo '<br>';
echo $random;
}
?>
session_start();
require_once 'db_config.php';
$random = $_SESSION[rand];
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
//rest
# sql-debug: bovenaan script
# sql debug
define('DEBUG_MODE',true); // true == aan, false == uit
# functie voor sql debug
function showSQLError($sql,$error,$text='Error')
{
if (DEBUG_MODE)
{
return '<pre>Error: ' . $error . '<br />' . $sql . '</pre>';
}
else
{
return $text;
}
}
# je query op gewenste plaats
$sql = "SELECT betaalcode
FROM betalingen
WHERE random = '".mysql_real_escape_string($_SESSION['rand'])."'";
if(($query = mysql_query($sql)) == false )
{
# als de query fout is -> foutafhandeling
echo showSQLError($sql,mysql_error(),'Fout met database.');
}
else
{
# query is gelukt -> fetchen
$row = mysql_fetch_assoc($query);
if($row['betaalcode'] == 0)
{
echo 'Je moet eerst betalen';
}
else
{
echo 'Je heb al betaald.';
}
print $row['betaalcode'];
echo '<br>';
echo $random;
}
?>
Maar hij blijft het niet doen. terwijl hij dus wel een waarde heeft.