Får upp ett error i denna fil.
någon som kan hjälpa mig? :)
Parse error: syntax error, unexpected $end in /home/a5317154/public_html/functions.php on line 70
<?php
function messageBox($text){
echo "<script language='javascript'>alert('$text');</script>";
{
function redirect($url){
echo "<meta http-equiv=\"refresh\" content=\"0;URL=".$url.".php>";
}
//SQL protection
function protect($string){
return mysql_real_escape_string(trim(strip_tags($string)));
}
function admin($level){
$sql = mysql_query("SELECT m_userlevel FROM members WHERE m_userlevel = ".$level." AND m_id = '".$_SESSION["sess_id"]."'") or die(mysql_error());
if(mysql_num_rows($sql) == 0){
return false;
} else {
return true;
}
/*Används så här*/
//if(admin(1000)){
// echo "Admin";
//}
}
function set_exp(){
$sql = mysql_query("SELECT m_exp,m_level,m_exp_to_lvl FROM members WHERE m_id ='".$_SESSION["sess_id"]."'") or die(mysql_error());
while($row = mysql_fetch_array($sql)){
if($row["m_level"] > 99){
$upt = mysql_query("UPDATE members SET m_exp_to_lvl = 500 WHERE m_id = ".$_SESSION["sess_id"]."") or die(mysql_error());
}
}
}
function warnings(){
$sql = mysql_query("SELECT m_warnings FROM members WHERE m_id = ".$_SESSION["sess_id"]."") or die(mysql_error());
$row = mysql_fetch_array($sql);
if($row["m_warnings"] == 3){
echo '<meta http-equiv="refresh" content="0;URL=banned.php>';
}
}
function userlevel(){
$sql = mysql_query("SELECT m_userlevel FROM members WHERE m_id = ".$_SESSION["sess_id"]."") or die(mysql_error());
$row = mysql_fetch_array($sql);
if($row["m_userlevel"] == 0){
header("Location:banned.php");
exit();
}
}
function style($string){
$string = htmlentities(stripslashes($string));
$string = str_ireplace("(a)","<img src='/smiley/angel.gif' />",$string);
$string = nl2br($string);
return $string;
}
Det felet betyder att php-tolkaren tycker att filen tar slut för tidigt. I regel betyder att du har för många startparenteser (antingen av vanlig typ eller måsvinge eller hakparentes) och/eller för få slutparenteser.
Det mest uppenbara jag kan se är att du har vänt slut-måsvingeparentesen till messageBox åt fel håll.
function messageBox($text){
echo "<script language='javascript'>alert('$text');</script>";
{ // <- Fel!
function messageBox($text){
echo "<script language='javascript'>alert('$text');</script>";
} // <- Rätt!
OT: När lär sig folk att skydda sig mot sql injections?!
Aldrig, aldrig så här:
"SELECT m_userlevel FROM members WHERE m_userlevel = ".$level." AND m_id = '".$_SESSION["sess_id"]."'"
utan:
"SELECT m_userlevel FROM members WHERE m_userlevel = ".mysql_real_escape_string($level)." AND m_id = '".mysql_real_escape_string($_SESSION["sess_id"])."'"
Fatal error: Cannot redeclare messagebox() (previously declared in /home/user/public_html/functions.php:3) in /home/user/public_html/functions.php on line 5
Det betyder att php-scriptet har försökt använda sig utav mer minne än den har till godo.
Har du sidan på en shared host så är det möjligt att du inte kan ändra på minnesmängden din PHP kan använda. Men du kan alltid testa. Lokalisera php.ini och leta efter:
memory_limit = 128M (kan vara ett annat värde).
Annars kanske du kan se om du kan uppgradera ditt paket och få mer minne till dina processer. Be snällt! :)
EDIT: Free web hosting...lycka till ;)
Slutligen får du se över din kod och försöka hitta den del av koden som äter upp minne.
Det finns funktioner i PHP för att se hur mycket en viss snutt kod brukar minne.
Se till att du inte har några filer som inkluderar varandra i en loop. Fil 1 inkluderar fil 2 som inkluderar fil 1... (Latvarianten är att bara använda include_once eller require_once. Det är sällan du vill göra annat ändå.)
Har åtgärdat förra felet, men nu får jag upp en annan error.
PHP Error Message
Fatal error: Cannot redeclare messagebox() (previously declared in /home/a5317154/public_html/functions.php:2) in /home/a5317154/public_html/functions.php on line 4
Free Web Hosting
<?php
function messageBox($text){
echo "<script language='javascript'>alert('$text');</script>";
}
function redirect($url){
echo "<meta http-equiv=\"refresh\" content=\"0;URL=".$url.".php>";
}
//SQL protection
function protect($string){
return mysql_real_escape_string(trim(strip_tags($string)));
}
function admin($level){
$sql = mysql_query("SELECT m_userlevel FROM members WHERE m_userlevel = ".$level." AND m_id = '".$_SESSION["sess_id"]."'") or die(mysql_error());
if(mysql_num_rows($sql) == 0){
return false;
} else {
return true;
}
/*Används så här*/
//if(admin(1000)){
// echo "Admin";
//}
}
function set_exp(){
$sql = mysql_query("SELECT m_exp,m_level,m_exp_to_lvl FROM members WHERE m_id ='".$_SESSION["sess_id"]."'") or die(mysql_error());
while($row = mysql_fetch_array($sql)){
if($row["m_level"] > 99){
$upt = mysql_query("UPDATE members SET m_exp_to_lvl = 500 WHERE m_id = ".$_SESSION["sess_id"]."") or die(mysql_error());
}
}
}
function warnings(){
$sql = mysql_query("SELECT m_warnings FROM members WHERE m_id = ".$_SESSION["sess_id"]."") or die(mysql_error());
$row = mysql_fetch_array($sql);
if($row["m_warnings"] == 3){
echo '<meta http-equiv="refresh" content="0;URL=banned.php>';
}
}
function userlevel(){
$sql = mysql_query("SELECT m_userlevel FROM members WHERE m_id = ".$_SESSION["sess_id"]."") or die(mysql_error());
$row = mysql_fetch_array($sql);
if($row["m_userlevel"] == 0){
header("Location:banned.php");
exit();
}
}
function style($string){
$string = htmlentities(stripslashes($string));
$string = str_ireplace("(a)","<img src='/smiley/angel.gif' />",$string);
$string = nl2br($string);
return $string;
}
?>
Är det där ALL kod? Det verkar som om det redan finns en funktion med namnet 'messagebox' någonstans. Säkert att du inte har en include/require nånstans som inkluderar en fil som råkar ha en funktion med samma namn?
Pröva att namnge messagebox till t ex messagebox2 och se om du får samma fel.