Login script werkt niet op iedere server?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Peter S

Peter S

18/02/2007 14:58:00
Quote Anchor link
Ik heb een script welke wel werkte op de ene server maar nu ik deze overgeplaatst heb werkt het niet meer.

Als je gaat inloggen gebeurt er gewoon niets..

Online voorbeeld: http://www.gratistoppers.nl/index.php

Code inloggen.php:

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
<?php
               include("top.php");

       if (isset($_POST['submit'])) {
  
               $gebruikersnaam = $_POST['gebruikersnaam'];
               $wachtwoord = $_POST['wachtwoord'];

               if (!$gebruikersnaam || !$wachtwoord) {
               Header("Location: ?fout=1");
               exit;
               }


               $logres = mysql_num_rows(mysql_query("select * from leden where gebruikersnaam='$gebruikersnaam' and wachtwoord='$wachtwoord'"));
               if ($logres <= 0) {
               Header("Location: ?fout=2");
               exit;
               }


               $get = mysql_fetch_array(mysql_query("select * from leden where gebruikersnaam='$gebruikersnaam' and wachtwoord='$wachtwoord'"));

               if ($get[act] == "0") {
               Header("Location: ?fout=3");
               exit;
               }

               mysql_query("update leden set inactive='0' where id='$get[id]'");
               session_register("gebruikersnaam");
               session_register("wachtwoord");
               Header("Location: game.php");
       }

?>



<ul>
<font class="groot">Inloggen</font>
</ul>

<br />
<br / >

<center>

<form method="post">
<table>
<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></td>
<td><input type="submit" name="submit" value="Inloggen"></td>
</tr>
</table>
</form>

Hij include top.php
Code top.php:

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
<?php
include("database.php");
session_start();
$leden = mysql_num_rows(mysql_query("select * from leden where act='1'"));

$psel = mysql_query("SELECT * FROM leden");
$ctime = time();

while ($pl = mysql_fetch_array($psel)) {
    $span = ($ctime - $pl[sessie]);
        if ($span <= 180) {
            $online = ($online + 1);
        }
}

        if ($online < 1) {
            $online = "0";
        }

?>

<html>
<head>
<title>VM</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
rest van de layout...

Iemand enig idee wat er fout is of wat ik moet veranderen?
 
PHP hulp

PHP hulp

15/05/2024 01:16:00
 
Thijs X

Thijs X

18/02/2007 15:04:00
Quote Anchor link
- Even tussen code tags plaatsen aub.
- Wat gebeurd er wel krijg je een foutmelding of iets dergelijks?
Zet even error_reporting(E_ALL); boven aan je pagina.

- Variablen buiten Quotes!

