login system error

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 3 volgende »

Mar groen

mar groen

10/06/2010 10:15:33
Quote Anchor link
het is spijtig maar mn login systeem lijkt niet helemaal te functioneren.
ik heb op all mn site panle paginas
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php include "check.php"; ?>

ingevoegd om te controleren of je wel ingelogd ben.
maar nu krijg ik dit op elke pagina
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/mmuziek/public_html/klanten/gmforce.co.cc/users/142423/index.php:1) in /home/mmuziek/public_html/klanten/gmforce.co.cc/users/142423/check.php  on line 2


weet iemand hoe ik dit verhelp hier is de check.php

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?
session_start();
if(!session_is_registered(myusername)){
header("location:main_login.php");
}

?>


de sessie is geregistreerd via de login system
main_login is de login pagina.
jullie mogen het proberen op mijn test panel
login
mmuziek
mmuziek
megaword
www.gmforce.co.cc
 
PHP hulp

PHP hulp

29/03/2024 15:40:39
 
Dennis meijer

dennis meijer

10/06/2010 10:22:22
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
session_start();


weghalen uit check.php;)
 
Mar groen

mar groen

10/06/2010 10:49:30
Quote Anchor link
o
dat fix de helft van de error.

Warning: Cannot modify header information - headers already sent by (output started at /home/mmuziek/public_html/klanten/gmforce.co.cc/users/142423/blist.php:7) in /home/mmuziek/public_html/klanten/gmforce.co.cc/users/142423/check.php on line 3

tevens weten jullie misshien hoe ik verwijs naar een bestand in een lagere map

dus www.gmforce.co.cc/main_login.php vanaf www.gmforce.co.cc/users/142423/check.php
?
 

10/06/2010 10:57:32
Quote Anchor link
Deze fouten heb je hier ook al gehad...
 
Mar groen

mar groen

10/06/2010 11:37:16
Quote Anchor link
nu heb ik maar HTML redirect gebruikt.

maar nu logt hij me niet in..

pff

word nu direct terug naar de login gestuurd. terwijl mn data correct is?

hoe fix ik dit. hier zijn de login scripts:

login succes
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
<?php
include "check.php";
include "config.php";

$gameid = $_SESSION['gameid'];

mysql_connect("$host", "$username", "$pass")or die("cannot connect");
mysql_select_db("$db")or die("this game panel has not been activated or does not exist please contact our support for more info");
$sql="SELECT url FROM $gameid";
if (!$result=mysql_query($sql))
{

trigger_error(mysql_error().'<br />In query: '.$sql);
}

elseif(mysql_num_rows($result) == 0)
{

echo 'Geen resultaten gevonden<br />';
}

else
{
    while($row = mysql_fetch_assoc($result))
    {

    $test = $row['url'];
        header( 'Location:'.$row['url']) ;
        echo $row['url'].'<br />';
    }
}


?>


login main

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
<html>
<table width="300" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
<tr>
<form name="form1" method="post" action="checklogin.php">
<td>
<table width="100%" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF">
<tr>
<td colspan="3"><strong>Member Login </strong></td>
</tr>
<tr>
<td width="78">Username</td>
<td width="6">:</td>
<td width="294"><input name="myusername" type="text" id="myusername"></td>
</tr>
<tr>
<td>Password</td>
<td>:</td>
<td><input name="mypassword" type="text" id="mypassword"></td>
</tr>
<tr>
<td width="78">game ID</td>
<td width="6">:</td>
<td width="294"><input name="gameid" type="text" id="gameid"></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td><input type="submit" name="Submit" value="Login"></td>
</tr>
</table>
</td>
</form>
</tr>
</table>
</html>


check login voor juiste data en register session

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
<?php
include "config.php";
ob_start();
$tbl_name="login"; // Table name

// Connect to server and select databse.

mysql_connect("$host", "$username", "$pass")or die("cannot connect");
mysql_select_db("$db")or die("cannot select DB");

