webForumDet fria alternativet

Vadan detta??? PHP!

3 svar · 394 visningar · startad av kalleklätter

kalleklätterMedlem sedan apr. 200354 inlägg
#1

Hejsan alla glada! :)

Jag har ett problem.
Jag har suttit och tricksat, klippt och klistrat ihop dels en gästbok och en login-grejj. Det har fungerat alldeles utmärkt på min dator hemma när jag har kört med IIE...

Nu har jag skaffat webbhotellplats med PHP-stöd 4.2.3.

När jag laddar upp mina scripts fungerar varken gästboken eller login-grejjen... :(

Hur kan det komma sig? När allting har fungerat klockrent innan lokalt på min dator?

Här är koden till login-grejjen som inte fungerar. det enda som händer när jag kör den är (d.v.s om jag har rätt anv. och lösen) är att jag kommer till "authorization required"-sidan.....likaså om jag försöker lägga till en användare...

här kommer koden till det scriptet...

index.php (conn.php har jag inte lagt ut för den är OK).

<?php 
session_start(); // Alltid överst på sidan 

include "conn.php"; // Databasanslutningen 

// Inloggning 
if (isset($_POST['submit'])){ 
  
  $sql = "SELECT id FROM members 
         WHERE user='{$_POST['user']}' 
         AND pass='{$_POST['passwd']}'"; 
  $result = mysql_query($sql); 
  
  // Hittades inte användarnamn och lösenord 
  // skicka till formulär med felmeddelande 
  if (mysql_num_rows($result) == 0){ 
    header("Location: index.php?badlogin="); 
    exit; 
  } 
  
  // Sätt sessionen med unikt index 
  $_SESSION['sess_id'] = mysql_result($result, 0); 
  $_SESSION['sess_user'] = $_POST['user']; 
  header("Location: welcome.php"); 
  exit; 
} 

// Utloggning 
if (isset($_GET['logout'])){ 
  session_unset(); 
  session_destroy(); 
  header("Location: index.php"); 
  exit; 
} 
?> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
<html> 
<head> 
<meta http-equiv="Content-Type" 
  content="text/html; charset=iso-8859-1"> 
<title>Index</title> 
</head> 
<body> 
<?php 

// Om inte inloggad visa formulär, annars logga ut-länk 
if (!isset($_SESSION['sess_user'])){ 

  echo "<h3>Logga in</h3>\n"; 
  
  // Visa felmeddelande vid felaktig inloggning 
  if (isset($_GET['badlogin'])){ 
    echo "Fel användarnamn eller lösenord!<br>\n"; 
    echo "Försök igen!\n"; 
  } 
  
?> 
<form action="index.php" method="post"> 
Användarnamn:<br> 
<input type="text" name="user"><br> 
Lösenord:<br> 
<input type="password" name="passwd"><br> 
<input type="submit" name="submit" value="Logga in"> 
</form> 
<br> 
<a href="register.php">Registera ny användare</a> 
<?php 

} else { 

  echo "<a href=\"index.php?logout=\">Du är redan inloggad. Logga ut</a>\n"; 

} 

?> 
</body> 
</html>

här kommer register .php

<?php 
session_start(); // Alltid överst på sidan 

include "conn.php"; // Databasanslutningen 

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

  // Tag bort eventuella blanksteg i början eller slutet 
  foreach($_POST as $key => $val){ 
    $_POST[$key] = trim($val); 
  } 

  //Kolla efter tomma fält 
  if (empty($_POST['user']) || empty($_POST['passwd']) || 
      empty($_POST['name']) || empty($_POST['email'])) { 
    $reg_error[] = 0; 
  } 
  
  // Kolla om användarnamnet är upptaget 
  $sql = "SELECT COUNT(*) FROM members WHERE user='{$_POST['user']}'"; 
  $result = mysql_query($sql); 
  if (mysql_result($result, 0) > 0) { 
    $reg_error[] = 1; 
  } 
  
  // Kolla om e-post kan tänkas vara ok 
  if (!preg_match('/^[-A-Za-z0-9_.]+[@][A-Za-z0-9_-]+([.][A-Za-z0-9_-]+)*[.][A-Za-z]{2,8}$/', $_POST['email'])) { 
    $reg_error[] = 2;    
  } 
  
  // Inga fel? Spara och logga in samt skicka till välkomstsida 
  if (!isset($reg_error)) { 
    $sql = "INSERT INTO members(user, pass, name, email) 
            VALUES('{$_POST['user']}', '{$_POST['passwd']}', '{$_POST['name']}', '{$_POST['email']}')"; 
    mysql_query($sql); 
    
    $_SESSION['sess_id'] = mysql_insert_id(); 
    $_SESSION['sess_user'] = $_POST['user']; 
    header("Location: welcome.php"); 
    exit;      
  
  } 

} else { 

  // Sätt variabler för tomt formulär 
  for ($i=0; $i<4; $i++) { 
    $back[$i] = ""; 
  } 

} 

