[PHP] Login script met Interbase *

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ik moet voor mijn stage een soort faq/forum maken met php en een interbase database met een interbase server... nu ben ik wel een beetje aan het prutsen geweest maar het is toch wel wat anders dan met mysql... ik heb veel gezocht naar info maar ik kon niet echt wat vinden.. heeft iemand misschien een website met uitgebreide informatie over php met interbase ofzo..

ik moest o.a een login script maken (die uitleg staat erachter omdat iemand dat zo even erbij had gezet voor mij omdat ik nog niet zo lang met php werk) :

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

session_start(); //Dit moet boven _elke_ pagina waar je sessie's wilt gebruiken. 

if(isset($_POST['submit'])) { //Als er op de submit knop gedrukt is 
     
$host ='C:\phpdev\www\public\db\knowledgebase.gdb';
$dbh = ibase_connect($host, 'userblaat' ,'passblaat');
$query = "SELECT * FROM WERKNEMERS WHERE WN_LOGINNAAM = '".$_POST['username']."' AND WN_WACHTWOORD = '".$_POST['password']."";

$sth = ibase_query($dbh, $query) or die(ibase_errmsg());

    if(ibase_num_fields($sql) == 0) { //Als de query 0 resultaten opleverd dan klopt er iets niet in het username of password. 
        die("Username of password error"); //Die.. kappen met het script! 
    } 

    $get = ibase_fetch_object($sql); 
     
    //Nu kloppen dus de username en het password.. dus > sessie's toewijzen 

    $_SESSION['username'] = $get->username; //Username = username van het invoer veld 

    echo "Je Bent ingelogt!"; 

}else{ 

echo "<form name=\"login\" method=\"post\" action=\"login.php\">";
echo "<input type=\"text\" name=\"username\">"; 
echo "<input type=\"password\" name=\"password\">"; 
echo "<input type=\"submit\" name=\"submit\">"; 

// Bovenstaande dingen zijn input types.. denk dat je dat nog wel weet van PGL daar kun je dingen inzetten. 
} 
?> 


maar het werkt niet zo goed

Acties:
  • 0 Henk 'm!

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 06-09 00:37

curry684

left part of the evil twins

maar het werkt niet zo goed
Mag ik hieruit concluderen dat je server spontaan rebootte en vervolgens vreemdje piepjes ging geven bij de POST? En dat je nu met een kapot moederbord bij de leverancier zit?

Oftewel: wat werkt niet zo goed, wat voor errors krijg je, waar vermoed je dat het in zit, heb je al gedebugged om te zien in welke regel het fout gaat?

Bookmark P&W FAQ - De "quickstart" ook even :)

Professionele website nodig?


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ojah als ik op submit query klik krijg ik :
Warning: InterBase: Dynamic SQL Error SQL error code = -104 Unexpected end of command in c:\phpdev\www\public\login.php on line 11
Dynamic SQL Error SQL error code = -104 Unexpected end of command

Acties:
  • 0 Henk 'm!

  • sjroorda
  • Registratie: December 2001
  • Laatst online: 14:31
Zet in dat geval eens een extra enkel kwootje op r. 11...

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ik heb al hulp gekregen van iemand... en het is wel gelukt.. er zat een foutje in de query.. maar als iemand nog site's heeft met veel uitleg over php met ibase.. zou dat mooi zijn

Acties:
  • 0 Henk 'm!

  • Sosabowski
  • Registratie: Juni 2003
  • Laatst online: 18-09 21:03

Sosabowski

nerd

PHP:
1
$query = "SELECT * FROM WERKNEMERS WHERE WN_LOGINNAAM = ' " . $_POST['username'] . " ' AND WN_WACHTWOORD = ' " . $_POST['password'] . " ' ";


Je bent dus het '-tje vergeted dat $_POST[password'] afsluit.
Voor de duidelijkheid heb ik er overal ff spaties tussen gestopt.

The whole problem with the world is that fools and fanatics are always so certain of themselves, and wiser people so full of doubts. -- Bertrand Russell


Acties:
  • 0 Henk 'm!

  • Skaah
  • Registratie: Juni 2001
  • Laatst online: 16-09 18:38
PHP:
1
2
3
$sth = ibase_query($dbh, $query) or die(ibase_errmsg()); 

    if(ibase_num_fields($sql) == 0) {


Eerst gebruik je $sth en dan ineens $sql voor de result set? Tsja, dat werkt niet.

Probeer
PHP:
1
$sql = ibase_query(etcetera);

[ Voor 4% gewijzigd door Skaah op 29-01-2004 12:39 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ik heb het nu zo werkend dat er na op de submit button te klikken komt te staan :
Je bent ingelogt!
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
<? 

session_start(); //Dit moet boven _elke_ pagina waar je sessie's wilt gebruiken. 

if(isset($_POST['submit'])) { //Als er op de submit knop gedrukt is 
      
$host ='localhost:c:\phpdev\www\public\db\knowledgebase.gdb'; 
$dbh = ibase_connect($host, 'blaa' ,'blaa'); 
$query = "SELECT * FROM WERKNEMERS WHERE WN_LOGINNAAM = '".$_POST['username']."' AND WN_WACHTWOORD = '".$_POST['password']."'";

$sql = ibase_query($dbh, $query) or die(ibase_errmsg()); 

    if(ibase_num_fields($sql) == 0) { //Als de query 0 resultaten opleverd dan klopt er iets niet in het username of password. 
        die("Username of password error"); //Die.. stoppen met het script 
    } 

    $get = ibase_fetch_object($sql); 

    $_SESSION['username'] = $get->username; //Username = username van het invoer veld 

    echo "Je bent ingelogt!"; 

}else{ 

echo "<form name=\"login\" method=\"post\" action=\"login.php\">"; 
echo "<input type=\"text\" name=\"username\">"; 
echo "<input type=\"password\" name=\"password\">"; 
echo "<input type=\"submit\" name=\"submit\">"; 

// Bovenstaande dingen zijn input types.. denk dat je dat nog wel weet van PGL daar kun je dingen inzetten. 
} 
?> 

maar nu moet het nog zo werken dat ie reageerd op een (correct) wachtwoord en anders niet uiteraard... :?

[ Voor 15% gewijzigd door Verwijderd op 29-01-2004 14:26 ]


Acties:
  • 0 Henk 'm!

  • X-Lars
  • Registratie: Januari 2004
  • Niet online

X-Lars

Just GoT it.

ik zou er niet zo blij mee zijn als ik ergens was ingelogt! :+

behalve als ik als username "ingelogt" had opgegeven :+

[ Voor 8% gewijzigd door X-Lars op 29-01-2004 14:44 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
oke
Pagina: 1