Toon posts:

PHP Sessies

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

Verwijderd

Topicstarter
Hallo allemaal,

ik ben al een tijdje bezig aan een forum met sessies. Nu hebben deze altijd al gewerkt tot vandaag. Ik test mijn script nog maar eens en wat blijkt: ik kan niet meer inloggen.

Heb heel het scipt al afgezocht naar fouten maar kan er geen enkele vinden...
Heb thuis een eigen PHP servertje draaien en ik dacht dat het daar misschien aan lag. Ik dus naar de server, scherm eraan, muis en toetsenbord en kijken...

Wat blijkt nu?
Als ik in de URL-balk vanboven http://localhost ingeeft werken de sessies wel als ik er http://10.0.0.3 (de PC zijn IP adres) ingeef werken ze niet :S

Iemand een idee hoe ik dat kan oplossen, vind er niks van op het net !

Dank bij voorbaat,
Josdebos

  • poepkop
  • Registratie: Juni 2005
  • Laatst online: 19-04-2021
Ja ehh ik ben zelf niet de php-er van mn bedrijf, maar ik weet wel dat we er problemen mee hadden: zie hier een script met sessies... ik heb geen idee of je er wat aan hebt, maar hij werkt op ieder adres.
<?
$files = scandir('lux/');
$aantal_img = count($files) - 3;
if(!isset($_SESSION['viewlux'])) {
$_SESSION['viewlux'] = 1;
}else{
if(isset($_GET['next'])) {
if($_SESSION['viewlux'] >= $aantal_img) {
$_SESSION['viewlux'] = 1;
}else{
$_SESSION['viewlux'] = $_SESSION['viewlux'] + 1;
}
}elseif(isset($_GET['previous'])) {
if($_SESSION['viewlux'] - 1 < 1) {
$_SESSION['viewlux'] = $aantal_img;
}else{
$_SESSION['viewlux'] = $_SESSION['viewlux'] - 1;
}
}
}
?>

Athlon X8 3,6ghz 15000+ | 4 x 4GB PC 21000 | 2 x 4TB... < das pas patsen :-)


Verwijderd

Topicstarter
Zo had ik het ook gemaakt met $_SESSION['variable'], dit werkte eerst wel en nu dus niet.
Gebruik ik de session_register functie dan werkt het ook niet terwijl dat geen probleem zou mogen zijn...

Verwijderd

Topicstarter
Zal voor de gemakkelijkheid nog even het script posten:

Het werkt als volgt:

index.php?act=...&how=...&page=... waarbij act de map is, how het bestand en page de onderverdeling in het bestand om te openen.. redelijk ingewikkeld maar logisch in zijn geheel...

nu: op deze manier heb ik het bestand login.php geïnclude en dat is alsvolgt:

<?
if(isset($page)){
if($page == "enter"){
if(($_POST['login_username'] == "") OR ($_POST['login_password'] == "")){
if($_POST['login_username'] == ""){
$page = "form";
$error_user = "notfilled";
}
if($_POST['login_password'] == ""){
$page = "form";
$error_password = "notfilled";
}
}
else{
$user_sql = "SELECT * FROM users";
$user_res = mysql_query($user_sql);
if(mysql_num_rows($user_res) >= 1){
while($user = mysql_fetch_array($user_res)){
if($user['login'] == $_POST['login_username']){
if($_POST['login_password'] == $user['password']){
if($user['state'] == "active"){
$_SESSION['user'] = $user['usercode'];
if(isset($_POST['login_remember'])){
setcookie("user", $user['usercode'], time()+60*60*24*30);
}
echo "<script>\nsetTimeout(location='index.php','5000');\n</script>";
}
else{
$page = "form";
$error_user = "notactive";
}
}
else{
$page = "form";
$error_password = "mismatch";
}
}
else{
$page = "form";
$error_user = "mismatch";
}
}
}
else{
$page = "form";
$error_user = "mismatch";
}
}
}
if($page == "form"){
echo "<form name=\"" . $how . "\" method=POST action=index.php?act=members&how=login&page=enter>";
echo "<tr>";
echo "<td class=border_mc><font class=text><b>" . $lang_fill_fields_below . "</td>";
echo "</tr>";
echo "<tr>";
echo "<td><div class=border_nl><font class=text_red>" . $lang_attention_log_in . "</font></div></td>";
echo "</tr>";
echo "<tr>";
echo "<td align=center>";
echo "<table width=100% cellspacing=1 cellpadding=0>";
echo "<tr>";
echo "<td width=60% valign=top><font class=text><fieldset class=border_l><legend><b>" . $lang_log_in . "</b></legend>";
echo "<table width=100% cellspacing=1 cellpadding=2>";
if(isset($error_user)){
if($error_user == "mismatch"){
echo "<tr>";
echo "<td colspan=2><div class=border_nl><font class=text_red>" . $lang_user_mismatch . "</font></div></td>";
echo "</tr>";
}
if($error_user == "notfilled"){
echo "<tr>";
echo "<td colspan=2><div class=border_nl><font class=text_red>" . $lang_user_notfilled . "</font></div></td>";
echo "</tr>";
}
if($error_user == "notactive"){
echo "<tr>";
echo "<td colspan=2><div class=border_nl><font class=text_red>" . $lang_user_notactive . "</font></div></td>";
echo "</tr>";
}
}
echo "<tr>";
echo "<td><font class=text><b>" . $lang_username . "</b></font></td>";
echo "<td><input type=text name=\"" . $how . "_username\" size=30></td>";
echo "</tr>";
if(isset($error_password)){
if($error_password == "mismatch"){
echo "<tr>";
echo "<td colspan=2><div class=border_nl><font class=text_red>" . $lang_password_mismatch . "</font></div></td>";
echo "</tr>";
}
if($error_password == "notfilled"){
echo "<tr>";
echo "<td colspan=2><div class=border_nl><font class=text_red>" . $lang_password_notfilled . "</font></div></td>";
echo "</tr>";
}
}
echo "<tr>";
echo "<td><font class=text><b>" . $lang_password . "</b></font></td>";
echo "<td><input type=password name=\"" . $how . "_password\" size=30></td>";
echo "</tr>";
echo "</table>";
echo "</fieldset></font></td>";
echo "<td width=60% valign=top><font class=text><fieldset class=border_l><legend><b>" . $lang_options . "</b></legend>";
echo "<table width=100% cellspacing=1 cellpadding=2>";
echo "<tr>";
echo "<td><input type=checkbox name=\"" . $how . "_remember\" value=yes checked></td>";
echo "<td><font class=text><b>" . $lang_remember . "</b><br>" . $lang_shared_computers . "</font></td>";
echo "</tr>";
echo "</table>";
echo "</fieldset></font></td>";
echo "</tr>";
echo "</table>";
echo "</td>";
echo "</tr>";
echo "<tr>";
echo "<td align=center class=border_mc><input type=submit value=\"" . $lang_log_in . "\" name=\"" . $how . "_submit\"></td>";
echo "</tr>";
echo "</form>";
}
}
?>

Zoals je ziet redelijk mooi gestructureerd....

Misschien ligt het hieraan dat de sessie-info verdwijnt: <script>\nsetTimeout(location='index.php','5000');\n</script>

Het is maar een idee, en ik ben er helemaal niet zeker van :d

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Het is niet de bedoeling dat maar alle code hier neerplempt en verwacht (oid) dat men het even voor je gaat oplossen.

Sowieso is je topic verkeerd geplaatst; PHP topics gaan per definitie in Programming & Webscripting. Dit topic wordt echter niet gemoved, maar gaat op slot. Ik verwacht van je dat ALS je besluit om een topic te openen in Programming & Webscripting, je eerst de betreffende FAQ's leest, zodat je topicstart iets duidelijker is :)

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Overigens kan je PHP code (en andere programmeer-code) tussen [norml]
PHP:
1
PHP Code blok
[/] zetten. Zie ook: Overzicht van UBB-codes


PHP:
1
2
3
4
5
6
7
8
9
<?
if(isset($page)){
if($page == "enter"){
if(($_POST['login_username'] == "") OR ($_POST['login_password'] == "")){
if($_POST['login_username'] == ""){
$page = "form";
$error_user = "notfilled";
}
?>

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.

Pagina: 1

Dit topic is gesloten.