Variable sql checken

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2 3 volgende »

Wouterjan Muchu

Wouterjan Muchu

14/03/2011 22:42:37
Quote Anchor link
Ik zeg niet dat het er niet mee te maken heeft. Maar ik ga even geen discussie aan.

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 :)
 
PHP hulp

PHP hulp

26/04/2024 07:25:10
 

14/03/2011 22:46:19
Quote Anchor link
En ik zeg dat het er wel wat mee te maken heeft. Voordat je kan autorijden moet je dat eerst leren. Hier is hetzelfde aan de hand. Voordat je met SQL kan werken moet je het eerst leren.
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?
 
Wouterjan Muchu

Wouterjan Muchu

14/03/2011 22:58:48
Quote Anchor link
Is de database zo beter?
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
 
KevenH H

KevenH H

15/03/2011 10:37:40
Quote Anchor link
Misschien moet je de tabelsoort veranderen.
 
Wouterjan Muchu

Wouterjan Muchu

15/03/2011 10:39:55
Quote Anchor link
Hoe bedoel je dat?
 
KevenH H

KevenH H

15/03/2011 14:24:22
Quote Anchor link
Laat maar..
 
Wouterjan Muchu

Wouterjan Muchu

15/03/2011 15:23:51
Quote Anchor link
Niemand die mij kan vertellen hoe het kan dat hij altijd 'je moet nog betalen'weergeeft?
 
Robert  dat ben ik

Robert dat ben ik

15/03/2011 15:25:17
Quote Anchor link
zo ie zo klopt je code niet
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)
PHP script in nieuw venster Selecteer het PHP script
1
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';
}

?>


Word op de makelijke manier dit:


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
<?
$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
 
- SanThe -

- SanThe -

15/03/2011 15:35:00
Quote Anchor link
@MaDHouSe: Er klopt niet veel van jouw code.

Zet dit eens bovenin je script.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);

//rest
?>
 
Wouterjan Muchu

Wouterjan Muchu

15/03/2011 15:40:16
Quote Anchor link
Ik krijg met de error display dit:
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
 
- SanThe -

- SanThe -

15/03/2011 15:43:57
Quote Anchor link
Is dat $_SESSION['rand']? Heb je wel session_start() bovenin staan?
 
Wouterjan Muchu

Wouterjan Muchu

15/03/2011 15:45:10
Quote Anchor link
Ja dat heb ik. En de session heeft ook een waarde.

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
 
- SanThe -

- SanThe -

15/03/2011 15:51:55
Quote Anchor link
En wat heb je zover? Relevant stukje code uiteraard.
 
Wouterjan Muchu

Wouterjan Muchu

15/03/2011 15:53:13
Quote Anchor link
Dit is wat er nu staat
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
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';
}

?>
 
Robert  dat ben ik

Robert dat ben ik

15/03/2011 15:57:17
Quote Anchor link
haal die hele code is weg


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

?>



deze wel goed SanThe?

krijg geen error en ja je had gelijk :P oops zeg ik maar even :P
 
- SanThe -

- SanThe -

15/03/2011 15:58:23
Quote Anchor link
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
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.';
    }
}

?>


Toevoeging op 15/03/2011 16:02:17:

MaDHouSe xxxx op 15/03/2011 15:57:17:
deze wel goed SanThe?


Nee.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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.";
        }

?>


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.
 
Wouterjan Muchu

Wouterjan Muchu

15/03/2011 16:03:57
Quote Anchor link
Bedankt beide! Ik bij die van MaDHouSe
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.
 
Robert  dat ben ik

Robert dat ben ik

15/03/2011 16:04:43
Quote Anchor link
kijk is goed naar de sql er staat een 0 en als hij 0 is moet je betalen en als hij 1 is heb je betaald dus op zich is deze sql goed kwa check het is maar een simpel voorbeeld dat ie snapt wat er gebeurd toch?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
    $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
 
- SanThe -

- SanThe -

15/03/2011 16:05:51
Quote Anchor link
Wouterjan Muchu op 15/03/2011 16:03:57:
Maar dat is raar want die heeft een waarde.


Blijkbaar niet dus.
 
Wouterjan Muchu

Wouterjan Muchu

15/03/2011 16:08:16
Quote Anchor link
Kijk dit is de pagina:

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)
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
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;
}

?>


Maar hij blijft het niet doen. terwijl hij dus wel een waarde heeft.
 

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.