een login in twee databasen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Niek Kasius

Niek Kasius

18/10/2013 02:57:42
Quote Anchor link
Ik heb 1 inlog scripts en dat heb ik in 2 verschillende databasen staan met de zelfde tabel naam, En als ik dan inlog in de ene database en niet uitlog en dan kijk in de andere database, zie ik dat ik daar ook ben ingelogt, EN als ik dan daar uilog, en weer terug ga naar de eerdere geopende database, moet ik daar weer opnieuw inloggen.
Hoe kan dat staat al die database in de Wamp5 server met elkaar in verbinding? of hoe zit dat

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
<?php
ini_set('display_errors',1); // 1 == aan , 0 == uit
    error_reporting(E_ALL | E_STRICT);
include('../includes/config.php');
// bovenstaan is om alle foutmeldingen op het beeldscherm te zetten.
// en we moeten natuurlijk de verbind.php include omdat we verbinding willen
// met de database
//if(isset($_POST['inloggen']))

if ($_SERVER['REQUEST_METHOD'] == 'POST')
{

$gebruiker_query = "SELECT * FROM gebruiker WHERE gebruiker_naam = '".mysqli_real_escape_string($con, trim($_POST['gebruikersnaam']))."';";
  $gebruiker_sql   = mysqli_query($con, $gebruiker_query)or die(mysql_error());
  $gebruiker_tellen= mysqli_num_rows($gebruiker_sql);
   if ($gebruiker_tellen == 1){
      $rij = mysqli_fetch_array($gebruiker_sql);
               if(sha1($_POST['wachtwoord']) == $rij['gebruiker_wachtwoord']){
                session_start();
                   $_SESSION['gebruiker_id']   = $rij['gebruiker_id'];
                   $_SESSION['gebruiker_naam'] = $rij['gebruiker_naam'];
                   $_SESSION['gebruiker_rank'] = $rij['gebruiker_rank'];
                header('Location: index1.php');
               }
else{
                   echo 'Fout bij het inloggen. Probeer het opnieuw';
               }
    }
else{
        echo 'Fout bij het inloggen. Probeer het opnieuw';
    }
}
else{
    echo '<br />
<table width="400px" align="center" border="0" bordercolor="#0000A0" cellpadding="5" cellspacing="0">
  <form method="POST" action="inloggen.php">
    <tr>
      <td align="left">Naam:</td><td><input type="text" name="gebruikersnaam"></td>
      <td align="left">Wachtwoord:</td><td><input type="text" name="wachtwoord"></td>
      <td><input type="submit" name="inloggen" value="Inloggen"></td>
      <td>&nbsp;</td><td><a href="?uitloggen">uitloggen</a></td>
    </tr>
  </form>'
;
}

?>
 
PHP hulp

PHP hulp

29/11/2020 11:33:52
 
Maarten Verstraeten

Maarten Verstraeten

18/10/2013 09:46:00
Quote Anchor link
Je mist deze regels bij het maken van een connetie gok ik:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$db
= mysql_connect('localhost', 'user', 'ww') or die (mysql_error());
mysql_select_db("Databasename", $db) or die (mysql_error());
?>
 
Reshad F

Reshad F

18/10/2013 10:15:02
Quote Anchor link
@Maarten mysql is deprecated ( verouderd ) en hij heeft het wel degelijk inzitten nu maar dan met mysqli regel 12-13

@Niek waarom gebruik je 2 databases dan?
 
Niek Kasius

Niek Kasius

18/10/2013 10:45:59
Quote Anchor link
Reshad F

Ja dat is een gewoonte.
Want als je een tutorial volgt, staat er meestal eerst maak een database aan.

En
Maarten
Dat kun je ook in je config of connectie script zetten
 
Kris Peeters

Kris Peeters

18/10/2013 11:13:07
Quote Anchor link
Reshad F op 18/10/2013 10:15:02:
@Maarten mysql is deprecated ( verouderd )


Dat is nog lang niet aan de orde.

Er zijn al langer plannen om mysql als deprecated te zetten, of af te schaffen in volgende php-versies.
Maar volgens mij komt dat er niet al te vlug.

