PHP-Prob in einem Forum

Stelo

Erfahrenes Mitglied
Hi,

ich hab ein Forum, und wenn ich dort neue Gruppen erstellen will zeigt es mir folgenden Fehler an:

Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING in /usr/export/www/vhosts/funnetwork/hosting/stylenart/wbblite/acp/group.php on line 177

ab Zeile 174 siehts so aus:

PHP:
$db->query("INSERT INTO bb".$n."_groups (groupid,title,canviewboard,canviewoffboard,canusesearch,canusepms,canstarttopic,canreplyowntopic,canreplytopic,canpostwithoutmoderation,caneditownpost,candelownpost,cancloseowntopic,candelowntopic,caneditowntopic,canpostpoll,canvotepoll,canuseavatar,canuploadavatar,canratethread,canviewmblist,appendeditnote,avoidfc,ismod,issupermod,canuseacp,maxpostimage,maxsigimage,maxsiglength,allowedavatarextensions,maxavatarwidth,maxavatarheight,maxavatarsize,maxusertextlength,canviewprofile,canviewcalender,canprivateevent,canpublicevent,canrateusers,chgpermission,canseepublic,canrelcalthread)");
   VALUES (NULL,'".addslashes($title)."','$canviewboard','$canviewoffboard','$canusesearch','$canusepms','$canstarttopic','$canreplyowntopic','$canreplytopic','$canpostwithoutmoderation','$caneditownpost','$candelownpost','$cancloseowntopic','$candelowntopic','$caneditowntopic','$canpostpoll','$canvotepoll','$canuseavatar','$canuploadavatar','$canratethread','$canviewmblist','$appendeditnote','$avoidfc','$ismod','$issupermod','$canuseacp','".intval($maxpostimage)."','".intval($maxsigimage)."','".intval($maxsiglength)."','".addslashes($allowedavatarextensions)."','".intval($maxavatarwidth)."','".intval($maxavatarheight)."','".intval($maxavatarsize)."','".intval($maxusertextlength)."','$canviewprofile','$canviewcalender','$canprivateevent','$canpublicevent','$canrateusers','$chgpermission','$canseepublic','".intval($canrelcalthread)."')");
   set_hilight_ids();
   header("Location: group.php?action=view&sid=$session[hash]");
   exit();
  }
  $result=$db->query("SELECT groupid, title FROM bb".$n."_groups ORDER BY groupid ASC");
  while ($row=$db->fetch_array($result)) $sel_chgperm.=makeoption($row['groupid'],$row['title']);
  eval("print(\"".gettemplate("group_add")."\");");
 }

Okay bitte helft mir, das is wirklich wichtig!
 
Durch die Syntaxhervorhebung hier im Forum solltest du eigentlich sofort merken wo der Fehler liegt!
Da hat sich bestimmt ein ' oder ein " zuviel eingeschlichen!

greetz
daddz
 
ehrlich gesagt finde ich denn fehler aber nich, is schon wieder lang her wo ich was mit php gemacht hab und ich bin mir nich mehr sicher was nun in ' oder " stehen muss .... kannste mir nich sagen wo der Fehler ist?! Denn irgendwie seh ichs auch nich an der einfärbung :(
 
