Log in maken in php over een databank

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Thijs Spiessens

Thijs Spiessens

06/03/2012 09:44:15
Quote Anchor link
Ik moet voor mijn gip-opdracht een webapplicatie maken in php.
Helaas is mijn kunde hier niet zo zeer uitgebreidt over en kan ik wel php schrijven maar een aanmeldsysteem maken. Daar snap ik niets van, de voorbeelden die ik vindt op internet zijn onoverzichtelijk en onduidelijk vind ik. Kan mij hier iemand mee helpen? Ik moet mijn php-taal schijven in het programma php-eclipse en mijn databank die erachter hangt in php-myadmin.
 
PHP hulp

PHP hulp

26/12/2024 17:36:57
 
Milo S

Milo S

06/03/2012 09:51:29
Quote Anchor link
Vertel eens waar je vast loopt, wat je niet snapt, wat je al geprobeerd hebt.

Heb je al een idee en of database? Of moet je dat nog maken...
 
Thijs Spiessens

Thijs Spiessens

06/03/2012 09:52:51
Quote Anchor link
Ik heb nu een databank gemaakt en een php code gemaakt.
Apart.
Maar nu zou ik deze aan elkaar moeten hangen om zo te kunnen aanmelden via de gegevens van uit de tabel gebruikers.

Toevoeging op 06/03/2012 09:59:59:

Ik heb nu een databank gipopdracht die ik lokaal heb opgeslagen op mijn pc, daarin zitten een aantal tabellen waar ik later query ga laten doorlopen via mijn php-code, mar nu zou ik eerst moeten kunnen aanmelden op deze phpapplicatie om zo verder te kunnen naar de homepage van mijn site.
 
Milo S

Milo S

06/03/2012 10:13:56
Quote Anchor link
Als wij niet weten hoe je database eruit ziet kunnen we je moeilijk verder helpen. Wat denk je te kunnen van een login page?
 
Thijs Spiessens

Thijs Spiessens

06/03/2012 10:17:07
Quote Anchor link
Ik kan alle tekstvakken en de knop er wel opzetten maar de uiteindelijke controle van al deze waarden kan ik niet. in mijn databank staat een tabel beheerder waar ik de gegvens er al wil inzetten van de gebruikers. er mag geen neiwue gebruiker aangemaakt worden enkel ik mag dat. die gegevens moeten gecontroleerd worden of ze staan in de tabel beheerder in de databank gipopdracht
 
Milo S

Milo S

06/03/2012 10:25:11
Quote Anchor link
Nu weet ik nog niet hoe je database er uit ziet :P

user
- id
- username
- passwords
- rights
- name
- email
- phone

Voor het gemak ga ik hier van uit.
Weet je hoe je variabelen moet controleren of dat ze ingevuld zijn?
Weet je hoe je een Query uit moet voeren en afhandelen?

Waarom ik zo veel vraag? Nou heel simpel voor je ik je wat ga vertellen moet ik wel weten wat je kunt... Ook is het handig zodat ik je gerichter kan helpen.
 
- SanThe -

- SanThe -

06/03/2012 10:27:28
Quote Anchor link
Begin www.phptuts.nl eens door te lezen.
 
Thijs Spiessens

Thijs Spiessens

06/03/2012 10:30:16
Quote Anchor link
Mijn databank is uitgerust met 8tabellen waarin gegevens aan elkaar hangen. maar mijn gaat het nu vooral om het aanmelden, in mijn tabel beheerder heb ik de volgende velden:
BHR_ID
BHR_NAAM
BHR_VOORNAAM
BHR_PASSWOORD

mijn php pagina heet gip.php dat is de aanmeldpagina, daarna zou ik door middel van een knop naar home.php moeten gaan waar ik dan zelf knopen heb opgezet om zo verder te lopen door mijn site.
 
Milo S

Milo S

06/03/2012 10:58:51
Quote Anchor link
Je zult dus een inlog pagina moeten maken...

Wat moet je op een inlog pagina doen?

- Gebruikers een gebruikersnaam & wachtwoord laten invullen.
- Gebruikersnaam controleren (ingevuld?)
- Wachtwoord controleren (ingevuld?)
- De combinatie daarvan controleren (bestaat die?)
- Sessie of cookie aanmaken
- Doorsturen naar homepage

Kijk eens of je als je dat zo op een rijtje hebt je alvast een beginnetje kunt maken. Laat dat hier zien en we verbeteren je op fouten en geven je tips. Kijk zoals SanThe zegt even op phptuts.nl
 
Albert de Wit

Albert de Wit

06/03/2012 11:22:59
Quote Anchor link
Register en login systeem maken is in het begin lastig maar als je dat kunt ben je al redelijk bezig en word het al best basic.

(simpel)Registerform:

Naam (als die niet gezet is niet verder gaan)
Wachtwoord (zelfde)
Controle Wachtwoord (zelfde)

Login:
Naam (controleren of die bestaat)
Wachtwoord (controleren of die in hetzelfde rijtje staat als de naam)

Ik zou graag een klein tutorialtje hierover willen schrijven maar ik heb de tijd op dit moment niet sorry
 