// Define $myusername and $mypassword
$myusername=$_POST['myusername'];
$mypassword=$_POST['mypassword'];
$gameid=$_POST['gameid'];

// To protect MySQL injection (more detail about MySQL injection)
$myusername = stripslashes($myusername);
$mypassword = stripslashes($mypassword);
$gameid = stripslashes($gameid);
$myusername = mysql_real_escape_string($myusername);
$mypassword = mysql_real_escape_string($mypassword);
$gameid = mysql_real_escape_string($gameid);

$sql="SELECT * FROM $tbl_name WHERE username='$myusername' and pass='$mypassword' and game_id='$gameid'";
$result=mysql_query($sql);

// Mysql_num_row is counting table row
$count = mysql_num_rows ($result);
// If result matched $myusername and $mypassword, table row must be 1 row

if($count==1){
// Register $myusername, $mypassword and redirect to file "login_success.php"
session_register("myusername");
session_register("mypassword");
session_register("gameid");
header("location:login_success.php");
}

else {
echo  'Wrong Username or Password or game id try again <a href="http://www.gmforce.co.cc/main_login.php">back!</a>';
}


ob_end_flush();
?>


de sessie die geregistreerd is werkt nog op login succes.
maar daarna niet meer
Gewijzigd op 10/06/2010 11:47:46 door mar groen
 

10/06/2010 11:39:58
Quote Anchor link
Mar groen op 10/06/2010 11:37:16:
das nu het punt
er is niets eerder verzonden. geen text of enig output.

kijk

Kijk zelf
Mar groen op 10/06/2010 11:37:16:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="nl">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="Generator" content="Serif WebPlus 11.0.6.030">
<title>Gmforce panel</title>
<?php include "check.php"; ?>


En hoe de fuck noem je dat wel ooit niet? DAT IS OUTPUT! Html is toch ook tekst....
Gewijzigd op 10/06/2010 11:40:28 door
 
Mar groen

mar groen

10/06/2010 11:46:26
Quote Anchor link
ik heb mn bericht aangepast.
 
TJVB tvb

TJVB tvb

10/06/2010 11:51:07
Quote Anchor link
sessioN-register is deprecated. Gebruik $_SESSION['name'] = 'bladiebla';
Verder zie ik nergens session_start staan.
 

10/06/2010 11:56:01
Quote Anchor link
Je stuurt html.
Dat is tekst.
Dat is output.
Dat mag niet.
Dat kan niet.
Dat moet niet.
Dat doe je verkeerd.

Het http protocol werkt zo dat een header vóór de data verzonden moet worden. Het is net een envelop. Op de envelop staat de adresgegevens e.d. bij het http protocol zou dat dus de headers zijn. In de envelop stop je dan de data, wat bij het http protocol is dat dus ook de tekst.
Je moet dus eerst de envelop klaar hebben (c.q. verstuurd) voordat je de data kan versturen.

En je kunt wel twee keer posten dat je je bericht hebt aangepast, misschien moet je dan ook nog even je bericht aanpassen.
 
Joakim Broden

Joakim Broden

10/06/2010 12:02:26
Quote Anchor link
@Karl Karl, zeer duidelijke uitleg!
 

10/06/2010 12:12:47
Quote Anchor link
Oetzie en mijn achternaam op 10/06/2010 12:02:26:
@Karl Karl, zeer duidelijke uitleg!


Als je gewoon dat principe onthoud (want zo werkt het ook), kan het nooit mis gaan.
 
Mar groen

mar groen

10/06/2010 12:45:28
Quote Anchor link
TJVB tvb op 10/06/2010 11:51:07:
sessioN-register is deprecated. Gebruik $_SESSION['name'] = 'bladiebla';
Verder zie ik nergens session_start staan.


ik heb nu

$_SESSION['name'] = 'myusername';
$_SESSION['pass'] = 'mypassword';
$_SESSION['gameid'] = 'gameid';
gedaan en de andere sessie scripts aangepast op de nieuwe sessie settings
en nog word ik direct geredirect terug naar login..

