Toon posts:

[php] Een pagina "linken"

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hoe doe ik in php bij een functie dat als je die functie gebruikt dat de browser meteen naar een andere pagina gaat, een soort van doorlinken dus?

  • marcusk
  • Registratie: Februari 2001
  • Laatst online: 26-09-2023
header("location: blaatschaap.php");

het moet wel voor alle output (echo's) staan.

Verwijderd

Topicstarter
:?
code:
1
2
3
4
} 
else { 
    header("location: http://www.stealthzone.net/Users/toevoegen.php");
}

waar o waar zit de fout?

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

je komt niet in de else :?

Doet iets met Cloud (MS/IBM)


Verwijderd

Topicstarter
jewel hehe, dat is maar een stukje ervan:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?
 
session_start();

$controle == FALSE;

include ("../functie.php"); 

$controle = password($username, $passgecodeerd);

if ($controle == TRUE) { 
    echo ""; 
        echo "";  
} 
else { 
     header("Location: http://www.stealthzone.net/Users/login.php"); 
} 
?>

Dat is de hele code, als je iets laat printe bij else doet hij dat wel :?

als ik onder de header exit; doe dan blijft de pagina wit (warnings staan uit op de server)

  • marcusk
  • Registratie: Februari 2001
  • Laatst online: 26-09-2023
krijg je een error?

Verwijderd

Topicstarter
Op vrijdag 16 november 2001 22:00 schreef marcusk het volgende:
krijg je een error?
kan ik niet zien,

als ik ut in een case doe dan werkt ut ook niet :?

  • brammetje
  • Registratie: Oktober 2000
  • Laatst online: 12-01-2025
misschien een witruimte boven de <? in je script, of in functies.inc.php ?

Verwijderd

Topicstarter
Op vrijdag 16 november 2001 22:09 schreef PlayR het volgende:
misschien een witruimte boven de <? in je script, of in functies.inc.php ?
wah :?

  • brammetje
  • Registratie: Oktober 2000
  • Laatst online: 12-01-2025
Op vrijdag 16 november 2001 22:13 schreef DJ_PP het volgende:
wah :?
witruimte, dus dat <? niet op de allereerste regel staat, dan krijg je een error bij het uitvoeren van je header()..

verder bedoelde ik functie.php ipv functies.inc.php

  • _-= Erikje =-_
  • Registratie: Maart 2000
  • Laatst online: 09-09 15:42
doe die sessie niet al headers zende?

Verwijderd

Topicstarter
Nouw heb nu dus zo:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?
 
session_start();

$controle == FALSE;

include ("../functie.php"); 

$controle = password($username, $passgecodeerd);

if ($controle == TRUE) { // pagina weer geven bij TRUE 
      
} 
else {
  header("Location: http://www.stealthzone.net/Users/toevoegen.php"); 
} 

?> 
?>

en dit zijn de functions:
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
<?
 

function verbind() { 
    $db_host = "localhost"; 
    $db_login = "administrator"; 
    $db_pass = "******"; 
    $db_database = "Members"; 
    mysql_connect("$db_host", "$db_login", "$db_pass") or die("MySQL connectie mislukt."); 
    mysql_select_db("$db_database")or die("Selecteren van database mislukt."); 
} 

function password($username, $passgecodeerd) { 
    verbind(); 

    $pass_uit_database = ""; // voor de zekerheid 

    $sql = "SELECT password FROM leden WHERE username LIKE '$username' ORDER BY id DESC"; 
    $resultaat = mysql_query($sql) or die(mysql_error()); 

    if ($row = mysql_fetch_object($resultaat)) {
        $pass_uit_database = md5($row->password); 

        if($passgecodeerd == $pass_uit_database) { 
            return TRUE; 
        } 
        else { 
            echo "Geen geldige combinatie van gebruikersnaam en wachtwoord"; 
            return FALSE; 
        } 
    } 
    else { 
        header("Location: http://www.stealthzone.net/Users/toevoegen.php"); 
        return FALSE; 
    } 
} 

?> 
?>

Nu werk dat header gedoe niet, dit is het bestand met het headerstukje erin:
code:
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
<?php 
session_start();

$controle == FALSE;

include ("../functie.php"); 

$controle = password($username, $passgecodeerd);

if ($controle == TRUE) { // pagina weer geven bij TRUE 
    
} 
else {
  header("Location: http://www.stealthzone.net/Users/toevoegen.php"); 
} 

?> 
<? 
$mysql_host = "localhost"; 
$mysql_user = "administrator"; 
$mysql_pwd  = "******"; 
$mysql_db   = "AUC"; 

$mysql_port = 3306;

$max_time   = 600;

$db = @mysql_connect($mysql_host . ":" . $mysql_port,$mysql_user,$mysql_pwd) 
      or die ("Could not connect to MySQL server!"); 