Frank WD

Frank WD

06/03/2012 12:02:57
Quote Anchor link
Offtopic
Albert de Wit,

Sorry voor het zeggen. Maar het lijkt mij ook ma goed ook dat je er geen tijd voor hebt. Gezien je zelf nogal wat belangrijke fouten maakt. Zie de link:
http://www.phphulp.nl/php/forum/topic/log-in-maken-in-php-over-een-databank/83159/last/

Nogmaals niet verkeert bedoelt eerder een hint.

Edit:
Ik weet ook hoe een inlog moet werken na behoren.
Maar als ik er een moet maken laat staan een tut moet schrijven, dan denk dat ik per direct een levens lange ban krijg met zeer veel laggende hoofden hier op het forum.
Gewijzigd op 06/03/2012 12:04:52 door Frank WD
 
Thijs Spiessens

Thijs Spiessens

06/03/2012 12:06:07
Quote Anchor link
Milo
Ik heb nu een aanmeldformulier, ik kan daarbij mijn databank aanroepen.
Ik heb gecontroleerd of de invulvelden zijn ingevuld maar ik weet niet hoe ik die waarden nu kan controleren of ze in mijn databank staan in de tabel beheerder in de rijen BHR_GB en BHR_WACHTWOORD

if ($_REQUEST["action"] == "aanmelden") {

if ($_POST['gb'] == '') {
echo 'niet ingevuld!';
}
if ($_POST['wachtwoord'] == '') {
echo 'niet ingevuld!';
}

if($_POST['gb']==gb)

}

Toevoeging op 06/03/2012 12:08:01:

die onderste lijn is fout, daar moet ik de controle naar de databank doen


Toevoeging op 06/03/2012 13:34:19:

ik heb nu mijn loginscherm, html code maar klopt deze code die ik er onder heb geschreven voor de tekst te controleren?

if ($_REQUEST["action"] == "aanmelden") {

if(empty($_POST['gb'])) {
echo "Je hebt je gebruikersnaam niet ingevuld!";
}
if(empty($_POST['wachtwoord'])) {
echo "Je hebt het wachtwoord niet ingevuld!";
}

if (!empty($_POST['gb'])){
$query = "SELECT BHR_ID FROM beheerder
WHERE gb='".$_POST["gb"]."'
AND BHR_PASSWOORD='".$_POST["wachtwoord"]." ' ";
$result=mysql_query($query) or die("FOUT : " . MySQL_error());
}


}
 
- SanThe -

- SanThe -

06/03/2012 13:34:23
Quote Anchor link
- SanThe - op 06/03/2012 10:27:28:
Begin www.phptuts.nl eens door te lezen.


Alles wat jij zoekt staat op die site.
Doe zelf eens wat onderzoek.
 
Reshad F

Reshad F

06/03/2012 13:36:24
Quote Anchor link
even een vraag waarom moet je een applicatie in php maken als je hier geen verstand van hebt?
 
Thijs Spiessens

Thijs Spiessens

06/03/2012 13:42:19
Quote Anchor link
voor mijn gip opdracht, ik zie in school ook wel php maar dat is echt basic basic, gwn optelsommetjes maken enzo. niet uitgebreidt zoals ze nu op mijn stage willen.
 
Albert de Wit

Albert de Wit

06/03/2012 14:19:30
Quote Anchor link
Stel je database voor inloggegevens ziet er zo uit:

Id, Inlognaam, Wachtwoord
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
<?php
// index.php

echo "<form action='index.php' method='POST'>";
echo "Inlognaam:<input type='text' name='inlognaam'><br>";
echo "Wachtwoord:<input type='password' name='wachtwoord'><br>";
echo "<input type='submit' value='Login'>";
echo "</form>";

// controleren of de inlognaam en wachtwoord verzonden zijn
if (isset($_POST['inlognaam'])&&isset($_POST['wachtwoord']))
{
//controleren of de velden niet leeg zijn
if (!empty($_POST['inlognaam'])&&!empty($_POST['wachtwoord']))
{
// controleren of de naam en het wachtwoord bij elkaar horen
//uit een database(mysql in dit geval)

// verbinding maken met je local databaseverzameling

mysql_connect('localhost','root','');
// de database 'inloggegevens' selecteren
mysql_select_db('inloggegevens');
// query maken voor het opvragen van het tabel genaamd 'inlog' waar de ingegeven
// inlognaam overeenkomt met een inlognaam in de tabel

$sql = mysql_query("SELECT * FROM inlog WHERE inlognaam='".$_POST['inlognaam']."'");

// controleren of het wachtwoord overeenkomt met de overeengekomen naam
// $row[2] betekent hier de rij van wachtwoord in de database

while ($row = mysql_fetch_row($sql))
{

if ($row[2]==$_POST['wachtwoord'])
{

echo "Gefeli  je bent ingelogd";
}
}

}
}



?>

