[PHP] Refresh login

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik ben hier nou al heel lang mee aan het klooien, en kom er maar niet uit. Ik heb ook de search gebruikt maar heb niet iets kunnen vinden wat goed werkt.

[ inloggen ] [help]
--------------------
LOGIN

ik heb dus een pagina zoals hierboven, als ik dan op login druk moeten er meer items in het menu komen, maar dit wil dus niet lukken. Ik moet 2 keer op submit drukken voordat het menu er komt ?

Ik heb bijv. al zo'n meta refresh content"1" maar dat is niks dat hij het op tijd doet. En met de headers wil het ook niet echt lukken: Header(Location: index.php?link=ingelogd.php ?

weet iemand een oplossing ?

Acties:
  • 0 Henk 'm!

  • m33p
  • Registratie: September 2002
  • Laatst online: 05-09 15:26
Je doet het waarschijnlijk zo -->

Login.php
Loginformulier --> Login.php handeld af --> ingelogd...

Nu kun je bijv bij het afhandelen met sessies of cookies werken.... bij cookies werkt het dan wel, maar bij sessies dus niet, want die worden dan pas geset. Wat je kunt doen is na dat je bijv de sessies zet een header uitvoeren of een apart bestandje voor je login maken o.i.d...

vertel meer hoe je scriptje in elkaar zit en dan hoef ik ook niet zo onduidelijk te zijn, maar ik durf te wedden dat het het zoiets in elkaar gezet hebt met sessies...

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik gebruik idd sessies !

Ik heb een indextje waar ik dan aan het begin de login geincluded heb. Als die login afgehandeld wordt moet hij eigenlijk naar ingelogd gaan waarbij hij het hele menu toont.

session_register("login");
echo "Je bent ingelogd."; <--- ??????
} else {
echo ("Je <b>gebruikersnaam</b> of <b>wachtwoord</b> klopt niet");
}

Acties:
  • 0 Henk 'm!

  • Billie
  • Registratie: Januari 2003
  • Laatst online: 16-09 20:27
Kan je niks proberen met onClick?

Acties:
  • 0 Henk 'm!

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

Wees eens een beetje minder vaag. Laat bijvoorbeeld wat relevante code zien of leg eens stap voor stap uit hoe je login-systeem in elkaar zit. Dit is kristallen-bollen werk op deze manier.

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Acties:
  • 0 Henk 'm!

  • bigbeng
  • Registratie: Augustus 2000
  • Laatst online: 26-11-2021
Volgens mij is de volgorde van afhandeling in je php pagina gewoon verkeerd.

Ik hanteer voor mijzelf het principe dat ik bovenin mijn pagina altijd submits en dat soort zaken afhandel.
Indien er messages getoond moeten worden dan dump ik die in een variabele die ik bij het weergeven gebruik.

Dus de structuur in je pagina zou moeten zijn:

1) afhandeling van de submit (indien aanwezig)
2) tonen van het menu
3) tonen van de content.

edit:

zit ik nou met andere woorden het verhaal van m33p te herhalen?

[ Voor 9% gewijzigd door bigbeng op 23-02-2004 16:04 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ja, aan die volgorde van afhandeling zou het idd ook kunnen liggen. Heb ook eens een nieuwssysteem gemaakt en daar heb ik ook de volgorde veranderd en dat werkte toen perfect.

Ik zal dit morgen even proberen !

Oja hierbij nog ff mijn script:

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
<?
session_start();
?>

<html>
<head>
<title>Login AOC</title></head>
<body>
<center>

<?
$loginsubmit = $_REQUEST["loginsubmit"];
$gebruikersnaam = $_REQUEST["gebruikersnaam"];
$wachtwoord = $_REQUEST["wachtwoord"];

if ($loginsubmit){
  include ("config.php");

  $gebruikersnaam = addslashes($gebruikersnaam);
  $wachtwoord = addslashes($wachtwoord);

  $query = mysql_query("SELECT * FROM gebruikers WHERE gebruikersnaam = '$gebruikersnaam' AND wachtwoord = '$wachtwoord'");
  $results = mysql_num_rows($query);

  if($results == '1'){
    $login = "1";
    session_register("login");
    echo "Je bent ingelogd.";
  } else {
    echo ("Je <b>gebruikersnaam</b> of <b>wachtwoord</b> klopt niet");
  }
 }
?>
<form method="post" action="index.php?link=login">
<table>
<tr>
  <td align="center" bgcolor="#cccccc" colspan="2">AOC Friesland | Login</td>
</tr>
<tr>
  <td>Gebruikersnaam:</td>
  <td><input type="text" name="gebruikersnaam"></td>
</tr>
<tr>
  <td>Wachtwoord:</td>
  <td><input type="password" name="wachtwoord"></td>
</tr>
<tr>
  <td align="center" colspan="2">
    <input type="hidden" name="submit" value="1">
    <input type="submit" value="Login" name="loginsubmit">
  </td>
</tr>
</table>
</form>
</center>
</body>
</html>

[ Voor 77% gewijzigd door Verwijderd op 23-02-2004 16:11 ]


Acties:
  • 0 Henk 'm!

  • --MeAngry--
  • Registratie: September 2002
  • Laatst online: 19-09 16:35

--MeAngry--

aka Qonstrukt

Het probleem met cookies en sessies is gewoon dat ze pas geset zijn een pagina nadat je ze in het script werkelijk geset hebt.

Stel ik heb een index.php pagina met 2 tekstboxen en een submitbutton. Ik vul die in, klik op submit en kom wéér op index.php terecht alleen doet dan een scriptje kijken of de gegevens correct zijn en set een cookie of maakt een sessie aan.

Dan kan ik niet al op diezelfde pagina gaan controleren of een gebruiker is ingelogd ja of nee, want je kunt de waarden van je cookie of sessie pas uitlezen als je die pagina weer opnieuw laadt!

Snapt iedereen het nog die het nog niet snapte? ;)

