[php] inloggen (authenticate)

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

  • EL_Loco
  • Registratie: Oktober 2001
  • Laatst online: 08-11-2023

EL_Loco

alias Haco

Topicstarter
Ik ben bezig met een scripje maken om in te loggen, hierbij gebruik ik veel uit een boek (nml.Mysql/php Database Applicaties) nu staat er in dat boek
De variablesn $PHP_AUTH_USER en $PHP_AUTH_PW zijn alleen beschikbaar als PHP als Apache-module is geïnstaleerd, als u onder Windows werk, kunt u dit type authenticate niert gebruiken
nu is mijn vraag:
Welke variabele kan ik daar wel voor gebruiken :?
Of kan ik er gewoon zelf en variabele voor verzinnen :?

rumores non hiatus dremelunt
malleo omnia consentiunt
Lid van het Anti-Jamba front!


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Je kan altijd gewoon een html-form gebruiken en daar wat waarden in laten tikken die dan toevallig een gebruikersnaam/wachtwoord zijn.

Deze kan je dan bijv dmv sessies bekend laten blijven bij je systeem.

De PHP_AUTH_USER/etc zijn dan (helaas) niet beschikbaar, omdat apache die variabelen niet aan kan bieden aan php dan.

  • EL_Loco
  • Registratie: Oktober 2001
  • Laatst online: 08-11-2023

EL_Loco

alias Haco

Topicstarter
Op dinsdag 09 juli 2002 20:34 schreef ACM het volgende:
Je kan altijd gewoon een html-form gebruiken en daar wat waarden in laten tikken die dan toevallig een gebruikersnaam/wachtwoord zijn.

Deze kan je dan bijv dmv sessies bekend laten blijven bij je systeem.

De PHP_AUTH_USER/etc zijn dan (helaas) niet beschikbaar, omdat apache die variabelen niet aan kan bieden aan php dan.
dus ik moet dan zien te controleren of wat ze invullen in dat form klopt met 1 van de usernames in m'n db :?

rumores non hiatus dremelunt
malleo omnia consentiunt
Lid van het Anti-Jamba front!


Verwijderd

Je controleert hun invoer met de gegevens in je database.
Als deze gegevens kloppen start je een sessie, zodat bepaalde variabelen (zoals username) beschikbaar zijn tussen de verschillende scriptjes in.

  • EL_Loco
  • Registratie: Oktober 2001
  • Laatst online: 08-11-2023

EL_Loco

alias Haco

Topicstarter
Op dinsdag 09 juli 2002 21:01 schreef d0g1e het volgende:
Je controleert hun invoer met de gegevens in je database.
Als deze gegevens kloppen start je een sessie, zodat bepaalde variabelen (zoals username) beschikbaar zijn tussen de verschillende scriptjes in.
ok, dank

rumores non hiatus dremelunt
malleo omnia consentiunt
Lid van het Anti-Jamba front!


  • pietje63
  • Registratie: Juli 2001
  • Laatst online: 21:27

pietje63

RTFM

volgens mij gaat dat boek er van uit dat iedere windows installatie als cgi module is, wat tegenwoordig niet meer het geval is

De grootste Nederlandstalige database met informatie over computers met zoekfunctie!!


  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 20:24
Dat boek lult ook nog uit z'n nek, want onder windows werkt het prima.

Verder is het tegenwoordig $_SERVER['PHP_AUTH_USER'] en $_SERVER['PHP_AUTH_PW'].

  • EL_Loco
  • Registratie: Oktober 2001
  • Laatst online: 08-11-2023

EL_Loco

alias Haco

Topicstarter
dus het kan wel :?

kga het gewoon proberen

rumores non hiatus dremelunt
malleo omnia consentiunt
Lid van het Anti-Jamba front!


Verwijderd

Stublieft, een kant en klaar artikel, dat EN auth met Apache uitlegt, en met forms:

http://www.devarticles.com/content.php?articleId=163&page=1

  • EL_Loco
  • Registratie: Oktober 2001
  • Laatst online: 08-11-2023

EL_Loco

alias Haco

Topicstarter
Op woensdag 10 juli 2002 12:42 schreef partyganger het volgende:
Stublieft, een kant en klaar artikel, dat EN auth met Apache uitlegt, en met forms:

http://www.devarticles.com/content.php?articleId=163&page=1
mijn dank is groot :)

rumores non hiatus dremelunt
malleo omnia consentiunt
Lid van het Anti-Jamba front!


  • Xandrios
  • Registratie: Februari 2001
  • Laatst online: 16:31
Op woensdag 10 juli 2002 12:42 schreef partyganger het volgende:
Stublieft, een kant en klaar artikel, dat EN auth met Apache uitlegt, en met forms:

