Toon posts:

[PHP] include verversen *

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

Verwijderd

Topicstarter
Nu zit ik met het volgende probleem, het gaat om een inlogscript in php met de include functie als je ingelogd bent.

Het script werkt prima, maar als ik inlog zet hij de beveiligde pagina(include) onder de inlogpagina, nu heb ik gelezen over de header functie en over de meta refresh functie, maar dit werkt allemaal niet, of mischien zet ik het verkeerd erin.

Bij de inlogpagina is het (action=beveilgde pagina)
Bij de beveiligde pagina is het (include inlogpagina)

Waar zet ik dan de refresh functie precies neer, wie kan me helpen aub.

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Kan je misschien wat relevante code geven (dus niet de complete lap code), inclusief wat er niet werkt, welke warnings / foutmeldingen je krijgt en wat er wel gebeurd?

't is nu nogal.. abstract.. :)

[ Voor 49% gewijzigd door gorgi_19 op 18-08-2003 12:02 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Sterker nog ik kan er geen touw aan vast knopen

  • Akerboom
  • Registratie: Juni 2001
  • Laatst online: 29-07 13:20

Akerboom

Codito, ergo sum

ik ook niet :P

Maar je moet natuurlijk niet het inlog scherm weergeven als de user op de beveiligde pagina is aanbeland

// Welkom op GoT trouwens :)

[ Voor 12% gewijzigd door Akerboom op 18-08-2003 12:04 ]


Verwijderd

Topicstarter
Als ik dus inlog zet hij de beveiligde pagina onder de inlogpagina (deze blijft dus staan), dus zie ik 2 pagina's onder elkaar, ik krijg verder geen foutmelding omdat het script wel werkt.
Wat ik graag wil is dat als je inlogd hij alleen de beveiligde pagina laat zien en niet meer de inlogpagina, k hoop dat het een beetje duidelijk is.

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

k hoop dat het een beetje duidelijk is.
Nee, doe nog eens je derde en laatste poging :z

Hint: lees P&W FAQ - De "quickstart" eens door :)

Professionele website nodig?


Verwijderd

Topicstarter
k moet nu helaas weg, k zal vanavond t script plaatsen.

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 17-08 23:56

Janoz

Moderator Devschuur®

!litemod

Zeer waarschijnlijk geef je gewoon zelf aan dat ie het inlog gedeelte erbij moet zetten. MEt meta refresh of wat dan ook heeft dit helemaal niks te maken (client vs server verhaal).

Het meest vreemde van je verhaal vind ik nog steeds dat je aangeeft dat je []igeen[/i] inlog pagina op je beveiligde pagina wilt, maar in je psuedo code voorbeeld geef je aan dat je die wel include. maw: Wat wil je nu eigenlijk ;)

Geef even wat relevante code (dus niet een cnp van je hele source!), anders kan niemand hier wat mee.

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


Verwijderd

Topicstarter
<?php include("include.php"); ?>

Dit staat bovenaan de beveiligde pagina


<?php

$user_hostname = "localhost";
$user_username = "gebruiker";
$user_password = "";
$user_database = "gebruiker";

$connect = mysql_connect("$user_hostname", "$user_username", "$user_password");
mysql_select_db("$user_database", $connect);

session_start();

if(!isset($username)) {

echo "<form method=\"POST\" action=muziekbeveilig.php>
<center>
<table>
<tr>
<td>Username:</td>
<td><input type=\"text\" name=\"username\" size=\"10\"></td>
</tr>
<tr>
<td>Password:</td>
<td><input type=\"password\" name=\"password\" size=\"10\"></td>
</tr>
<tr>
<td colspan=\"8\">
<p align=\"center\"><input type=\"submit\" value=\"Submit\" name=\"submit\"></td>
</tr>
</table>
</center>
</form>";
exit;
}

session_register("username");
session_register("password");

$sql = "SELECT * FROM users WHERE username = \"$username\" AND password = \"$password\"";
$result = @mysql_query($sql) or die("No.");

if(mysql_num_rows($result) == "0") {

session_unregister("username");
session_unregister("password");

echo "
<br><br><center>Dit is de verkeerde username of password,
<br><center>Klik <a href=http://members.lycos.nl/riseandshine32/include.php>hier</a> om opnieuw in te loggen\n";
exit;

}


En dit is de inlogpagina, begrijp je nu wat ik bedoel?

  • Icheb
  • Registratie: Augustus 2001
  • Laatst online: 11-08 13:24
Ik moet nog steeds zeggen dat ik het niet echt snap...

Maar ik zal een poging doen :D

Ik neem aan dat de code die je gepost hebt de code van de include.php is ?

Maar ik denk eerlijk gezegd niet dat dat het is, ik zou wel aanraden je sessie start zo hoog mogelijk te zetten, dus misschien nog boven de mysql connectie, dan is dat in ieder geval perfect :D

Nu zie ik bij je query en de afhandeling daarvan:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$sql = "SELECT * FROM users WHERE username = \"$username\" AND password = \"$password\"";
$result = @mysql_query($sql) or die("No.");