Wat je dus het beste kunt doen is index.php -> verificatie.php -> terug naar index.php. Dan werkt het wel! :) (Zo doe ik het zelf ook...)

offtopic:
Ow dudes, dit is post nrtje 999 voor mij :P :+

[ Voor 6% gewijzigd door --MeAngry-- op 23-02-2004 16:11 ]

Tesla Model Y RWD (2024)


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hoe bedoel je dat precies. De index met de login. Waar in de form staat; de action: index.php?link=ingelogd (en daar wordt het script dan uitgevoerd ??)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Maar misschien moet ik de fout ook wel zoeken in de index.php. Het werkt namelijk ook niet met uitloggen.

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
session_start();
?>

<?

if ($HTTP_SESSION_VARS['login'] == '1'){
  $menu = "[Record toevoegen] [Overzicht] [Verwijderen] [Extra] <a href='?link=uitloggen'>[Uitloggen]</a>";
}

echo "<center><a href='index.php?link=login'>[Inloggen]</a> $menu [Help]</center><br>";

if (isset($_GET['link'])) {
  include ($_GET['link'].".php");
} else {
  include "login.php";
 }

?>

Acties:
  • 0 Henk 'm!

  • xces
  • Registratie: Juli 2001
  • Laatst online: 20-09 16:56

xces

To got or not to got..

Probeer het eens met $_SESSION['loggedin'];

Zelf gebruikt ik de volgende constructie
- bij starten al sessie register, maar flag login op false zetten
- Klik op login --> gaat naar form
- Vult form in --> submit naar login.php
- Login.php controleert shit --> Gaat weer naar index.php
- Index.php print pagina aan de hand van $_SESSION['loggedin']

Je kunt er ook voor kiezen om bijv zo een constructie te doen:
$_SESSION['data']['loggedin'] = true;
$_SESSION['data']['userid'] = 12;

(of)

session_register('data');
$data['loggedin'] = true;
$data['userid'] = 12;

etc etc

Acties:
  • 0 Henk 'm!

Verwijderd

Doe het net als bij GoT (hierzo dus..), als je je gegevens invult en op submit / login drukt dan ga je naar een bevestigingspagina. Deze wordt vervolgens automatisch ge-refreshed naar de originele pagina en je zult zien dat je ingelogt bent.

Aan de hand van dat feit kun je je menu uitbreiden.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb het nu zo gedaan:

Bij het begin: index.php met de login geinclude

Als je submit gaat hij naar index.php?inloggen.php, hier voert hij het script dan uit, en hier heb ik dan een <META HTTP-EQUIV="Refresh" CONTENT="1;URL=begin.php">

Eerst staat er dan bezig met inloggen... En het werkt wel leuk vind ik :d
Hetzelfde heb ik bij het uitloggen gedaan.

Acties:
  • 0 Henk 'm!

  • xces
  • Registratie: Juli 2001
  • Laatst online: 20-09 16:56

xces

To got or not to got..

(waarom een meta refresh als het ook met een Header() commando kan?)
code:
1
2
header('location: [bestand.php_of_de_url]');
exit;
Pagina: 1