mysql_select_db($mysql_db,$db) 
      or die ("Could not select database " . $mysql_db); 

$tables_result = mysql_list_tables($mysql_db); 
$TABLE_EXISTS = FALSE; 
for ($c = 0; $c < mysql_num_rows($tables_result); $c++) 
  if (mysql_tablename($tables_result,$c) == "users_online") { $TABLE_EXISTS = TRUE; } 

if (!$TABLE_EXISTS) 
  mysql_query("CREATE TABLE users_online (id INT NOT NULL auto_increment PRIMARY KEY, sess_id VARCHAR(100), time DATETIME)",$db); 

session_start(); 
$id = session_id(); 

$query = mysql_query("SELECT * FROM users_online WHERE sess_id = '$id'",$db); 
if (mysql_affected_rows() > 0) 
  mysql_query("UPDATE users_online SET time = now() WHERE sess_id = '$id'",$db); 
else 
  mysql_query("INSERT INTO users_online VALUES(0,'$id',now())",$db); 

$now = date("U") - $max_time; // $now = UNIX timestamp - $max_time 
$now = date("Y-m-d H:i:s",$now); 
mysql_query("DELETE FROM users_online WHERE time < '$now'",$db); 

$count_query = mysql_query("SELECT COUNT(*) as TOTAL FROM users_online",$db); 
$user_count  = mysql_result($count_query,0,"TOTAL"); 

function NLDate($timestamp) 
{ 
  $maanden = Array   
   ("dummy","Januari","Februari","Maart", 
    "April","Mei","Juni","Juli","Augustus", 
    "September","Oktober","November", 
    "December"); 
  $dagen = Array 
    ("Zondag","Maandag","Dinsdag", 
     "Woensdag","Donderdag","Vrijdag", 
     "Zaterdag"); 

  $dag = $dagen[date("w",$timestamp)]; 
  $maand = $maanden[date("n",$timestamp)]; 

  return $dag . " " . date("j",$timestamp) . " " . $maand . " " . date("Y",$timestamp); 
} 

$now = mktime(0,0,0,date("n"),date("j"),date("Y")); 
$datum = NLDate($now); 

$date = "c:/Inetpub/wwwroot/Data/03.txt";

$fp = fopen($date, "r"); 
while ( ! feof ($fp) ) { 
    $hoeveel = fgets ($fp,1024); 
} 
$actueel=$hoeveel+1; 
fclose($fp); 

$fp2 = fopen($date, "w"); 
fwrite($fp2,$actueel); 
fclose($fp2); 
?>
<? include("c:/Inetpub/wwwroot/Data/15.dat"); ?>
<table border=0 width=469 cellpadding=0 cellspacing=0>
<?
switch($inhoud)
{
 case 'tools':
  print "Tools";
  print "<form method=get name=target action=Tools/01.php>IP Adres <input type=text name=target size=20> <input type=submit value=Ping></form>";
  print "<form method=get name=domein action=Tools/02.php >Domein naam <INPUT TYPE=TEXT NAME=domein> <INPUT TYPE=SUBMIT VALUE=Check></FORM>";
  break;
 case 'storing':
  print "Storing";
  include("02.php");
  break;
 case 'kalender':
  print "Kalender";
  break;
 case 'mail':
  print "Mail";
  break;
  default:
  print "<font face=arial size=2>Welkom $username, Selecteer de rede van uw bezoek onderaan of in de inhoudopgave</font><ul><a href=?inhoud=mail><li type=square>Uw mailbox</a></li><a href=?inhoud=tools><li type=square>Uw toolbox</a></li><a href=?inhoud=kalender><li type=square>Uw Persoonlijke agenda</a></li><a href=?inhoud=storing><li type=square>Uw webruimte beheren</a></li></ul><br><br><br><br><br>";
  break;
}
?>
<br><br><tr><td valign="bottom"><font size="2" face="arial">[<a href="?inhoud=tools">Tools</a> | <a href="?inhoud=storing">File storing</a> | <a href="?inhoud=mail">Mailbox</a> | <a href="?inhoud=kalender">Kalender</a> | <a href="http://www.stealthzone.net/Users/logout.php">Log-out</a>]</font></td></tr>
<? include("c:/Inetpub/wwwroot/Data/16.dat"); ?>

en nu is dat eerste stukje natuurlijk bedoeld om te zorgen dat je de pagina alleen krijgt als je ingeloged bent, maar nu kan ie dus kennelijk alleen echo geven. En de pagina die je krijgt bevat veel php dus dat akn ik niet doen, wie kan dat eerste stukje verbeteren (en het stukje met die header functie uit functies.php) zodat hij wel werkt?

  • brammetje
  • Registratie: Oktober 2000
  • Laatst online: 12-01-2025
je echo'd wat in je check() functie..

