Sessions werken niet goed

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Jeroen van de Ven

Jeroen van de Ven

27/02/2006 16:57:00
Quote Anchor link
Ik ben bezig met een site, en thuis bij mij (PHP5) werkt alles helemaal zonder problemen (het gaat nu om het inloggen) maar op de server van mijn hosting (PHP4.3) werkt het niet helemaal.

Hij logt wel in en zegt dat het goed is, soms worden de gegevens dan nog getoond zoals het hoort soms ook niet, maar in ieder geval als je op een link klikt vergeet hij het weer. Het gaat om www.ge64.nl/alpha/

Om even te testen, username Lalala en wachtwoord bla

Dit is de code voor het inloggen:

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
if(!empty($_POST['login_name']) AND !empty($_POST['login_pass']))
{

    $login['name'] = $_POST['login_name'];
    $login['pass'] = md5($_POST['login_pass']);

    connectdb();

    $query = "SELECT * FROM users WHERE `name` = '" . $login['name'] . "'";
    $result = mysql_query($query);
    $num = mysql_num_rows($result);
    if ($num < 1) { $loginattempt = "wrong user"; }

    mysql_close();

    $i=0;
    while ($i < $num) {

    $name = mysql_result($result,$i,'name');
    $pass = mysql_result($result,$i,'pass');

    $i++;
    }


    if($pass == $login['pass'])
    {

    $_SESSION['name'] = $login['name'];
    $_SESSION['pass'] = $login['pass'];

    $loginattempt = "successful";
    }

    else
    {
    $loginattempt = "wrong pass";
    }
}

?>


En hier is de code die kijkt of je ingelogd bent:

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
<?php
function islogin() {

if(!isset($_SESSION['name']) OR !isset($_SESSION['pass'])) {
return NULL;
}
else {

global $sqlhost, $sqluser, $sqlpass, $sqldb;

mysql_connect($sqlhost,$sqluser,$sqlpass);
mysql_select_db($sqldb);

$query = "SELECT * FROM users WHERE `name` = '" . $_SESSION['name'] . "'";
$result = mysql_query($query);
$num = mysql_numrows($result);

mysql_close();

$i=0;
while ($i < $num) {
$name = mysql_result($result,$i,'name');
$pass = mysql_result($result,$i,'pass');
$i++; }

if($pass == $_SESSION['pass']) {
return $_SESSION['name'];
} }
}

?>


Ziet iemand waarom het niet lukt? Ik heb echt alles geprobeerd


28-02-2006 12:10 - edit door PHPerik - highlighting van code toegevoegd voor leesbaarheid
Gewijzigd op 28/02/2006 12:11:00 door Jeroen van de Ven
 
PHP hulp

PHP hulp

24/12/2024 00:05:48
 

27/02/2006 16:58:00
Quote Anchor link
misshien wel omdat je nergens session_start() doet??

moet altijd hè...
 
PHP Newbie

PHP Newbie

27/02/2006 16:58:00
Quote Anchor link
wat zou er moeten staan, en wat staat er als het 'niet goed gaat'
 
Jeroen van de Ven

Jeroen van de Ven

27/02/2006 17:16:00
Quote Anchor link
Hm ik heb dit al eerder getypt maar het is blijkbaar niet overgekomen:

session_start(); staat helemaal bovenaan index.php, en alle handelingen gaan via index.php dus dat kan geen probleem zijn. Hij doet het bij mij thuis trouwens wel he.

Als het goed gaat staat er waar eerst de login form staat een lijstje met stats, maar als hij dus uitlogt zie je daar weer de login form Of je ziet het lijstje wel maar username is leeg en alle getallen zijn 0. Bij Home Base zou je een uitgebreidere lijst moeten vinden van de gebruiker die ingelogd is maar die doet het dus niet omdat hij je uitlogt zodra je op de link klikt.
 

27/02/2006 17:20:00
Quote Anchor link
oh, ik heb de fout

je doet :
$_SESSION['xxx']="bla";

maar dat kon in PHP4 nog niet
dus moest het zo:
$xxx="bla";
session_register("xxx");
 
Jeroen van de Ven

Jeroen van de Ven

27/02/2006 17:22:00
Quote Anchor link
Echt waar? Bedankt! Zal het eens aanpassen :D

Wat is eigenlijk de reden dat veel mensen liever PHP4 hebben dan PHP5?
 
Jeroen van de Ven

Jeroen van de Ven

27/02/2006 17:24: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
<?php
// Use of session_register() is deprecated
$barney = "A big purple dinosaur.";
session_register("barney");