Voorbeeldje:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?
mysql_num_rows(mysql_query("select * from leden where gebruikersnaam='".$gebruikersnaam."' and wachtwoord='".$wachtwoord."'"));
               if ($logres <= 0) {
?>


Edit:
session_register("gebruikersnaam"); is oud maak gebruik van superglobals
$_SESSION['gebruikersnaam'];
Gewijzigd op 01/01/1970 01:00:00 door Thijs X
 
- SanThe -

- SanThe -

18/02/2007 15:05:00
Quote Anchor link
Dit bovenin je script zetten:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
?>

En verder je post editen en en tags om de code heen zetten.
 
- SanThe -

- SanThe -

18/02/2007 15:07:00
Quote Anchor link
En bedoel je met $get[id] niet de superglobal $_GET['id']?
 
Thijs X

Thijs X

18/02/2007 15:08:00
Quote Anchor link
SanThe schreef op 18.02.2007 15:07:
En bedoel je met $get[id] niet de superglobal $_GET['id']?


Nee die $get is een query.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
$get
= mysql_fetch_array(mysql_query("select * from leden where gebruikersnaam='$gebruikersnaam' and wachtwoord='$wachtwoord'"));
?>
 
- SanThe -

- SanThe -

18/02/2007 15:14:00
Quote Anchor link
thijs schreef op 18.02.2007 15:08:
Nee die $get is een query.

Ah, rijp voor de verwarring dus.

Tip: Gebruik begrijpelijke en unieke namen voor je variabelen die je niet kunt varwarren met reeds bestaande.
 
Thijs X

Thijs X

18/02/2007 15:15:00
Quote Anchor link
Ok zie nu hele lading errors op je pagina.
Zet eens ob_start(); bovenaan top.php en verander inloggen.php even met die dingen die ik hierboven heb gepost, dan zou het moeten werken.
 
Peter S

Peter S

18/02/2007 15:17:00
Quote Anchor link
Hierbij nogmaals de code en een flink aantal errors :S

Hier kun je het script online bekijken: http://www.gratistoppers.nl/inloggen.php


inloggen.php:
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
?>

<?php
               include("top.php");

       if (isset($_POST['submit'])) {
 
               $gebruikersnaam = $_POST['gebruikersnaam'];
               $wachtwoord = $_POST['wachtwoord'];

               if (!$gebruikersnaam || !$wachtwoord) {
               Header("Location: ?fout=1");
               exit;
               }


               $logres = mysql_num_rows(mysql_query("select * from leden where gebruikersnaam='".$gebruikersnaam."' and wachtwoord='".$wachtwoord."'"));
               if ($logres <= 0) {
               Header("Location: ?fout=2");
               exit;
               }


               $get = mysql_fetch_array(mysql_query("select * from leden where gebruikersnaam='".$gebruikersnaam."' and wachtwoord='".$wachtwoord."'"));

               if ($get[act] == "0") {
               Header("Location: ?fout=3");
               exit;
               }

               mysql_query("update leden set inactive='0' where id='$get[id]'");
               $_SESSION["gebruikersnaam"] = $gebruikersnaam->gebruikersnaam;
               $_SESSION["wachtwoord"] = $wachtwoord->wachtwoord;
              
               Header("Location: game.php");
       }

?>



     <ul>
                 <font class="groot">Inloggen</font>
     </ul>

     <br />
     <br / >

<center>

<form method="post">
<table>
<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></td>
<td><input type="submit" name="submit" value="Inloggen"></td>
</tr>
</table>
</form>


top.php:
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
<?php
include("database.php");
ob_start();
session_start();
$leden = mysql_num_rows(mysql_query("select * from leden where act='1'"));

$psel = mysql_query("SELECT * FROM leden");
$ctime = time();

while ($pl = mysql_fetch_array($psel)) {
    $span = ($ctime - $pl[sessie]);
        if ($span <= 180) {
            $online = ($online + 1);
        }
}

        if ($online < 1) {
            $online = "0";
        }

?>
 
- SanThe -

- SanThe -

18/02/2007 15:20:00
Quote Anchor link
Je zal de errors hiet moeten zetten. De dns is niet correct van het domein dus ik kom er niet op.
 
Thijs X

Thijs X

18/02/2007 15:21:00
Quote Anchor link
Probeer dit eens:

inloggen.php

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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
include("top.php");

if (isset($_POST['submit']))
{

    $gebruikersnaam = $_POST['gebruikersnaam'];
    $wachtwoord = $_POST['wachtwoord'];
    
    if(empty($gebruikersnaam) || empty($wachtwoord))
    {

        header("Location: ?fout=1");
        exit;
    }

    $logres = mysql_num_rows(mysql_query("select * from leden where gebruikersnaam='".$gebruikersnaam."' and wachtwoord='".$wachtwoord."'"));
    if ($logres <= 0)
    {

        header("Location: ?fout=2");
        exit;
    }

    $get = mysql_fetch_array(mysql_query("select * from leden where gebruikersnaam='".$gebruikersnaam."' and wachtwoord='".$wachtwoord."'"));
    if ($get[act] == "0")
    {

        header("Location: ?fout=3");
        exit;
    }

    else
    {
        mysql_query("update leden set inactive='0' where id='".$get[id]."'");
        $_SESSION['gebruikersnaam'];
        $_SESSION['wachtwoord'];
        header("Location: game.php");
    }
}

?>



     <ul>
                 <font class="groot">Inloggen</font>
     </ul>

     <br />
     <br / >

<center>

<form method="post">
<table>
<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></td>
<td><input type="submit" name="submit" value="Inloggen"></td>
</tr>
</table>
</form>



top.php

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
<?php
ob_start();
session_start();
include("database.php");
$leden = mysql_num_rows(mysql_query("select * from leden where act='1'"));

$psel = mysql_query("SELECT * FROM leden");
$ctime = time();

while ($pl = mysql_fetch_array($psel)) {
    $span = ($ctime - $pl['sessie']);
        if ($span <= 180) {
            $online = ($online + 1);
        }
}

        if ($online < 1) {
            $online = 0;
        }

?>


Edit voor SanThe
Quote:
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/okke/domains/gratistoppers.nl/public_html/inloggen.php:5) in /home/okke/domains/gratistoppers.nl/public_html/top.php on line 4