http://www.devarticles.com/content.php?articleId=163&page=1
thnx !

erg handige oplossing !

* Xandrios zocht ook al een tijdje naar zoiets...kant-en-klaar ;)

  • EL_Loco
  • Registratie: Oktober 2001
  • Laatst online: 08-11-2023

EL_Loco

alias Haco

Topicstarter
mja daar ben ik weer

nu krijg ik als foutmelding
Couldn't query the user-database.
de regletjes code erachter zijn
PHP:
1
<?$db = mysql_connect('localhost', 'roald') or die("Couldn't connect to the database.");mysql_select_db('rpg') or die("Couldn't select the database");// Add slashes to the username, and make a md5 checksum of the password.$_POST['user'] = addslashes($_POST['user']);$_POST['pass'] = ($_POST['pass']);$result = mysql_query("SELECT count(id) FROM rpg_users WHERE password='$_POST[pass]' AND username='$_POST[user]'") or die("Couldn't query the user-database.");$num = mysql_result($result, 0);if (!$num) {// When the query didn't return anything,// display the login form.echo "<h3>User Login</h3><form action='$_SERVER[PHP_SELF]' method='post'>Username: <input type='text' name='user'><br>Password: <input type='password' name='pass'><br><br><input type='submit' value='Login'></form>";} else {// Start the login sessionsession_start();// We've already added slashes and MD5'd the password$_SESSION['user'] = $_POST['user'];$_SESSION['pass'] = $_POST['pass'];// All output text below this line will be displayed// to the users that are authenticated. Since no text// has been output yet, you could also use redirect// the user to the next page using the header() function.// header('Location: page2.php');echo "<h1>Congratulations</h1>";echo "You're now logged in. Try visiting <a href='page2.php'>Page 2</a>.";}?>

dit heb ik gewoon van die sit gekopieerd, en aangepast aan db enzo, maar ik krijg keer op keer die foutmelding :(
al en paar keer die code uitgeplozen ik kan G*dv*rd*mme die fout niet vinden :'(
kan ieand pleaze zeggen wat hier niet klopt?

rumores non hiatus dremelunt
malleo omnia consentiunt
Lid van het Anti-Jamba front!


  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 20:24
Het idee is opzich goed, alleen leer jezelf aan je queries in aparte regels te zetten.

Dus:
code:
1
2
$sql = "SELECT count(id) FROM rpg_users WHERE password = '".$_POST['pass']."' AND username = '".$_POST['user']."'";
$result = mysql_query($sql) or die("Couldn't query the user-database.");

:)

  • EL_Loco
  • Registratie: Oktober 2001
  • Laatst online: 08-11-2023

EL_Loco

alias Haco

Topicstarter
Op woensdag 10 juli 2002 19:55 schreef ddc het volgende:
Het idee is opzich goed, alleen leer jezelf aan je queries in aparte regels te zetten.

Dus:
code:
1
2
$sql = "SELECT count(id) FROM rpg_users WHERE password = '".$_POST['pass']."' AND username = '".$_POST['user']."'";
$result = mysql_query($sql) or die("Couldn't query the user-database.");

:)
mja, nu heb ik het zo aangepast, maar krijg ik weer dezelfde foutmelding ;(

[edit] gevonden, als ik OR DIE weg haal, dan werkt het wel, hij gaat anders niet door :)

rumores non hiatus dremelunt
malleo omnia consentiunt
Lid van het Anti-Jamba front!


  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 20:24
Dan zit er toch ergens een fout hoor :).

Zet eens
code:
1
error_reporting(E_ALL);

boven je script :).

  • EL_Loco
  • Registratie: Oktober 2001
  • Laatst online: 08-11-2023

EL_Loco

alias Haco

Topicstarter
Op woensdag 10 juli 2002 20:41 schreef ddc het volgende:
Dan zit er toch ergens een fout hoor :).

Zet eens
code:
1
error_reporting(E_ALL);

boven je script :).
gedaan, maar er gebeurt nix, betekend dat dat het dan allemaal klopt :?
[edit]
OEPS.....

Warning: Undefined variable: _POST in c:\program files\apache group\apache\htdocs\rpg\login2.php on line 6

Warning: Undefined index: pass in c:\program files\apache group\apache\htdocs\rpg\login2.php on line 7

Warning: Undefined variable: _SERVER in c:\program files\apache group\apache\htdocs\rpg\login2.php on line 18