PHP:
<?php
$db->query("INSERT INTO 
				bb".$n."_groups 
			   (groupid, 
			    title,
				canviewboard,
				canviewoffboard,
				canusesearch,
				canusepms,
				canstarttopic,
				canreplyowntopic,
				canreplytopic,
				canpostwithoutmoderation,
				caneditownpost,
				candelownpost,
				cancloseowntopic,
				candelowntopic,
				caneditowntopic,
				canpostpoll,
				canvotepoll,
				canuseavatar,
				canuploadavatar,
				canratethread,
				canviewmblist,
				appendeditnote,
				avoidfc,
				ismod,
				issupermod,
				canuseacp,
				maxpostimage,
				maxsigimage,
				maxsiglength,
				allowedavatarextensions,
				maxavatarwidth,
				maxavatarheight,
				maxavatarsize,
				maxusertextlength,
				canviewprofile,
				canviewcalender,
				canprivateevent,
				canpublicevent,
				canrateusers,
				chgpermission,
				canseepublic,
				canrelcalthread)
			VALUES 
				(NULL,
				 '".addslashes($title)."',
				 '$canviewboard',
				 '$canviewoffboard',
				 '$canusesearch',
				 '$canusepms',
				 '$canstarttopic',
				 '$canreplyowntopic',
				 '$canreplytopic',
				 '$canpostwithoutmoderation',
				 '$caneditownpost',
				 '$candelownpost',
				 '$cancloseowntopic',
				 '$candelowntopic',
				 '$caneditowntopic',
				 '$canpostpoll',
				 '$canvotepoll',
				 '$canuseavatar',
				 '$canuploadavatar',
				 '$canratethread',
				 '$canviewmblist',
				 '$appendeditnote',
				 '$avoidfc',
				 '$ismod',
				 '$issupermod',
				 '$canuseacp',
				 '".intval($maxpostimage)."',
				 '".intval($maxsigimage)."',
				 '".intval($maxsiglength)."',
				 '".addslashes($allowedavatarextensions)."',
				 '".intval($maxavatarwidth)."',
				 '".intval($maxavatarheight)."',
				 '".intval($maxavatarsize)."',
				 '".intval($maxusertextlength)."',
				 '$canviewprofile',
				 '$canviewcalender',
				 '$canprivateevent',
				 '$canpublicevent',
				 '$canrateusers',
				 '$chgpermission',
				 '$canseepublic',
				 '".intval($canrelcalthread)."')");
   set_hilight_ids();
   header("Location: group.php?action=view&sid=$session[hash]");
   exit();
  }
  $result=$db->query("SELECT groupid, title FROM bb".$n."_groups ORDER BY groupid ASC");
  while ($row=$db->fetch_array($result)) $sel_chgperm.=makeoption($row['groupid'],$row['title']);
  eval("print("".gettemplate("group_add")."\");");
 }  
 
?>
Also der Syntaxfehler sollte behoben sein.

greetz
daddz
 