Notice: Use of undefined constant sessie - assumed 'sessie' in /home/okke/domains/gratistoppers.nl/public_html/top.php on line 11
Gewijzigd op 01/01/1970 01:00:00 door Thijs X
 
- SanThe -

- SanThe -

18/02/2007 15:30:00
Quote Anchor link
@Thijs: Bedankt.
Je moet ook regel 11 even aanpassen:
$span = ($ctime - $pl[sessie]);

moet zijn:
$span = ($ctime - $pl['sessie']);
 
Thijs X

Thijs X

18/02/2007 15:33:00
Quote Anchor link
Ja idd ik zie nog een typo @ regel 16 van inloggen.php:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
    $logres
= mysql_num_rows(mysql_query("select * from leden where gebruikersnaam='".$gebruikersnaam."' and wachtwoord='".$wachtwoord."'"));
?>


moest dat worden.


Edit:

Script 2 post hierboven even aangepast en nu zou hij moeten werken soldier.
Gewijzigd op 01/01/1970 01:00:00 door Thijs X
 
- SanThe -

- SanThe -

18/02/2007 15:37:00
Quote Anchor link
Regel 17
$online = "0";

Getallen niet tussen quotes:
$online = 0;
 
Thijs X

Thijs X

18/02/2007 15:44:00
Quote Anchor link
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
<?php
ob_start();
session_start();
include("database.php");
$leden = mysql_num_rows(mysql_query("select * from leden where act='1'"));

$psel = mysql_query("SELECT * FROM leden");
$ctime = time();
$online = "";

while ($pl = mysql_fetch_array($psel)) {
    $span = ($ctime - $pl['sessie']);
        if ($span <= 180) {
            $online = ($online + 1);
        }
}

        if ($online < 1) {
            $online = 0;
        }

?>
 
Peter S

Peter S

18/02/2007 15:47:00
Quote Anchor link
Oké dan Santhe en Thijs. Bedankt voor jullie tips tot zover!

Inloggen.php lijkt goed te gaan. Wanneer ik in wil loggen (gebruikersnaam: test, wachtwoord: test), logt deze nu weer uit.

uitloggen.php
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
<?php
include("top.php");
session_destroy();
session_unset();
?>



<center>

<br />
<br />
<?php if ($type == "1") { ?>
                 <font class="groot">Je sessie is verlopen log je aub opnieuw in!</font>
<?}?>
<?php if ($type == "2") { ?>
                 <font class="groot">Je login gegevens kloppen niet!</font>
<?}?>
<?php if ($type == "3") { ?>
                 <font class="groot">Bedankt voor het spelen je bent nu uitgelogd!</font>
<?php
}
?>
 
Thijs X

Thijs X

18/02/2007 15:50:00
Quote Anchor link
Wat staat er in game.php? Want ik zie nergens iets wat word verwezen naar uitloggen.php
Gewijzigd op 01/01/1970 01:00:00 door Thijs X
 
- SanThe -

- SanThe -