toch niet zo helemaal.... ;(

rumores non hiatus dremelunt
malleo omnia consentiunt
Lid van het Anti-Jamba front!


  • thomaske
  • Registratie: Juni 2000
  • Laatst online: 14-07 14:28

thomaske

» » » » » »

en zet onder de mysql_query() eens:
echo mysql_error()

Brusselmans: "Continuïteit bestaat niet, tenzij in zinloze vorm. Iets wat continu is, is obsessief, dus ziekelijk, dus oninteressant, dus zinloos."


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Verander het dan ook in or die("Query: $query failed: " . mysql_error())

zo lang je het aan het debuggen bent.

  • EL_Loco
  • Registratie: Oktober 2001
  • Laatst online: 08-11-2023

EL_Loco

alias Haco

Topicstarter
nou word ik confuus ;(

rumores non hiatus dremelunt
malleo omnia consentiunt
Lid van het Anti-Jamba front!


  • EL_Loco
  • Registratie: Oktober 2001
  • Laatst online: 08-11-2023

EL_Loco

alias Haco

Topicstarter
hmmzz
nog een foutmelding
Unknown column 'id' in 'field list'
en dus nog een vraag, wat bedoelen ze met field list :?

rumores non hiatus dremelunt
malleo omnia consentiunt
Lid van het Anti-Jamba front!


  • thomaske
  • Registratie: Juni 2000
  • Laatst online: 14-07 14:28

thomaske

» » » » » »

Op woensdag 10 juli 2002 20:55 schreef Haco het volgende:
hmmzz
nog een foutmelding
[..]

en dus nog een vraag, wat bedoelen ze met field list :?
code:
1
$sql = "SELECT count(id) FROM rpg_users WHERE password = '".$_POST['pass']."' AND username = '".$_POST['user']."'";

de kolom id van in tabel rpg_users bestaat niet

Brusselmans: "Continuïteit bestaat niet, tenzij in zinloze vorm. Iets wat continu is, is obsessief, dus ziekelijk, dus oninteressant, dus zinloos."


  • Apollo_Futurae
  • Registratie: November 2000
  • Niet online
Warning: Undefined variable: _POST in {jouw script}
(...)
Warning: Undefined variable: _SERVER in {jouw script}
de superglobals $_GET, $_POST, $_SERVER, et c. werken vanaf php versie 4.1.0 (uit m'n hoofd). je moet dus je php updaten (kan überhaupt geen kwaad - altijd lekker om de nieuwste versie te hebben), of je moet $HTTP_POST_VARS en $HTTP_SERVER_VARS gebruiken.

Pas de replâtrage, la structure est pourrie.


  • EL_Loco
  • Registratie: Oktober 2001
  • Laatst online: 08-11-2023

EL_Loco

alias Haco

Topicstarter
Op woensdag 10 juli 2002 21:38 schreef Apollo_Futurae het volgende:

[..]

de superglobals $_GET, $_POST, $_SERVER, et c. werken vanaf php versie 4.1.0 (uit m'n hoofd). je moet dus je php updaten (kan überhaupt geen kwaad - altijd lekker om de nieuwste versie te hebben), of je moet $HTTP_POST_VARS en $HTTP_SERVER_VARS gebruiken.
hmm, en die update kan ik gewoon van php,net halen :?

edit:
gevonden :)

rumores non hiatus dremelunt
malleo omnia consentiunt
Lid van het Anti-Jamba front!


  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 20:24
Waarom ga je je niet eerst in PHP verdiepen voordat je hier basic debugging vragen gaat stellen?

Verder is scripts klakkeloos overnemen van sites ook niet altijd een goed werkend middel.

  • EL_Loco
  • Registratie: Oktober 2001
  • Laatst online: 08-11-2023

EL_Loco

alias Haco

Topicstarter
Op donderdag 11 juli 2002 09:35 schreef ddc het volgende:
Waarom ga je je niet eerst in PHP verdiepen voordat je hier basic debugging vragen gaat stellen?

Verder is scripts klakkeloos overnemen van sites ook niet altijd een goed werkend middel.
kneem niet klakkeloos script van sites over, klees ze altijd door, en probeer ze te snappen, en tsjaa, als ik ze niet snap, dan moet ik het toch ergens vragen :?

rumores non hiatus dremelunt
malleo omnia consentiunt
Lid van het Anti-Jamba front!


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 28-08 12:00

Janoz

Moderator Devschuur®

!litemod

Nou, met alle respect... hier iig niet meer.. Het is hier de bedoeling dat mensen ook nog een beetje zelf gaan programmeren. Het is niet de bedoeling dat we mensen bij het handje gaan nemen en stap voor stap door het hele proces leiden..

Lees desnoods de faq ff door voor tips bij het debuggen.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'

Pagina: 1

Dit topic is gesloten.