tevens heb ik ook session_start(); toegevoegt in de checklogin
Gewijzigd op 10/06/2010 12:48:13 door mar groen
 
- SanThe -

- SanThe -

10/06/2010 12:56:01
Quote Anchor link
Heb je deze antieke session_is_registered() ook al vervangen door $_SESSION['...']? En wat doet een password in een session? Niet doen.
 
Mar groen

mar groen

10/06/2010 14:01:34
Quote Anchor link
SanThe Nvt op 10/06/2010 12:56:01:
Heb je deze antieke session_is_registered() ook al vervangen door $_SESSION['...']? En wat doet een password in een session? Niet doen.


het is niet letterlijk een password. tevens kan je niets met de pass word en username op zich

mijn systeem check ook de Gameid die altijd verschillend is van de game naam

en ik snap er nu niets meer van nu heb ik dit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?
if(!$_SESSION['name']){
header("location:main_login.php");
}

?>


het moet controleren of
sessie var
name en pass en gameid bestaat zo ja ga verder zo niet redirect naar login
ik weet dat de code hierboven alleen name controleerd maar kan iemand de gefixte versie posten want ik snap geen ******* meer van mn eigen session script..
Gewijzigd op 10/06/2010 14:08:08 door mar groen
 
Bas IJzelendoorn

Bas IJzelendoorn

10/06/2010 15:11:58
Quote Anchor link
Beste Mar,

Er zijn bovenstaand al enkele oplossingen geboden. Je moet ook snappen dat we hier bij PHPhulp niet iets klakkeloos voor je gaan voorkauwen in de zin van je hele script maar even herschrijven. Lees je topic nogmaals van begin tot eind door en pas de foutjes aan. Daar leer je het beste van.

Tevens kan ik je adviseren geen php shorttags te gebruiken:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
// het script
?>


Maar de gewone php tags:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
// het script
?>


Ook las ik een vraag over bestanden uit een lagere map halen dat kan door "../" voor je url te zetten, bijvoorbeeld:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
include("../bestandje.php");


Als laatste tipje, wat ik persoonlijk fijn vindt is was spaties, maar niet teveel. Bijvoorbeeld bij de volgende code:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
// Define $myusername and $mypassword
$myusername=$_POST['myusername'];
$mypassword=$_POST['mypassword'];
$gameid=$_POST['gameid'];


Zet hier een spatie tussen. Zeker als je een fout eruit wil gaan halen is en leest dit wat makkelijker:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
// Define $myusername and $mypassword
$myusername = $_POST['myusername'];
$mypassword = $_POST['mypassword'];
$gameid = $_POST['gameid'];


Niet meer dan een spatie. Persoonlijk vindt ik dit het handig en staat het ook wat overzichtelijker. Tevens viel het me al op dat je het ene stuk het wel doet en het andere stuk weer niet.
Gewijzigd op 10/06/2010 15:14:25 door Bas IJzelendoorn
 
TJVB tvb

TJVB tvb

10/06/2010 15:30:52
Quote Anchor link
Mar groen op 10/06/2010 14:01:34:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?
if(!$_SESSION['name']){
header("location:main_login.php");
}

?>


het moet controleren of
sessie var
name en pass en gameid bestaat zo ja ga verder zo niet redirect naar login


je controleerd of de variabele bestaat met isset dus:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?
if(!isset($_SESSION['name'])){
   header("location:main_login.php");
}

?>
 
Mar groen

mar groen

10/06/2010 16:04:31
Quote Anchor link
ik heb de boel aangepast maar kom er achter. dat de login gewoon niet werkt.

ok luister Diep respect maar nu registreert hij helemaal geen vars meer naar de session. dus nu werkt er niets meer. login succes sql querry doet het niet want de gameid var kan niet uit de sessie gehaalt worden omdat het er niet is.

weet iemand wat de juiste register vars zijn..