// Use of $_SESSION is preferred, as of PHP 4.1.0
$_SESSION["zim"] = "An invader from another planet.";

// The old way was to use $HTTP_SESSION_VARS
$HTTP_SESSION_VARS["spongebob"] = "He's got square pants.";
?>



Dat staat op de PHP site, dus vanaf 4.10 moet het wel kunnen. Volgens phpinfo(); is het 4.3 die op de server staat...
 

27/02/2006 17:26:00
Quote Anchor link
omdat PHP 4 veel stabieler is omdat het veel langer doorontwikkeld is om de bugs eruit te halen,
maar voo ontwikkel ontgeving(je localhost),
is PHP 5 prima
 
Jeroen van de Ven

Jeroen van de Ven

27/02/2006 17:26:00
Quote Anchor link
Edit: foutje

Ik heb het geprobeerd:

$sname = $login['name'];
session_register("sname");
$spass = $login['pass'];
session_register("spass");
//$_SESSION['name'] = $login['name'];
//$_SESSION['pass'] = $login['pass'];

Maar het werkt nog steeds niet :(
Gewijzigd op 27/02/2006 17:27:00 door Jeroen van de Ven
 
- SanThe -

- SanThe -

27/02/2006 17:52:00
Quote Anchor link
Als je je error_reporting(E_ALL) aan hebt staan zou je een error moeten zien.

Het is niet $num = mysql_numrows($result);
maar $num = mysql_num_rows($result);
 
Jeroen van de Ven

Jeroen van de Ven

27/02/2006 17:54:00
Quote Anchor link
Die had ik al gevonden dacht ik, hoe kan hij er nou nog in zitten... en hoe kan het dat hij dan bij mij thuis wel werkt ... :S

Edit: Nog een keer alles gecheckt, gesaved, geupload, geen verschil :(
Gewijzigd op 27/02/2006 17:56:00 door Jeroen van de Ven
 
- SanThe -

- SanThe -

27/02/2006 17:58:00
Quote Anchor link
Zet eens bovenaan:

error_reporting(E_ALL);
 
Jeroen van de Ven

Jeroen van de Ven

27/02/2006 17:59:00
 

27/02/2006 19:43:00
Quote Anchor link
man, staat PHP daar wel goed aan

probeer eens gewoon:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php phpinfo(); ?>


ik vind dit wel heel raar, ik loop nog ff 1 keerjte goed jou script na
 
Kalle P

Kalle P

27/02/2006 19:47:00
Quote Anchor link
Ik kreeg eerst 2 fouten, toen refreshte die en kreeg ik een site te zien. Kortom hij werkt.
 
Jeroen van de Ven

Jeroen van de Ven

27/02/2006 19:54:00
Quote Anchor link
PHP werkt gewoon, maar het inloggen op de site niet :S

Zal ik even de hele source uploaden in een zip

http://www.ge64.nl/files/src.zip
Gewijzigd op 27/02/2006 20:03:00 door Jeroen van de Ven
 
PurpleMadness -

PurpleMadness -

27/02/2006 20:36:00
Quote Anchor link
Ik had dat een paar weken geleden ook, precies hetzelfde..

Ik wachtte en wachtte, tot ze het de volgende dag weer deden. =)

wat is je host eigenlijk?
 
Jeroen van de Ven

Jeroen van de Ven

28/02/2006 00:02:00
Quote Anchor link
PurpleMadness:
Ik had dat een paar weken geleden ook, precies hetzelfde..

Ik wachtte en wachtte, tot ze het de volgende dag weer deden. =)

wat is je host eigenlijk?


HJHosting.nl (goedkoop)
 
Jeroen van de Ven

Jeroen van de Ven

28/02/2006 10:15:00
Quote Anchor link
Ik heb een aantal dingen gevonden die het zouden moeten oplossen en die heb ik ook verbeterd maar nog logt hij niet goed in, de nieuwe source code staat op http://www.ge64.nl/files/src.zip
 
- SanThe -

- SanThe -

28/02/2006 10:19:00
Quote Anchor link
Ik denk niet dat er veel mensen zijn die de .zip gaan downloaden, uitpakken en dan nog bekijken. Van codes moet je gewoon het relavante stukje hier plaatsen.
 
Jeroen van de Ven

Jeroen van de Ven

28/02/2006 12:08:00
Quote Anchor link
Quote:


Ik heb ook de relevante code gepost, maar ik weet nog niet precies waar het aan ligt dus post ik ook de fele code maar...
 

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.