18/02/2007 15:56:00
Quote Anchor link
if ($type == "1") {

Nogmaals..... getallen NIET tussen quotes.
 
Peter S

Peter S

18/02/2007 15:58:00
Quote Anchor link
in game.php staat het spel waar men voor inlogt. Deze game.php gebruikt WEL een ander top bestand!

_top.php
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
<?php include("database.php"); session_start();
if (!session_is_registered("gebruikersnaam") || !session_is_registered("wachtwoord")) {
    Header("Location: uitloggen.php?type=1");
    exit;
}

$stat = mysql_fetch_array(mysql_query("select * from leden where gebruikersnaam='$gebruikersnaam' AND wachtwoord='$wachtwoord'"));
if (empty ($stat[id])) {
    Header("Location: uitloggen.php?type=2");
                exit;
}

$time = time();
mysql_query("update leden set sessie=$time where id=$stat[id]");
$club = mysql_fetch_array(mysql_query("select * from clubs where manager='$stat[id]'"));
$mail = mysql_num_rows(mysql_query("select * from mail where ontvanger='$stat[id]' AND gelezen='N'"));
$psel = mysql_query("SELECT * FROM leden");
$ctime = time();

while ($pl = mysql_fetch_array($psel)) {
    $span = ($ctime - $pl[sessie]);
        if ($span <= 180) {
            $online = ($online + 1);
        }
}

        if ($online < 1) {
            $online = 0;
        }

$totaalnieuws = mysql_num_rows(mysql_query("select * from clubnieuws where club='$club[id]'"));
$compnieuws = mysql_num_rows(mysql_query("select * from compnieuws where competitie='$club[competitie]'"));
?>

en layout en overige...


EDIT: getal tussen quotes :S
Gewijzigd op 01/01/1970 01:00:00 door Peter S
 
Thijs X

Thijs X

18/02/2007 16:07:00
Quote Anchor link
Weer Variablen buiten de quotes!

Probeer dit eens:

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
<?php
session_start();
include("database.php");

if (!isset($_SESSION['gebruikersnaam']) || !isset($_SESSION['wachtwoord']))
{

    header("Location: uitloggen.php?type=1");
    exit;
}

$stat = mysql_fetch_array(mysql_query("select * from leden where gebruikersnaam='".$gebruikersnaam."' AND wachtwoord='".$wachtwoord."'"));
if (empty($stat[id]))
{

    header("Location: uitloggen.php?type=2");
    exit;
}

$time = time();
mysql_query("update leden set sessie='".$time."' where id='".$stat['id']."'");
$club = mysql_fetch_array(mysql_query("select * from clubs where manager='".$stat['id']."'"));
$mail = mysql_num_rows(mysql_query("select * from mail where ontvanger='".$stat['id']."' AND gelezen='N'"));
$psel = mysql_query("SELECT * FROM leden");
$ctime = time();

while ($pl = mysql_fetch_array($psel))
{

    $span = ($ctime - $pl['sessie']);
    if ($span <= 180)
    {

        $online = ($online + 1);
    }
}

if ($online < 1)
{

    $online = 0;
}

$totaalnieuws = mysql_num_rows(mysql_query("select * from clubnieuws where club='".$club['id']."'"));
$compnieuws = mysql_num_rows(mysql_query("select * from compnieuws where competitie='".$club['competitie']."'"));
?>



en inloggen.php
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
include("top.php");

if (isset($_POST['submit']))
{

    $gebruikersnaam = $_POST['gebruikersnaam'];
    $wachtwoord = $_POST['wachtwoord'];
    
    if(empty($gebruikersnaam) || empty($wachtwoord))
    {

        header("Location: ?fout=1");
        exit;
    }

    $logres = mysql_num_rows(mysql_query("select * from leden where gebruikersnaam='".$gebruikersnaam."' and wachtwoord='".$wachtwoord."'"));
    if ($logres <= 0)
    {

        header("Location: ?fout=2");
        exit;
    }

    $get = mysql_fetch_array(mysql_query("select * from leden where gebruikersnaam='".$gebruikersnaam."' and wachtwoord='".$wachtwoord."'"));
    if ($get[act] == "0")
    {

        header("Location: ?fout=3");
        exit;
    }

    else
    {
        mysql_query("update leden set inactive='0' where id='".$get[id]."'");
        $_SESSION['gebruikersnaam'] = $gebruikersnaam;
        $_SESSION['wachtwoord'] = $wachtwoord;
        header("Location: game.php");
    }
}

?>



     <ul>
                 <font class="groot">Inloggen</font>
     </ul>

     <br />
     <br / >

<center>

<form method="post">
<table>
<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></td>
<td><input type="submit" name="submit" value="Inloggen"></td>
</tr>
</table>
</form>


Stond niks in de Sessies
Gewijzigd op 01/01/1970 01:00:00 door Thijs X
 
- SanThe -

- SanThe -

18/02/2007 16:11:00
Quote Anchor link
Zet dit eens helemaal bovenin je script dan zie je wat:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
?>
 
- SanThe -

- SanThe -

18/02/2007 16:16:00
Quote Anchor link
@Thijs: Weer de enkele quotes: $club[id] => $club['id']
 

Pagina: 1 2 volgende »



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.