if(mysql_num_rows($result) == "0") {

session_unregister("username");
session_unregister("password");

echo "
<br><br><center>Dit is de verkeerde username of password, 
<br><center>Klik <a href=http://members.lycos.nl/riseandshine32/include.php>hier</a> om opnieuw in te loggen\n";
exit;

}


die @mysql_query kan een probleem geven, dus zou je daarvan kunnen maken :
PHP:
1
$result = mysql_query($sql) or die("We hebben een probleem, namelijk: ".mysql_error());

Als er nu problemen zijn weet je zeker dat je krijgt te zien wat er aan de hand is en waarom dit zo is...

Is deze query trouwens niet sneller ?
$sql = "SELECT COUNT(*) FROM users WHERE username='$username' AND password='$password'";

Tevens ook : Welkom op GoT

sebsoft.nl


Verwijderd

Topicstarter
Dat is wel de code van de include pagina, als je dus post dan gaat deze naar de muziekbeveiligde pagina , waar dus <?php include("include.php"); ?> bovenaanstaat, hij logt dus wel in en laat de inlogpagina en daaronder de muziekpagina zien, wat ik wil is dus dat als je inlogt hij de muziekpagina laat zien(soort van refresh), begrijp je?

Verwijderd

Topicstarter
Probeer anders eens je te registeren en in te loggen op www.riseandshine33.tk
, dan zie je wat k bedoel.

  • Glashelder
  • Registratie: September 2002
  • Niet online

Glashelder

Anti Android

Misschien sla ik de plank compleet mis, maar ik ga het proberen.


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
58
59
60
61
62
63
64
65
66
<?php

$user_hostname = "localhost";
$user_username = "gebruiker";
$user_password = "";
$user_database = "gebruiker";

$connect = mysql_connect("$user_hostname", "$user_username", "$user_password");
mysql_select_db("$user_database", $connect);

session_start();

if(!isset($username)) {

echo "<form method=\"POST\" action=muziekbeveilig.php>
<center>
<table>
<tr>
<td>Username:</td>
<td><input type=\"text\" name=\"username\" size=\"10\"></td>
</tr>
<tr>
<td>Password:</td>
<td><input type=\"password\" name=\"password\" size=\"10\"></td>
</tr>
<tr>
<td colspan=\"8\">
<p align=\"center\"><input type=\"submit\" value=\"Submit\" name=\"submit\"></td>
</tr>
</table>
</center>
</form>";
exit;
}

session_register("username");
session_register("password");

$sql = "SELECT * FROM users WHERE username = \"$username\" AND password = \"$password\"";
$result = @mysql_query($sql) or die("No.");

if(mysql_num_rows($result) == "0") {

session_unregister("username");
session_unregister("password");

echo "
<br><br><center>Dit is de verkeerde username of password,
<br><center>Klik <a href=http://members.lycos.nl/riseandshine32/include.php>hier</a> om opnieuw in te loggen\n";
exit;

}
if(isset($username)) {
?>
<SCRIPT>

function redirect()
 { 
  window.location = "http://members.lycos.nl/riseandshine32/muziekbeveilig.php"
 }
 
 setTimeout("redirect();", 1)
</SCRIPT>
<?
}
?>


Je moet dan wel bij 'muziekbeveilig.php' de include weghalen, en er de volgende code bovenzetten:

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

if(!isset($username)) {
?>
<SCRIPT>

function redirect()
{
  window.location = "==>!!!LOGINPAGINA!!!==<"
}

setTimeout("redirect();", 1)
</SCRIPT> 
<?
die();
}
?>


Verwijt het me niet als ik het helemaal niet begrepen heb ;)

Ik heb trouwens bij jou pagina het probleem dat ik bij elke refresh opnieuw moet inloggen

[ Voor 23% gewijzigd door Glashelder op 19-08-2003 00:34 ]

PV 4915wp op oost, 2680 wp op west, 1900 wp op zuid. pvoutput - AUX 8 kW bi bloc


Verwijderd

Topicstarter
Ik ga dit script eens proberen, en hoe krijg ik het dan voor elkaar dat hij na
een refresh gewoon ingelogd blijft?

Verwijderd

Topicstarter
Yessssssssssssssss, dit script werkt perfect, hartstikke bedankt mannen voor de hulp, alleen het refreshprobleem is er nog, dus dat je dan uitgelogd bent, hoe los k dat nog op?

Verwijderd

gebruik van sessions.
een sessions waarin je opslaat dat de gebruiker is ingelogd.
op een volgende pagina check je die sessievariabele en geef je wel of niet het inlogscherm weer

Verwijderd

Topicstarter
En hoe zou ik dit als script dan hierin kunnen verwerken, zou je een voorbeeld kunnen geven?

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Ja hallo, zeg. Denk je dat we hier iedereen de scripts voorschotelen als ze erom vragen?

Ga zelf ook even wat doen, je hebt al mazzel dat je zoveel gratis krijgt.

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

Pagina: 1

Dit topic is gesloten.