webForumDet fria alternativet

vad är fel?

11 svar · 270 visningar · startad av FunTrix

FunTrixMedlem sedan okt. 2003118 inlägg
#1

hejsan... får upp detta fel... någon som kan hjälpa till att fixa det?
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in d:\webhosting\upload\index.php on line 30

<?php 
session_start(); // Alltid överst på sidan 
 
include "conn.php"; // Databasanslutningen 
 
// Inloggning 
if (isset($_POST['uploadsubmit'])){

  // Krypteringsfunktion för inloggningen
  $passwd = ($_POST['passwd']);
  $pass = md5($passwd); 

 $sql = "SELECT id FROM uploadmembers
         WHERE user='{$_POST['user']}'
         AND pass='$pass'";
  $result = mysql_query($sql) or die("sql: $sql<br/>".mysql_error());
  
  // 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, 'id'); 
  $_SESSION['sess_user'] = $_POST['user']; 
  
  //Lägg in IP-nummer
   $ip = "UPDATE uploadmembers SET ip = '$_SERVER['REMOTE_ADDR']' WHERE user = '{$_POST['user']}'";
   mysql_query($ip) or die(mysql_error() . '<br>' . $sql);
   if(mysql_affected_rows() == 0) {
    $ip = "INSERT INTO uploadmembers SET ip = '$_SERVER['REMOTE_ADDR']'";
    mysql_query($ip) or die(mysql_error());
}
  //Lägg in 'Senast Inloggad'
   $senastinne = "UPDATE uploadmembers SET senastinne = now() WHERE user = '{$_POST['user']}'";
   mysql_query($senastinne) or die(mysql_error() . '<br>' . $sql);
   if(mysql_affected_rows() == 0) {
    $senastinne = "INSERT INTO uploadmembers SET senastinne = now()";
    mysql_query($senastinne) or die(mysql_error());
}
  header("Location: upload.php"); 
  exit; 
} 
 
// Utloggning 
if (isset($_GET['logout'])){ 
  session_unset(); 
  session_destroy(); 
  header("Location: index.php"); 
  exit; 
} 
?>
HelmertzMedlem sedan maj 2005353 inlägg
#2

Testa att byta ut '$_SERVER['REMOTE_ADDR']' mot '{$_SERVER['REMOTE_ADDR']}'

FunTrixMedlem sedan okt. 2003118 inlägg
#3

tyvärr, det gjorde ingen skillnad :(

aasahMedlem sedan mars 20034 471 inlägg
#4

Vilken rad är 30?

HelmertzMedlem sedan maj 2005353 inlägg
#5

$ip = "UPDATE uploadmembers SET ip = '$_SERVER['REMOTE_ADDR']' WHERE user = '{$_POST['user']}'"; om jag räknade rätt, det var den raden jag uppmärksammade innan.

aasahMedlem sedan mars 20034 471 inlägg
#6

Helmertz skrev:

$ip = "UPDATE uploadmembers SET ip = '$_SERVER['REMOTE_ADDR']' WHERE user = '{$_POST['user']}'"; om jag räknade rätt, det var den raden jag uppmärksammade innan.

Ah, OK. ip blir alltså lika med strängen $_SERVER[ sedan står det REMOTE_ADDR som den troligen undrar vad 17 det är. Eftersom ':et före R:et i REMOTE tolkas som strängslut. Ändra till:

$ip = "UPDATE uploadmembers SET ip = '".$_SERVER['REMOTE_ADDR']."' 
WHERE user = '".$_POST['user']."'";
FunTrixMedlem sedan okt. 2003118 inlägg
#7

hmm, ni är inne på rätt rad men inget av dem fungerar tyvärr :(

PeddaMedlem sedan juni 20006 032 inlägg
#8

Ändra

$ip = "UPDATE uploadmembers SET ip = '$_SERVER['REMOTE_ADDR']' WHERE user = '{$_POST['user']}'";
   	mysql_query("$ip") or die(mysql_error() . '<br>' . $sql);

till

mysql_query("UPDATE uploadmembers SET ip = '{$_SERVER['REMOTE_ADDR']}' WHERE user = '{$_POST['user']}'") or die(mysql_error() . '<br>' . $sql);
FunTrixMedlem sedan okt. 2003118 inlägg
#9

pedda.. hoppade ned till rad 32 då:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in d:\webhosting\uffe\upload\index.php on line 32

som är denna:
$ip = "INSERT INTO uploadmembers SET ip = '$_SERVER['REMOTE_ADDR']'";
mysql_query($ip) or die(mysql_error());

PeddaMedlem sedan juni 20006 032 inlägg
#10

Ja, du får göra likadant där.

mysql_query("INSERT INTO uploadmembers SET ip = '{$_SERVER['REMOTE_ADDR']}'") or die(mysql_error());

red/ och radera raden $ip = "INSERT INTO uploadmembers SET ip = '$_SERVER['REMOTE_ADDR']'";
Kan nog även funka med att ändra till

 $ip = "\"INSERT INTO uploadmembers SET ip = '{$_SERVER['REMOTE_ADDR']}'\"";
mysql_query($ip) or die(mysql_error());
HelmertzMedlem sedan maj 2005353 inlägg
#11

Samma fel där, byt ut

$ip = "INSERT INTO uploadmembers SET ip = '$_SERVER['REMOTE_ADDR']'";
mysql_query($ip) or die(mysql_error());

mot

$ip = "INSERT INTO uploadmembers SET ip = '{$_SERVER['REMOTE_ADDR']}'";
mysql_query($ip) or die(mysql_error());

alltså precis det jag skrev från början :P

FunTrixMedlem sedan okt. 2003118 inlägg
#12

tackar!

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