En als het ooit komt, moet je eerst zelf die nieuwe php-versie installeren vooraleer je er last mee kan krijgen.
 
Reshad F

Reshad F

18/10/2013 11:24:25
Quote Anchor link
@Kris in php 5.5 is het al deprecated we zitten nu op 5.4 op de meeste hosts. dus al bijna en ik gebruik zelf 5.5 lokaal en op mijn raspberry vandaar :)

Toevoeging op 18/10/2013 11:25:14:

@Niek maar als je al een database hebt hoef je deze toch niet opnieuw aan te maken?
 
Niek Kasius

Niek Kasius

19/10/2013 17:51:54
Quote Anchor link
Quote:
@Niek maar als je al een database hebt hoef je deze toch niet opnieuw aan te maken?

Die vraag snap ik niet helemaal.
Je bedoeld zeker dat ik alles in een database moet stoppen.
dat gebeurt wel als het word ge-upload naar de server, maar nu ff niet.
Ik heb dus een forum script met een eigen database en voetbal script met eigen database in wamp5 en in beide het zelfde inlog systeem ze zouden niet met elkaar verbinding moeten staan omdat het 2 verschillende databases zijn, Maar toch doen ze dat wel in de Wamp server.
Gewijzigd op 19/10/2013 18:02:31 door Niek Kasius
 
Erwin H

Erwin H

19/10/2013 18:07:14
Quote Anchor link
Niek Kasius op 18/10/2013 02:57:42:
Ik heb 1 inlog scripts en dat heb ik in 2 verschillende databasen staan met de zelfde tabel naam,

Heb je nu 1 of 2 scripts? En heb je dat script (of die scripts) in een database staan? Scripts die in een database staan heb je niet zoveel aan. En dezelfde tabelnaam?

Oftewel, begin eerst eens met je probleem helder uit te leggen in goed Nederlands, want van je uitleg klopt volgens mij helemaal niets.
 
Willem vp

Willem vp

19/10/2013 20:47:04
Quote Anchor link
Het probleem is volgens mij dat je weliswaar je gebruikers in een database hebt staan, maar dezelfde sessievariabelen gebruikt om bij te houden wie er ingelogd is. Als je dus uitlogt op je forum wordt de sessievariabele verwijderd en in je voetbalscript ben je dan ook opeens niet meer ingelogd.

Als je verschillende sessievariabelen gebruikt voor je logins (dus niet gebruiker_id, maar forum_gebruiker_id en voetbal_gebruiker_id enzo) dan zou het wel goed moeten gaan.
 
Niek Kasius

Niek Kasius

20/10/2013 02:36:25
Quote Anchor link
Erwin H
Quote:
Oftewel, begin eerst eens met je probleem helder uit te leggen in goed Nederlands, want van je uitleg klopt volgens mij helemaal niets

Niet alleen maar de vraag lezen maar ook de reacties.
Gewijzigd op 20/10/2013 02:38:00 door Niek Kasius
 
Erwin H

Erwin H

20/10/2013 10:28:20
Quote Anchor link
Als je niet geholpen wil worden, moet je vooral je probleem niet goed uitleggen....
 
Willem vp

Willem vp

20/10/2013 11:05:42
Quote Anchor link
Niek Kasius op 20/10/2013 02:36:25:
Niet alleen maar de vraag lezen maar ook de reacties.

Op een vraag worden vaak uiteenlopende reacties gegeven. Hoe minder duidelijk de vraag, hoe uiteenlopender de reacties. De vraagsteller kan het best beoordelen welke reacties relevant zijn.

Op een forum als dit word je geholpen door mensen die het leuk vinden om anderen te helpen. Niemand wordt betaald voor zijn diensten. Je kunt dan ook moeilijk verwachten dat mensen moeite gaan doen om te begrijpen wat je probleem nu eigenlijk is. Door je vraag duidelijk te formuleren kweek je veel meer goodwill om geholpen te worden.