haal dat eruit, en return alleen false of true..

Verwijderd

Topicstarter
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
<?
 

function verbind() { 
    $db_host = "localhost"; 
    $db_login = "administrator"; 
    $db_pass = "****88"; 
    $db_database = "Members"; 
    mysql_connect("$db_host", "$db_login", "$db_pass") or die("MySQL connectie mislukt."); 
    mysql_select_db("$db_database")or die("Selecteren van database mislukt."); 
} 

function password($username, $passgecodeerd) { 
    verbind(); 

    $pass_uit_database = ""; // voor de zekerheid 

    $sql = "SELECT password FROM leden WHERE username LIKE '$username' ORDER BY id DESC"; 
    $resultaat = mysql_query($sql) or die(mysql_error()); 

    if ($row = mysql_fetch_object($resultaat)) {
        $pass_uit_database = md5($row->password); 

        if($passgecodeerd == $pass_uit_database) { 
            return TRUE; 
        } 
        else { 
            return FALSE; 
        } 
    } 
    else {  
        return FALSE; 
    } 
} 
?>

alle echo's zijn er uit, er bestaan er geen meer nu, en hij werkt nog niet :(

  • brammetje
  • Registratie: Oktober 2000
  • Laatst online: 12-01-2025
dan weet ik het ook niet..

ja kan op php.net nog even zoeken naar de functie om je error-reporting-level 'at runtime' in te stellen, dan zie je iig wat voor error je krijgt..

edit: http://www.php.net/manual/en/function.error-reporting.php

zet dit eens boven je script:
error_reporting (55);

Verwijderd

Topicstarter
ik heb er dan maar een exit op gezet
je rkijgt dus alleen de pagina als je ingelogd bent
anders een wit scherm

Verwijderd

Topicstarter
Op vrijdag 16 november 2001 23:14 schreef PlayR het volgende:
dan weet ik het ook niet..

ja kan op php.net nog even zoeken naar de functie om je error-reporting-level 'at runtime' in te stellen, dan zie je iig wat voor error je krijgt..
ik weet wel hoe dat moet zal ut ff doen :)

Verwijderd

Topicstarter
Hebbut zo gedaan tis nu wel goed:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?
 
session_start();
$controle == FALSE;

include ("../functie.php"); 

$controle = password($username, $passgecodeerd);

if ($controle == TRUE) {       
} 
else {
  print "Je moet eerst inloggen om deze pagina te kunnen bekijken!";
  break;
} 
?>

  • marcusk
  • Registratie: Februari 2001
  • Laatst online: 26-09-2023
$controle == FALSE, waar slaat dat op? bedoel je het niet met één = ?

  • brammetje
  • Registratie: Oktober 2000
  • Laatst online: 12-01-2025
Op vrijdag 16 november 2001 23:20 schreef DJ_PP het volgende:
Hebbut zo gedaan tis nu wel goed:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?
 
session_start();
$controle == FALSE;

include ("../functie.php"); 

$controle = password($username, $passgecodeerd);

if ($controle == TRUE) { // pagina weer geven bij TRUE 
      
} 
else {
  print "Je moet eerst inloggen om deze pagina te kunnen bekijken!";
  break;
} 
?>
ja, dat kan ook..

Verwijderd

Topicstarter
Warning: Cannot add header information - headers already sent by (output started at c:\inetpub\wwwroot\Data\15.dat:4) in c:\inetpub\wwwroot\index.php on line 121

de fout bij headers!

Edit: ik denk dat hij door de code van de extra functies een fout zit zodat header niet goed werkt

Verwijderd

kijk eerst of hij zonder die andere codes werkt...

en zoals iemand al zei
$config == FALSE; :?
die heb ik nog nooit gezien :P

Verwijderd

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?
 
session_start();
$controle == FALSE;
include ("../functie.php"); 
$controle = password($username, $passgecodeerd);
if ($controle == TRUE) 
{     
     //pagina laten zien
} 
else 
{      
     header("Location: http://www.stealthzone.net/Users/login.php"); 
     exit();
} 
?>

Zou moeten werken. En anders:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?
 
ob_start();
session_start();
$controle == FALSE;
include ("../functie.php"); 
$controle = password($username, $passgecodeerd);
if ($controle == TRUE) 
{     
     //pagina laten zien
} 
else 
{      
     header("Location: http://www.stealthzone.net/Users/login.php"); 
     exit();
} 
ob_flush();
?>

ofzoiets

  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

Op zaterdag 17 november 2001 17:20 schreef jurriebur het volgende:
kijk eerst of hij zonder die andere codes werkt...

en zoals iemand al zei
$config == FALSE; :?
die heb ik nog nooit gezien :P
de == is een vergelijks operator (geeft true of false terug)
de = is een toewijzing

de 1e keer moet does met maar 1 = zijn.
Pagina: 1