ik heb http://www.php.net/manual/en/function.session-is-registered.php
door gelezen en daar worden vooral de oude die ik had gebruikt>?

de checklogin werkt niet. das zeker. omdat hij continue zegt dat ik ingelogt ben terwijl dat niet zo is want ik heb 4x logout gedraait:
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
<?php
// Initialize the session.
// If you are using session_name("something"), don't forget it now!

session_start();

// Unset all of the session variables.
$_SESSION = array();

// If it's desired to kill the session, also delete the session cookie.
// Note: This will destroy the session, and not just the session data!

if (ini_get("session.use_cookies")) {
    $params = session_get_cookie_params();
    setcookie(session_name(), '', time() - 42000,
        $params["path"], $params["domain"],
        $params["secure"], $params["httponly"]
    );
}


// Finally, destroy the session.
session_destroy();
?>


dit is mijn check.php

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
if(!isset($_SESSION['name'])){
}

else
{
header("location:../main_login.php");
}

?>


omdat de vars die gezet zijn in checklogin.php niet worden meegenomen naar login_succes.php of check.php die checkt of je ingelogt ben.

dit heb ik natuurlijk op de ouderwetse manier getest door het via echo te latenzien

als je nu inlogt zie je

gameid = <<< hier had de geregistreerde sessie gameid naast moeten staan.
Notice: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
In query: SELECT url FROM in /home/mmuziek/public_html/klanten/gmforce.co.cc/login_success.php on line 12
Gewijzigd op 10/06/2010 16:30:52 door mar groen
 
- SanThe -

- SanThe -

10/06/2010 16:45:25
Quote Anchor link
Mar groen op 10/06/2010 16:04:31:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
if(!isset($_SESSION['name'])){
}

else
{
header("location:../main_login.php");
}

?>


Hier staat: Als de name niet bestaat doe niks, bestaat die wél ga dan naar login.
 
Mar groen

mar groen

10/06/2010 17:08:54
Quote Anchor link
o

ok nog 1 probleem!!!

hij registreert NIETS

geen enkele var word opgeslagen..

geen enkele sessie word opgeslagen NIETS

dus dan kan je moeilijk ingelogd zijn..
 
- SanThe -

- SanThe -

10/06/2010 18:16:06
Quote Anchor link
Waar vul je de session?
 
Mar groen

mar groen

10/06/2010 19:21:02
Quote Anchor link
login script

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
<?php
error_reporting(E_ALL);
ini_set('display_errors', 'On');
include "config.php";
session_start();
ob_start();
$tbl_name="login"; // Table name

// Connect to server and select databse.

mysql_connect("$host", "$username", "$pass")or die("cannot connect");
mysql_select_db("$db")or die("cannot select DB");

// Define $myusername and $mypassword
$myusername=$_POST['myusername'];
$mypassword=$_POST['mypassword'];
$gameid=$_POST['gameid'];

// To protect MySQL injection (more detail about MySQL injection)
$myusername = stripslashes($myusername);
$mypassword = stripslashes($mypassword);
$gameid = stripslashes($gameid);
$myusername = mysql_real_escape_string($myusername);
$mypassword = mysql_real_escape_string($mypassword);
$gameid = mysql_real_escape_string($gameid);

$sql="SELECT * FROM $tbl_name WHERE username='$myusername' and pass='$mypassword' and game_id='$gameid'";
$result=mysql_query($sql);

// Mysql_num_row is counting table row
$count = mysql_num_rows ($result);
// If result matched $myusername and $mypassword, table row must be 1 row

if($count==1){
// Register $myusername, $mypassword and redirect to file "login_success.php"
$_SESSION['name'] = $myusername;
$_SESSION['pass'] = $mypassword;
$_SESSION['gameid'] = $gameid;
header("location:login_success.php");
}

else {
echo  'Wrong Username or Password or game id try again <a href="http://www.gmforce.co.cc/main_login.php">back!</a>';
}


ob_end_flush();
?>
 

Pagina: 1 2 3 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.