Het duidelijk formuleren van je vraag heeft nog een bijkomend voordeel: omdat je jezelf op die manier als het ware dwingt om gestructureerd na te denken over je probleem, ga je vaak zelf al inzien wat de oorzaak of oplossing is. Je wilt niet weten hoeveel vragen ik hierdoor niet gesteld heb, of waar de uiteindelijke vraagstelling volkomen anders was dan de oorspronkelijke.
 
Pipo Clown

Pipo Clown

20/10/2013 11:23:51
Quote Anchor link
En hoe weet je of je al dan niet ingelogd bent ?

Haal je dit uit een SESSIE ?

En hoeveel SESSIEs heb je dan ? 1 of 2 ?

Het lijkt er op dat je het in en uitloggen bij beide databases in één enkele variabele bij houdt en niet in 2 aparte.
 
Niek Kasius

Niek Kasius

20/10/2013 18:57:14
Quote Anchor link
als ik inlog krijg behalve de inhoud ook nog mijn naam en uitlog link in de header te zien.
dus daaraan weet ik dat ik ben ingelogd, en als ik uitlog dan kom ik er niet meer in zonder opnieuw in te loggen.
Dus dat is wel goed.
Maar ik was een beetje aan het experimenteren met dat script in verband met de gebruiker_rank die er in zit,
En ging (zonder eerst uit te logen) daarom kijken in het forum script waarin het zelfde inlog script word gebruikt maar dat niet in mysqli, En toen zag ik dat ik daar ingelogd was, En ik heb daarin toen uitgelogd, en ben toen weer terug gegaan naar het script waarmee ik aan het stoeien, en moest daar opnieuw inloggen.
En nee ik had Browsergeschiedenis verwijderd.
Wel zijn de naam en velden van de tabelen in beide scripts het zelfde.
Maar dat zou geen probleem mogen dacht ik toch, want ze gebruiken allebij een andere database
Gewijzigd op 20/10/2013 18:58:14 door Niek Kasius
 
Dennis WhoCares

Dennis WhoCares

20/10/2013 19:15:12
Quote Anchor link
Sorry hoor, maar het lijkt mij gewoon een verhaaltje waar hij tegenaan loopt.
En is het probleem wellicht verwoord.

Sla je de gegenereerde loginsessies wel op in je database? Die je vervolgens controlleerd met de huidige waarde van de browser?
Als deze gelijk zijn, is het 90% zeker dat het dezelfde gebruiker is die deze sessiegegevens heeft laten opslaan in het database tijdens de login.

Als je logincheck alleen maar bestaat uit het controlleren of de gebruiker een sessie heeft, wat je niet controlleerd, kan dit voorkomen ja.

En als je dezelfde sessienamen gebruikt in je andere script waar je uitlogt, wordt de sessie verwijderd. En ben je ook in je andere script uitgelogd.

Dus als ik jou was zou ik eerst met mn loginscript gaan 'stoeien'
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

20/10/2013 19:42:50
Quote Anchor link
Niek Kasius op 20/10/2013 02:36:25:
Erwin H
Quote:
Oftewel, begin eerst eens met je probleem helder uit te leggen in goed Nederlands, want van je uitleg klopt volgens mij helemaal niets

Niet alleen maar de vraag lezen maar ook de reacties.

Lees zelf de reacties ook eens goed door
Willem vp op 19/10/2013 20:47:04:
Het probleem is volgens mij dat je weliswaar je gebruikers in een database hebt staan, maar dezelfde sessievariabelen gebruikt om bij te houden wie er ingelogd is. Als je dus uitlogt op je forum wordt de sessievariabele verwijderd en in je voetbalscript ben je dan ook opeens niet meer ingelogd.

Als je verschillende sessievariabelen gebruikt voor je logins (dus niet gebruiker_id, maar forum_gebruiker_id en voetbal_gebruiker_id enzo) dan zou het wel goed moeten gaan.
Gewijzigd op 20/10/2013 19:44:49 door Ger van Steenderen
 
Niek Kasius

Niek Kasius

22/10/2013 06:53:59
Quote Anchor link
Is opgelost met forum_gebruiker_id
En Bedankt
 



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.