sorrry voor de overvloed aan commentaar maar dat is de enige manier om alles duidelijk te maken. Begrijp dit wel.... php is niet even aan te leren. Je brein moet ervoor gevormd worden en dat kost tijd. Als je PHP eenmaal snapt begrijp je me wel ;)
hopelijk helpt je dit als je het begrijpt.
Zoniet....

http://www.youtube.com/watch?v=4oSCuEtxRK8
Deze gast kan is normaal goed engels php heel mooi uitleggen.

SUC6!
Gewijzigd op 06/03/2012 14:21:48 door Albert de Wit
 
Frank WD

Frank WD

06/03/2012 14:30:33
Quote Anchor link
Albert,

Het is leuk dat je probeert iemand te helpen, word denk ik zeker wel op prijs gesteld.
Maar ik denk dat je het juiste leert beter is.

Ik doel op het gebruik van * in de SELECT query.
Je kan beter hier de velden benoemen die je nodig hebt dan alle velden op te halen.
Velden selecteren die je nodig hebt is ook nog eens sneller.
Tevens mis ik een foutafhandeling bij de query.
 
Thijs Spiessens

Thijs Spiessens

06/03/2012 14:35:50
Quote Anchor link
hiermee kan ik al een eind verder bedankt.
 
Albert de Wit

Albert de Wit

06/03/2012 14:46:03
Quote Anchor link
Frank WD op 06/03/2012 14:30:33:
Ik doel op het gebruik van * in de SELECT query.
Je kan beter hier de velden benoemen die je nodig hebt dan alle velden op te halen.
Velden selecteren die je nodig hebt is ook nog eens sneller.
Tevens mis ik een foutafhandeling bij de query.


Klopt. Ik heb in de overhaastheid het * gebruikt omdat ik aanneem dat dit project hier niet officieel word gebruikt later op een site ofzo. Daarnaast verwacht ik al helemaal niet dat iemand het kopieert ;)
 
Gerhard l

gerhard l

06/03/2012 14:54:00
Quote Anchor link
@Albert er is wel veel meer wat niet klopt maargoed.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
// index.php
//action kan leeg, php self, waarom elke regel aparte echo?

echo "<form action='index.php' method='POST'>";
echo "Inlognaam:<input type='text' name='inlognaam'><br>";
echo "Wachtwoord:<input type='password' name='wachtwoord'><br>";
echo "<input type='submit' value='Login'>";
echo "</form>";
?>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?
//Waarom 2 regels controleren, wat ook in 1 kan
if (isset($_POST['inlognaam'])&&isset($_POST['wachtwoord']))
if (!empty($_POST['inlognaam'])&&!empty($_POST['wachtwoord']))
?>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?
// * gebruiken, geen mysql_real_escape_string
$sql = mysql_query("SELECT * FROM inlog WHERE inlognaam='".$_POST['inlognaam']."'");
//if($sql === false){ echo mysql_error(); }
?>


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?
//Waarom zo moeilijk doen? gebruik fetch_assoc dan kon je gewoon row['password']
//gebruiken, maar nog beter is om te controleren in de query zelf..

while ($row = mysql_fetch_row($sql))
{

if ($row[2]==$_POST['wachtwoord'])
{

echo "Gefeli  je bent ingelogd";
}
}

?>

Ik zou wat beter proberen in te springen.
Niet bedoelt om je af te kraken hoor, gelukkig probeer jij nog mensen te helpen.
Gewijzigd op 06/03/2012 14:55:08 door gerhard l
 
Albert de Wit

Albert de Wit

06/03/2012 15:04:07
Quote Anchor link
Gerhard l op 06/03/2012 14:54:00:
@Albert er is wel veel meer wat niet klopt maargoed.

action kan leeg, php self, waarom elke regel aparte echo?


Ik weet niet zeker of de persoon in kwestie hier verstand van heeft en ik wou zeker weten dat hij wist waar de $_POST[''] vandaan kwam.

Gerhard l op 06/03/2012 14:54:00:
Waarom 2 regels controleren, wat ook in 1 kan

Ik weet niet zeker of de persoon in kwestie hier verstand van heeft

Gerhard l op 06/03/2012 14:54:00:
* gebruiken, geen mysql_real_escape_string
$sql = mysql_query("SELECT * FROM inlog WHERE inlognaam='".$_POST['inlognaam']."'");
//if($sql === false){ echo mysql_error(); }

Ik weet niet zeker of de persoon in kwestie hier verstand van heeft


Gerhard l op 06/03/2012 14:54:00:
Waarom zo moeilijk doen? gebruik fetch_assoc dan kon je gewoon row['password']


Klopt. Niet aan gedacht. Ik ben namelijk erg aan de fetch_row gewend en gehecht.
Vooral omdat het makkelijk te gebruiken is met loopjes. Iets waarmee ik erg veel werk

Gerhard l op 06/03/2012 14:54:00:
Ik zou wat beter proberen in te springen.

Inspringen gaat zo moeilijk als ik in een textvlak van dit forum script.

Gerhard l op 06/03/2012 14:54:00:
Niet bedoelt om je af te kraken hoor, gelukkig probeer jij nog mensen te helpen.


Zo voelt het totaal niet hoor ;)
 



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.