Toon posts:

PHP met Acces ipv MySQL probleempje

Pagina: 1
Acties:
  • 36 views sinds 30-01-2008

Verwijderd

Topicstarter
Ik wil graag een PHP-scriptje maken die aan de hand van een Access database 2 dingen controleerd. Username en password uiteraard. De reden waarom ik Access wil gebruiken en niet SQL is dat het pakket waar wij mee werken gebruikt maakt van een Access database.

Ik heb al diverse dingen ge-googeld maar niks bruikbaars kunnen vinden. Wel een paar scriptjes die gebruik maken van SQL maar die krijg ik niet aan de praat met mijn Access database. Dit is wat ik tot nu toe heb:

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
<?php 



// functie.php3 (hier staan alle functie in een voor db connecten 

// en een voor het matchen van de wachtwoorden) 


function verbind(){
    $db = 'C:\\Data\\Database.mdb';
    $conn = new COM('ADODB.Connection');
    $conn->Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=$db"); 

}


function password($username, $passgecodeerd) { 

    verbind();    

        $pass_uit_database = ""; // voor de zekerheid 



        // deze sql code haalt het wachtwoord uit de database van de opgegeven username 

        $sql = "SELECT aantalwerknemers FROM relaties WHERE debiteurennummer LIKE '$username' ORDER BY id DESC";

        $resultaat = mysql_query($sql) or die(mysql_error()); 



        if ($row = mysql_fetch_object($resultaat)) { // zorg er wel voor dat een username maar een keer voorkomt in de db!!! 

            // password md5-en 

            $pass_uit_database = md5($row->password); 



            if($passgecodeerd == $pass_uit_database) {  // match de passwords uit de db en uit de session 

                return TRUE;  

            } 

            else { 

                echo "Geen geldige combinatie van gebruikersnaam en wachtwoord"; 

                return FALSE; 

            } 

        } 

        else { 

            echo "ongeldige gebruikersnaam"; 

            return FALSE; 

        } 

    }


Kan iemand mij misschien verder helpen? _/-\o_

  • avon
  • Registratie: November 2002
  • Laatst online: 27-06-2025
enne, wat gaat er fout?

Gratis webwinkel beginnen? Met Onetoshop.com kunt u direct beginnen!


  • whoami
  • Registratie: December 2000
  • Nu online
Verwijderd schreef op 01 december 2003 @ 11:40:
Ik wil graag een PHP-scriptje maken die aan de hand van een Access database 2 dingen controleerd. Username en password uiteraard. De reden waarom ik Access wil gebruiken en niet SQL is dat het pakket waar wij mee werken gebruikt maakt van een Access database.
Access maakt ook gebruik van SQL.
Kan iemand mij misschien verder helpen? _/-\o_
En wat is het probleem?
P&W is een forum waar we anderen helpen, zodat ze hun problemen etc kunnen oplossen, maar het is geen plek waar anderen de code voor jou gaan herschrijven of gaan vervolledigen.

https://fgheysels.github.io/


  • DeverauX
  • Registratie: Februari 2002
  • Niet online

DeverauX

Focus is everything

Kan iemand mij misschien verder helpen?
Waarmee? Met andere woorden; wat gaat er fout? :)

Daarnaast;
• Waarom maak je gebruik van het statement LIKE() :?
• Is debiteurnummer een numerieke waarde :?
• Waarom staat er een order by in je query als je verwacht slechts één waarde terug te krijgen :?
• SELECT aantalwerknemers :?
SQL:
1
2
3
SELECT aantalwerknemers 
FROM relaties 
WHERE debiteurennummer LIKE '$username' ORDER BY id DESC

Er klopt dus weinig van je query en dit zou weleens de oorzaak van je probleem kunnen zijn.

...whatever was distasteful or unpleasant or uncomfortable or painful - music could always soothe that.
All you have to do is reach out to beauty.
Quincy Jones


Verwijderd

Topicstarter
DeverauX schreef op 01 december 2003 @ 11:49:
[...]

Waarmee? Met andere woorden; wat gaat er fout? :)

Daarnaast;
• Waarom maak je gebruik van het statement LIKE() :?
• Is debiteurnummer een numerieke waarde :?
• Waarom staat er een order by in je query als je verwacht slechts één waarde terug te krijgen :?
• SELECT aantalwerknemers :?
SQL:
1
2
3
SELECT aantalwerknemers 
FROM relaties 
WHERE debiteurennummer LIKE '$username' ORDER BY id DESC

Er klopt dus weinig van je query en dit zou weleens de oorzaak van je probleem kunnen zijn.
In het pakket dat wij gebruiken is er geen mogelijkheid om een naam en wachtwoord in te voeren. We willen dus de velden 'aantalwerknemers' en 'debiteurennummer' gebruiken. 'Aantalwerknemers' is in dit geval het wachtwoord en 'debiteurennnummer' de gebruikersnaam. (de is namelijk uniek en al bekend bij de klant.) Volgens mij zegt hij dus in de query. SELECT aantalwerknemers (het wachtwoord dus) uit de tabel relaties waar het debiteurennummer hetzelfde is als wat net is ingevuld in het gebruikersnaam veldje. Of zit ik nu helemaal fout?

Dit foutmelding is overigens:

Parse error: parse error, unexpected $ in c:\apache\apache\htdocs\login\functie.php on line 76

  • whoami
  • Registratie: December 2000
  • Nu online
Tja, dan nog snap ik niet waarom je een LIKE gebruikt. LIKE kan je alleen gebruiken op alfanumerieke velden, en wordt gebruikt om te zoeken met wildcards.

Daarnaast krijg je gewoon een parse - error, die niets met je SQL code te maken heeft. Echter, parse errors kan je zelf wel oplossen: je moet gewoon de fout eens goed lezen en interpreteren, de lijn opzoeken waarover het gaat, en eens kijken wat er mis mee is.

Oja, ik zie ook dat het jouw eerste post is hier: welkom op GoT. :)

Mag ik je toch eens op onze Quickstart wijzen? Lees die misschien ff, en hou'm in je achterhoofd voor als je hier nog maals een topic opent. ;)

[ Voor 27% gewijzigd door whoami op 01-12-2003 12:21 ]

https://fgheysels.github.io/

Pagina: 1

Dit topic is gesloten.