Mein Vorschlag:
PHP:
<?php

		$query = '
			INSERT INTO
			        `bb'.mysql_real_escape_string($n).'_groups`
			  SET
			        `title`                    = "'.mysql_real_escape_string($title).'",
			        `canviewboard`             = "'.mysql_real_escape_string($canviewboard).'",
			        `canviewoffboard`          = "'.mysql_real_escape_string($canviewoffboard).'",
			        `canusesearch`             = "'.mysql_real_escape_string($canusesearch).'",
			        `canusepms`                = "'.mysql_real_escape_string($canusepms).'",
			        `canstarttopic`            = "'.mysql_real_escape_string($canstarttopic).'",
			        `canreplyowntopic`         = "'.mysql_real_escape_string($canreplyowntopic).'",
			        `canreplytopic`            = "'.mysql_real_escape_string($canreplytopic).'",
			        `canpostwithoutmoderation` = "'.mysql_real_escape_string($canpostwithoutmoderation).'",
			        `caneditownpost`           = "'.mysql_real_escape_string($caneditownpost).'",
			        `candelownpost`            = "'.mysql_real_escape_string($candelownpost).'",
			        `cancloseowntopic`         = "'.mysql_real_escape_string($cancloseowntopic).'",
			        `candelowntopic`           = "'.mysql_real_escape_string($candelowntopic).'",
			        `caneditowntopic`          = "'.mysql_real_escape_string($caneditowntopic).'",
			        `canpostpoll`              = "'.mysql_real_escape_string($canpostpoll).'",
			        `canvotepoll`              = "'.mysql_real_escape_string($canvotepoll).'",
			        `canuseavatar`             = "'.mysql_real_escape_string($canuseavatar).'",
			        `canuploadavatar`          = "'.mysql_real_escape_string($canuploadavatar).'",
			        `canratethread`            = "'.mysql_real_escape_string($canratethread).'",
			        `canviewmblist`            = "'.mysql_real_escape_string($canviewmblist).'",
			        `appendeditnote`           = "'.mysql_real_escape_string($appendeditnote).'",
			        `avoidfc`                  = "'.mysql_real_escape_string($avoidfc).'",
			        `ismod`                    = "'.mysql_real_escape_string($ismod).'",
			        `issupermod`               = "'.mysql_real_escape_string($issupermod).'",
			        `canuseacp`                = "'.mysql_real_escape_string($canuseapc).'",
			        `maxpostimage`             = "'.mysql_real_escape_string($maxpostimage).'",
			        `maxsigimage`              = "'.mysql_real_escape_string($maxsigimage).'",
			        `maxsiglength`             = "'.mysql_real_escape_string($maxsiglength).'",
			        `allowedavatarextensions`  = "'.mysql_real_escape_string($allowedavatarextensions).'",
			        `maxavatarwidth`           = "'.mysql_real_escape_string($maxavatarwidth).'",
			        `maxavatarheight`          = "'.mysql_real_escape_string($maxavatarheight).'",
			        `maxavatarsize`            = "'.mysql_real_escape_string($maxavatarsize).'",
			        `maxusertextlength`        = "'.mysql_real_escape_string($maxusertextlength).'",
			        `canviewprofile`           = "'.mysql_real_escape_string($canviewprofile).'",
			        `canviewcalender`          = "'.mysql_real_escape_string($canviewcalender).'",
			        `canprivateevent`          = "'.mysql_real_escape_string($canprivateevent).'",
			        `canpublicevent`           = "'.mysql_real_escape_string($canpublicevent).'",
			        `canrateusers`             = "'.mysql_real_escape_string($canrateusers).'",
			        `chgpermission`            = "'.mysql_real_escape_string($chgpermission).'",
			        `canseepublic`             = "'.mysql_real_escape_string($canseepublic).'",
			        `canrelcalthread`          = "'.mysql_real_escape_string($canrelcalthread).'"
			';
		$db->query($query);
		set_hilight_ids();
		header('Location: group.php?action=view&sid='.$session['hash']);
		exit();
	}
	$query = '
		SELECT
		        `groupid`,
		        `title`
		  FROM
		        `bb'.mysql_real_escape_string($n).'_groups`
		  ORDER BY
		        `groupid` ASC
		';
	$result = $db->query($query);
	while( $row = $db->fetch_array($result) ) {
		$sel_chgperm .= makeoption($row['groupid'], $row['title']);
		gettemplate('group_add');
	}

?>
 
Ich hab jetzt das von Gumbo eingefügt, jetzt kommt der Fehler:

Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING in /usr/export/www/vhosts/funnetwork/hosting/stylenart/wbblite/acp/group.php on line 267

Zeile 267 ist die letzte:

PHP:
$result=$db->query("SELECT groupid, title FROM bb".$n."_groups ORDER BY groupid ASC");
while ($row=$db->fetch_array($result)) $sel_chgperm.=makeoption($row['groupid'],$row['title']);
eval("print("".gettemplate("group_add")."");");

Ich find aber schon wieder keinen Fehler :(
 
Ich dachte, du hättest meinen Vorschlag übernommen, doch dort gibt es keine solch eine Zeile. Eigentlich sollte bereits die hervorgehobene Syntax Aufschluss über den Fehler geben.
 
ja ich hab auch deinen Vorschlag genommen, doch wieso sollte es diese Zeile nicht geben?
Das was ich vorhin hier rein kopiert hab war ja nur ein Teil des Codes.
Man ihr erzählt mir das alles, dass es ich es an der 'einfärbung' erkennen müsste, doch irgendwie tu ich das nicht ... :(
 
PHP:
$result=$db->query("SELECT groupid, title FROM bb".$n."_groups ORDER BY groupid ASC");
while ($row=$db->fetch_array($result)) $sel_chgperm.=makeoption($row['groupid'],$row['title']);
eval("print('".gettemplate("group_add")."');");

wäre es denn so richtig?
 
Zumindest in meinem Vorschlag steht so eine Zeile nicht – und du hast doch behauptet, du hättest meinen Vorschlag übernommen.
 
Zurück