$error_list[0] = "Alla fält är inte infyllda"; 
$error_list[1] = "Användarnamnet är upptaget"; 
$error_list[2] = "Felaktig e-postadress"; 

?> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
<html> 
<head> 
<meta http-equiv="Content-Type" 
  content="text/html; charset=iso-8859-1"> 
<title>Registrera dig</title> 
</head> 
<body> 
<h3>Registrera dig</h3> 
<?php 
if (isset($reg_error)){ 

  echo "Något blev fel:<br>\n"; 
  echo "<ul>\n"; 
  for ($i=0; $i<sizeof($reg_error); $i++) { 
    echo "<li>{$error_list[$reg_error[$i]]}</li>\n"; 
  } 
  echo "</ul>\n"; 
  
  $back[0] = $_POST['user']; 
  $back[1] = $_POST['passwd']; 
  $back[2] = $_POST['name']; 
  $back[3] = $_POST['email']; 

} 
?> 
<form action="register.php" method="post"> 
<table cellspacing="3"> 

<tr> 
<td>Användarnamn:</td> 
<td><input type="text" name="user" value="<?=$back[0] ?>"></td> 
</tr> 

<tr> 
<td>Lösenord:</td> 
<td><input type="text" name="passwd" value="<?=$back[1] ?>"></td> 
</tr> 

<tr> 
<td>Ditt namn:</td> 
<td><input type="text" name="name" value="<?=$back[2] ?>"></td> 
</tr> 

<tr> 
<td>E-postadress</td> 
<td><input type="text" name="email" value="<?=$back[3] ?>"></td> 
</tr> 

<tr> 
<td colspan="2" align="center"> 
  <input type="submit" name="submit" value="Spara dina uppgifter"> 
</td> 
</tr> 

</table> 
</form> 

</body> 
</html>

och här kommer welcome.php

<?php 
session_start(); // Alltid överst på sidan 

// Kolla om inloggad = sessionen satt 
if (!isset($_SESSION['sess_user'])){ 
  header("Location: failed.php"); 
  exit; 
} 

//foreach($_SESSION as $key => $val) {  Kollar om sessionen verkligen fungerar. Kan vara bra att ha om det blir nått strul.
//	  echo "$key = $val <br>";
//}

?> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
<html> 
<head> 
<meta http-equiv="Content-Type" 
  content="text/html; charset=iso-8859-1"> 
<title>V&auml;lkommen</title> 
</head> 
<body> 

V&auml;lkommen <?=$_SESSION['sess_user'] ?><br> 
<a href="index.php?logout=">Logga ut</a> 

</body> 
</html>

och sist failed.php (som jag alltid kommer till även om jag skriver in rätt anv. och lösen)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<font color="#FF0000" size="-2" face="Verdana, Arial, Helvetica, sans-serif">Authorization 
required!</font>
</body>
</html>

som sagt...det funkar lokalt på min dator men inte när jag tankar upp det på webbhotellet... =((

HJÄLP!!

:( :(

kalleklätterMedlem sedan apr. 200354 inlägg
#2

hehe ni behöver inte jobba ihjäl er... =)
jag hittade felet!!

nice nice. =)

MatteMedlem sedan aug. 20002 975 inlägg
#3

Kan vara intressant att veta vad det var för något. Andra kanske har samma problem.

kalleklätterMedlem sedan apr. 200354 inlägg
#4

problemet var väldigt enkelt...nästan pinsamt enkelt...brandväggen som fanns på datorn jag satt vid var inställd på att blockera alla cookies...svårare än så var det inte... =)

129 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)