проблема с условием <? if(..): ?>

sunyang

Мастер
Регистрация
25 Апр 2009
Сообщения
440
Реакции
30
Хочу добавить страницу в админку, но где-то крупно косячу с условиями типа <? if(..:( ?>
Добавляю страницу "голосования" (добавляю условие если часть url адреса = vote ($GET['p'] = vote) а сам адрес сайт.ру/?q=admin&p=vote) в самый верх кода где условия выборки страниц, но почему-то при переходе на вкладку "голосования" помимо содержимого этой вкладки еще добавляется ниже содержимое основной вкладки.

вот код:

PHP:
<? if($p=='vote'): ?>
	
		<div class="toplink">
			<a href="?q=admin">Все пользователи</a> <a href="?q=admin&p=news">Новости</a> <b>Голосование</b></a>
		</div>
		
		<br>
        АДМИНКА ГОЛОСОВАНИЯ!<br>
        <? endif ?>

    
<? if($p=='news'): ?>
	
		<div class="toplink">
			<a href="?q=admin">Все пользователи</a> <b> Новости </b><a href="?q=admin&p=vote">Голосование</a>
		</div>
		
		<br>
		
		<? if(isset($_GET['act']) && $_GET['act']=='add'): ?>
		
			<div><a href="?q=admin&p=news">Все новости</a> | <b>Добавить новость</b></div>
			
			<br>
			
			<? actNote() ?>
			
			<table cellspacing="0" cellpadding="2" border="0">
			<form method="post">
			<input type="hidden" name="submit" value="news">
			<input type="hidden" name="postid" value="insert">
			<tr>
				<td align="right">* Тема:</td>
				<td><input type="text" name="title" class="text"></td>
			</tr>
			<tr>
				<td align="right">* Новость :</td>
				<td><textarea style="width:400px; height:200px" name="texts"></textarea></td>
			</tr>
			<tr>
				<td colspan=2 align="center">
					<input type="submit" value="Отправить" class="button">
					<input type="reset" value="Сброс" class="button">
				</td>
			</tr>
			</form>
			</table>
		
		<? elseif(isset($_GET['act']) && $_GET['act']=='edit' && !empty($_GET['edit']) &&
		          is_numeric($_GET['edit']) && $getEdit = $sql->selectRow('SELECT * FROM ?_news WHERE id=?d', $_GET['edit'])): ?>
		
			<div><a href="?q=admin&p=news">Все новости</a> | <b>Редактировать новость</b></div>
			
			<br>
			
			<? actNote() ?>
			
			<table cellspacing="0" cellpadding="2" border="0">
			<form method="post">
			<input type="hidden" name="submit" value="news">
			<input type="hidden" name="postid" value="update">
			<input type="hidden" name="saveid" value="<?=$getEdit['id']?>">
			<tr>
				<td align="right">* Тема:</td>
				<td><input type="text" name="title" value="<?=$getEdit['title']?>"></td>
			</tr>
			<tr>
				<td align="right">* Новость:</td>
				<td><textarea style="width:400px; height:200px" name="texts"><?=$getEdit['message']?></textarea></td>
			</tr>
			<tr>
				<td colspan=2 align="center">
					<input type="submit" value="Редактировать" class="button">
					<input type="button" value="Отменить" onClick="location.href='?q=admin&p=news&page=<?=$page?>'" class="button">
				</td>
			</tr>
			</form>
			</table>
				
		<? else: ?>
		
			<div><b>Все новости</b> | <a href="?q=admin&p=news&act=add">Добавить новость</a></div>
		
			<br>
		
			<? 
			 $limit  = 20;
			 $total  = $sql->selectCell('SELECT COUNT(*) FROM ?_news');
			 if($page>1){
			  	$total_pages = ceil($total/$limit);
				if($page>$total_pages) $page = $total_pages;
			 }
			 $from = $page * $limit - $limit;
			 $result = $sql->select('SELECT * FROM ?_news ORDER BY edate DESC LIMIT ?d, ?d', $from, $limit);
			 if($result): ?>
			
			<table cellspacing="0" cellpadding="5" border="0" width="100%">
			<? foreach($result as $k=>$v): ?>
			<tr><td><strong><?=$v['title']?></strong></td></tr>
			<tr><td><em><?=substr($v['edate'],0,-3)?></em></td></tr>
			<tr><td><?=$v['message']?></td></tr>
			<tr>
				<td height="30" valign="top">
					<a href="?q=admin&p=news&act=edit&edit=<?=$v['id']?>&page=<?=$page?>"><img src="images/edit.png" border="0"></a>
					<a href="?q=admin&p=news&drop=<?=$v['id']?>&page=<?=$page?>" onclick="return window.confirm('Уыерены?')"><img src="images/drop.png" border="0"></a>
				</td>
			</tr>
			<tr>
				<td><hr size=1 noshade></td>
			</tr>
			<? endforeach ?>
			</table>
			
			<?=pages($page, $limit, $total, "?q=admin&p=news&")?>
			
			<? endif ?>
        
        <? endif ?>
	
	<? elseif($p=='images' && !empty($_GET['id']) && is_numeric($_GET['id']) && $getUser = $sql->selectRow('SELECT * FROM ?_users WHERE id=?d', $_GET['id'])): ?>
		
	
		<div class="toplink">
			<b>Все пользователи</b> <a href="?q=admin&p=news">Новости</a> <a href="?q=admin&p=vote">Голосование</a>
		</div>
		
		<br>
		<a href="?q=admin">Назад</a>
		<br>
			
		<!-- base photos  -->
		
		<h3>Основные фотки</h3>
		
		<? if($basePhotos = $sql->select('SELECT * FROM ?_avatar WHERE user_id=?d', $_GET['id'])): $from = 0 ?>
		
		<table cellspacing="0" cellpadding="5">
		<? for($r=0; $r<100; $r++): ?>
		<tr>
			<? for($c=0; $c<5; $c++):
				if($from<count($basePhotos)): 
				   $v = $basePhotos[$from] ?>
			<td width="140" height="140" align="center">
				<? if($v['checked']==1): ?>
					<img src="<?=$upload_phbase.$v['imgsrc']?>" style="border:2px solid #b22222" height="120">
					<div style="margin-top:4px; text-align:center">
						<a href="?q=admin&p=images&id=<?=$_GET['id']?>&drop=b_<?=$v['id']?>" onClick="return window.confirm('Уверены?')"><img src="images/drop.png" border="0"></a>
					</div>
				<? else: ?>
					<img src="<?=$upload_phbase.$v['imgsrc']?>" height="120">
					<div style="margin-top:4px; text-align:center">
						<a href="?q=admin&p=images&id=<?=$_GET['id']?>&base=<?=$v['id']?>">Сдл. онов</a> |
						<a href="?q=admin&p=images&id=<?=$_GET['id']?>&drop=b_<?=$v['id']?>" onClick="return window.confirm('Уверены')"><img src="images/drop.png" border="0"></a>
					</div>
				<? endif ?>
			</td>
			<?  endif; $from++; endfor; if($from>=count($basePhotos)) break ?>
		</tr>
		<? endfor ?>
		</table>
		
		<? else: ?>
		
		<br>
		
		<div align="center">У пользователья нет основного фото</div>
		
		<? endif ?>
		
		<!--/base photos  -->
		
		<hr size=1 noshade>
		
		<!-- all user photos -->
		<? if($getAlbums = $sql->select('SELECT * FROM ?_album WHERE user_id=?d', $_GET['id'])): ?>
			
			<h3>Альбомы пользователя (<?=count($getAlbums)?>)</h3> 
					
			<? foreach($getAlbums as $k=>$v): ?>
			<h3 style="background:#eaeaea; padding:5px">
				<?=$v['title']?>
				(<?=$sql->selectCell('SELECT COUNT(*) FROM ?_image WHERE album_id=?d', $v['id'])?>)
				<a href="?q=admin&p=images&id=<?=$_GET['id']?>&dropalbum=<?=$v['id']?>" onClick="return window.confirm('Уверены?')"><img src="images/drop.png" border="0"></a>
			</h3>
			
			<!-- album images -->
			<? if($getImages = $sql->select('SELECT * FROM ?_image WHERE album_id=?d', $v['id'])): $from = 0 ?>
			<table cellspacing="0" cellpadding="5">
			<? for($r=0; $r<100; $r++): ?>
			<tr>
				<? for($c=0; $c<5; $c++):
					if($from<count($getImages)): 
					   $v = $getImages[$from] ?>
				<td>
					<img src="<?=$upload_thumb.$v['imgsrc']?>" height="120"> 
					<div style="margin-top:4px; text-align:center">
						<a href="?q=admin&p=images&id=<?=$_GET['id']?>&drop=i_<?=$v['id']?>" onClick="return window.confirm('Уыерены?')"><img src="images/drop.png" border="0"></a>
					</div>
				</td>
				<?  endif; $from++; endfor; if($from>=count($getImages)) break ?>
			</tr>
			<? endfor ?>
			</table>
			
			<? endif ?>
			<!-- /album images -->
			
			<? endforeach ?>
		
		<? else: ?>
		
			<br>
		
			<div align="center"> У пользователя нет ещё альбомов</div>
		<? endif ?>
		<!--/all user photos -->
	
	<? else: ?>
	
	<br>
	
		<div class="toplink">
			<b>Все пользователи</b> <a href="?q=admin&p=news">Новости</a> <a href="?q=admin&p=vote">Голосование</a>
		</div>
		
	<br>
	
		<? if(!empty($_GET['edit']) && is_numeric($_GET['edit']) && $getEdit = $sql->selectRow('SELECT * FROM ?_users WHERE id=?d', $_GET['edit'])): ?>
		
			<div style="font-weight:bold; font-size:14px; background-color:#CCCCCC;">Редактировать пользователья | <a href="?q=admin" class="some" style="font-size:14px">Отменить</a></div>
			
			<br>
	

<table cellspacing="0" cellpadding="5" border="0">
			<form method="post">
			<input type="hidden" name="submit" value="update_profile">
			<input type="hidden" name="saveid" value="<?=$getEdit['id']?>">
			<tr>
				<td class="name">Основное фото:</td>
				<td>
				<? if($geEditBasePhoto = $sql->selectCell('SELECT imgsrc FROM ?_avatar WHERE checked=1 AND user_id=?d', $getEdit['id'])): ?>
				
					<img src="<?=$upload_phbase.$geEditBasePhoto?>" height="120">
				
				<? endif ?>
				</td>
			</tr>
			<tr>
				<td class="name">E-mail:</td>
				<td><?=$getEdit['email']?></td>
			</tr>
			<tr>
				<td class="name">Login:</td>
				<td><?=$getEdit['login']?></td>
			</tr>
			<tr>
				<td class="name">Дата регистрации:</td>
				<td><?=$getEdit['edate']?></td>
			</tr>
			<tr>
				<td class="name">Последный визит</td>
				<td><?=$getEdit['mdate']?></td>
			</tr>
			<tr bgcolor="#eaeaea">
				<td class="name">Голосов:</td>
				<td><input type="text" name="rating" value="<?=$getEdit['rating']?>"></td>
			</tr>
            <tr bgcolor="#fdf3ca">
				<td class="name">Телефон:</td>
				<td><input type="text" name="phone" value="<?=$getEdit['phone']?>"> <font color="#133c51">*телефон в формате 79000000000 (11 цифр без знака +)</font></td>
			</tr>
			<tr>
				<td class="name">Имя:</td>
				<td><input type="text" name="firstname" value="<?=$getEdit['firstname']?>"></td>
			</tr>
			<tr>
				<td class="name">Фамилия:</td>
				<td><input type="text" name="lastname" value="<?=$getEdit['lastname']?>"></td>
			</tr>
			<tr>
				<td class="name">День рождения:</td>
				<td>
					<? $date_parse = explode('-', $getEdit['bdate']) ?>
					<select name="b_date">
					<? for($i=1; $i<=31; $i++): ?>
					<? $slc = ($date_parse[2]==$i) ? ' selected' : '' ?>
					<option value="<?=$i?>"<?=$slc?>><?=$i?></option>
					<? endfor ?>
					</select>
					<select name="b_month">
					<? foreach($months as $k=>$v): ?>
					<? $slc = ($date_parse[1]==$i) ? ' selected' : '' ?>
					<option value="<?=$k?>"<?=$slc?>><?=$v?></option>
					<? endforeach ?>
					</select>
					<select name="b_year">
					<? for($i=1950; $i<=1997; $i++): ?>
					<? $slc = ($date_parse[0]==$i) ? ' selected' : '' ?>
					<option value="<?=$i?>"<?=$slc?>><?=$i?></option>
					<? endfor ?>
					</select>
				</td>
			</tr>
			<tr>
				<td class="name">Love:</td>
				<td>
					<select name="slove">
					<? foreach($slove as $k=>$v): ?>
						<? if($getEdit['slove']==$k): ?>
						<option value="<?=$k?>" selected><?=$v?>
						<? else: ?>
						<option value="<?=$k?>"><?=$v?>
						<? endif ?>
					<? endforeach ?>
					</select>
				</td>
		   </tr>
		   <tr>
				<td class="name">ICQ:</td>
				<td><input type="text" name="icq" value="<?=$getEdit['icq']?>"></td>
			</tr>
			<tr>
				<td class="name">Увелечение хобби:</td>
				<td><textarea style="width:350px; height:70px" name="hobbi"><?=$getEdit['hobbi']?></textarea></td>
			</tr>
			<tr>
				<td class="name">Работа учеба:</td>
				<td><textarea style="width:350px; height:70px" name="work"><?=$getEdit['work']?></textarea></td>
			</tr>
			<tr>
				<td class="name">Любимая музыка:</td>
				<td><textarea style="width:350px; height:70px" name="love_music"><?=$getEdit['love_music']?></textarea></td>
			</tr>
			<tr>
				<td class="name">Любимые фильмы:</td>
				<td><textarea style="width:350px; height:70px" name="love_movie"><?=$getEdit['love_movie']?></textarea></td>
			</tr>
			<tr>
				<td class="name">Любимые книги:</td>
				<td><textarea style="width:350px; height:70px" name="love_books"><?=$getEdit['love_books']?></textarea></td>
			</tr>
			<tr>
				<td class="name">Любимый цвет</td>
				<td><input type="text" name="love_color" size="50" value="<?=$getEdit['love_color']?>"></td>
			</tr>
			<tr>
				<td class="name">Девиз:</td>
				<td><textarea style="width:350px; height:70px" name="deviz"><?=$getEdit['deviz']?></textarea></td>
			</tr>
			<tr>
				<td class="name">Обо мне:</td>
			  <td><textarea style="width:350px; height:70px" name="i_am"><?=$getEdit['i_am']?></textarea></td>
			</tr>
			<tr>
				<td class="name">Моя мечта:</td>
				<td><textarea style="width:350px; height:70px" name="my_dream"><?=$getEdit['my_dream']?></textarea></td>
			</tr>
			<tr>
				<td class="name">Город:</td>
				<td><input type="text" name="city" value="<?=$getEdit['city']?>"></td>
			</tr>
			<tr>
				<td class="name">Область:</td>
				<td><input type="text" name="district" value="<?=$getEdit['district']?>"></td>
			</tr>
			<tr>
				<td class="name">Страна:</td>
				<td><input type="text" name="country" value="<?=$getEdit['country']?>"></td>
			</tr>
			<tr>
				<td colspan=2 align="right">
					<input type="submit" value="Сохранить" class="button">
					<input type="button" value="Отменить" onClick="location.href='?q=admin&page=<?=$page?>'" class="button">
				</td>
			</tr>
			</form>
			</table>
		<br />
        <!--SEND MEssage-->     
<?  
$userid = $getEdit['id'];
$result = mysql_query("SELECT * FROM `gs_usermsg` WHERE id='$userid'");
$row = mysql_fetch_assoc($result);
$theme = $row['title'];
$message = $row['message'];
$onoff = $row['onoff'];
?>
<? if(intval($onoff)==1): ?>
        <div style=" width:300px; background-color:#FAEABE; font-weight:bolder">Текущее уведомление:</div>
<div style="width:500px; background-color:#f5fbff; font-weight:bolder; border:#79bbef dashed 1px; padding:10px;">
        <strng>ТЕМА: </strong><font color="#996600"><?=$theme?></font><br /><br />
        <strong>Сообщение: </strong><br />
        <font color="#996600"><?=$message?></font>
</div><br />
    <? elseif(intval($onoff)==2): ?>  
        <div style=" width:300px; background-color:#FAEABE; font-weight:bolder">Текущее уведомление:</div>
        <div style="width:300px; background-color:#f5fbff; font-weight:bolder; border:#79bbef dashed 1px; padding:10px;">
        <strng><font color="#996600">Для пользователя непрочитанных уведомлений нет</font><br />
        </div><br />
        <? endif ?>
<form action="" method="post"> 
<input type="hidden" name="nomsg" value="2">
<input name=change type=submit value="отключить уведомление"> 
</form>
<?
if(isset($_POST['nomsg']))
		{
		$sql_no = mysql_query("UPDATE `gs_usermsg` SET `onoff` = '2' WHERE `gs_usermsg`.`id` ='$userid' LIMIT 1");
		header("Location: ?q=admin&page=1&edit=$userid");
		}
		 ?>
     <br  />
<div style=" width:500px; background-color:#FAEABE; font-weight:bolder">Уведомление для пользователя:</div><br  />
        
        <?
		function replacer ($text) { // ФУНКЦИЯ очистки кода
$text=str_replace(" ",' ',$text);
$text=str_replace(">",'&gt;',$text);
$text=str_replace("<",'&lt;',$text);
$text=str_replace("\"",'&quot;',$text);
$text=preg_replace("/\n\n/",'<p>',$text);
$text=preg_replace("/\n/",'<br>',$text);
$text=preg_replace("/\\\$/",'$',$text);
$text=preg_replace("/\r/",'',$text);
$text=preg_replace("/\\\/",'\',$text);
$text=str_replace("\r\n","<br> ",$text);
$text=str_replace("\n\n",'<p>',$text);
$text=str_replace("\n",'<br> ',$text);
$text=str_replace("\t",'',$text);
$text=str_replace("\r",'',$text);
$text=str_replace('   ',' ',$text);
do {$text=str_replace("<br><br><br>","<br>",$text);} while (preg_match("/<br><br><br><br>/i",$text));
do {$text=str_replace("   "," ",$text);} while (preg_match("/   /i",$text));
$text=str_replace("\t",' ',$text);
$text=str_replace("\r",' ',$text);
$text=str_replace('   ',' ',$text);
$text=rtrim($text);
return $text; }
		
		
		if(isset($_POST['submit']) && $_POST['submit']=='send_msg')
{
$msg_title  = replacer($_POST['theme']);
$msg        = replacer($_POST['msg']);

				if($sql = mysql_query("UPDATE `gs_usermsg` SET `title` = '$msg_title',
`message` = '$msg ' WHERE `gs_usermsg`.`id` ='$userid' LIMIT 1 ") && mysql_query("UPDATE `gs_usermsg` SET `onoff` = '1' WHERE `gs_usermsg`.`id` ='$userid' LIMIT 1 ")) {
				header("Location: ?q=admin&page=1&edit=$userid");
				}
				else echo "Ошибка отправки!";
}

		?>       
        	<!-- send form -->
<table cellspacing="0" cellpadding="5" border="0" style="border:#FF9900 dashed 1px;" width="500px">
	<form method="post">
	<input type="hidden" name="submit" value="send_msg">
	<tr>
		<td class="name">Тема сообщения:</td>
		<td><input type="text" name="theme" class="text" style="border:#aaaaaa solid 1px; background-color:#e0f7d0;" onfocus="this.style.borderColor='#ff8706'; this.style.backgroundColor='#fee9bc'" onblur="this.style.borderColor='#aaaaaa'; this.style.backgroundColor='#e0f7d0'"></td>
	</tr>
	<tr>
		<td class="name">Текст сообщения:</td>
		<td><textarea style="width:350px; height:70px; border:#aaaaaa solid 1px; background-color:#e0f7d0;" onfocus="this.style.borderColor='#ff8706'; this.style.backgroundColor='#fee9bc'" onblur="this.style.borderColor='#aaaaaa'; this.style.backgroundColor='#e0f7d0'" name="msg"></textarea></td>
	</tr>
	<tr>
		<td colspan=2 align="right">
			<input type="submit" value="отправить" class="button">		</td>
	</tr>
	</form>
</table>
    
        <!-- <-- SEND MEssage-->
  
<? else: ?>

<table width="100%" border="0" cellspacing="5" cellpadding="0">
  <tr>
    <td width="50%" style="border-right:#333333 solid 1px;">
<!-- максимальное количество юзеров для участия в конкурсе -->
            <?
// берем из gs_maxids значение idmax (для юзеров id =1)
$result = mysql_query("SELECT idmax FROM `gs_maxids` WHERE id=1");
$row = mysql_fetch_assoc($result);
$maxusers = $row['idmax']; // максимальное кол-во юзеров равно значению idmax для id 1 (ХРАНИТСЯ В БАЗЕ)
?>
            
            <br />
            <div style="font-size:11px"> <strong>Установите максимально возможное количество юзеров для участия в текущем этапе</strong><br />
            <font color="#FF0000">**</font> Регистрация на сайте запрещается, когда количество зарегестрированных пользователей на сайте станет равным указанному<br />
            Укажите количество цифрой. Не более 100!<br /><br />
          <font color="#FF0000"> <strong> Предыдущее значение: <font color="#000000"><?=$maxusers?> </font></strong></font><br />
</div><br />
<form action="" method="post"> 
<input  type=text name=newvalue value=""/> 
<input name=change type=submit value="изменить"> 
</form>
<?
if(isset($_POST['newvalue']))   
{
$new_id = !empty($_POST['newvalue'])?$_POST['newvalue']:null;
// если введенное значение числовое...
if(is_numeric($new_id)&&settype($new_id, "integer")==true) {
//коннект к базе уже был произведен ранее, поэтому просто обновляем значение id
$new = mysql_query("UPDATE `gs_maxids` SET `idmax` = '$new_id' WHERE `gs_maxids`.`id` =1 LIMIT 1");
echo 'Готово. Заменено на '. $new_id; 
}
// а ежели нет, то...
else { echo('<b>Введите целое число.</b>');}
}
?>
<br />
            <!-- максимальное количество юзеров для участия в конкурсе -->
    </td>
    <td>
           
	  <!-- максимальное разрешенное количество альбомов -->
<?
// берем из gs_maxids значение idmax (для альбомов id =2)
$result = mysql_query("SELECT idmax FROM `gs_maxids` WHERE id=2");
$row = mysql_fetch_assoc($result);
$maxalbum = $row['idmax']; // максимальное кол-во альбомов равно значению idmax для id 2 (ХРАНИТСЯ В БАЗЕ)
?>
            <br />
            <div style="font-size:11px"> <strong>Укажите количество альбомов, которое разрешено добавлять пользователям</strong><br />
            Укажите количество цифрой. Не более 5!<br /><br />
          <font color="#FF0000"> <strong> Предыдущее значение: <font color="#000000"><?=$maxalbum?> </font></strong></font><br />
</div><br />
<form action="" method="post"> 
<input  type=text name=newalbum value=""/> 
<input name=change type=submit value="изменить"> 
</form>
<?
if(isset($_POST['newalbum']))   
{
$alb_id = !empty($_POST['newalbum'])?$_POST['newalbum']:null;
// если введенное значение числовое...
if(is_numeric($alb_id)&&settype($alb_id, "integer")==true) {
//коннект к базе уже был произведен ранее, поэтому просто обновляем значение id
$wra_id = mysql_query("UPDATE `gs_maxids` SET `idmax` = '$alb_id' WHERE `gs_maxids`.`id` =2 LIMIT 1");
echo 'Готово. Заменено на '. $alb_id; 
}
// а ежели нет, то...
else { echo('<b>Введите целое число.</b>');}
}
?>
<br />
            <!-- максимальное разрешенное количество альбомов --> 
    </td>
  </tr>
</table>
<hr  />

<table width="100%" border="0" cellspacing="5" cellpadding="0">
  <tr>
    <td width="50%" style="border-right:#333333 solid 1px;">
      <!-- максимальное разрешенное количество фоток в альбоме -->
<?
$result = mysql_query("SELECT idmax FROM `gs_maxids` WHERE id=3");
$row = mysql_fetch_assoc($result);
$maximage = $row['idmax']; // {максимальное кол-во фоток} равно значению idmax для id 3 (ХРАНИТСЯ В БАЗЕ)
		  ?> 
            <br />
            <div style="font-size:11px"> <strong>Укажите количество фоток, которое разрешено закгружать пользователям в каждый альбом</strong><br />
            Укажите количество цифрой. Не более 100!<br /><br />
          <font color="#FF0000"> <strong> Предыдущее значение: <font color="#000000"><?=$maximage?> </font></strong></font><br />
</div><br />
<form action="" method="post"> 
<input  type=text name=newimage value=""/> 
<input name=change type=submit value="изменить"> 
</form>
<?
if(isset($_POST['newimage']))   
{
$img_id = !empty($_POST['newimage'])?$_POST['newimage']:null;
// если введенное значение числовое...
if(is_numeric($img_id)&&settype($img_id, "integer")==true) {
//коннект к базе уже был произведен ранее, поэтому просто обновляем значение id
$wri_id = mysql_query("UPDATE `gs_maxids` SET `idmax` = '$img_id' WHERE `gs_maxids`.`id` =3 LIMIT 1");
echo 'Готово. Заменено на '. $img_id; 
}
// а ежели нет, то...
else { echo('<b>Введите целое число.</b>');}
}
?>
<br />
            <!-- максимальное разрешенное количество фоток в альбоме -->
    </td>
    <td>
      <!-- включить или выключить голосование на сайте -->
<?
$result = mysql_query("SELECT idmax FROM `gs_maxids` WHERE id=4");
$row = mysql_fetch_assoc($result);
$onoff = $row['idmax'];
		  ?> 
            <br />
            <div style="font-size:11px"> <strong>Включить или выключить голосование на сайте<br />
            Введите: 1 - включить / 2 - выключить
          <font color="#FF0000"> <strong> Предыдущее значение: <font color="#000000"><?=$onoff?> </font></strong></font><br />
</div><br />
<form action="" method="post"> 
<input  type=text name=onoroff value=""/> 
<input name=change type=submit value="изменить"> 
</form>
<?
if(isset($_POST['onoroff']))   
{
$onoff_id = !empty($_POST['onoroff'])?$_POST['onoroff']:null;
// если введенное значение числовое...
if(is_numeric($onoff_id)&&settype($onoff_id, "integer")==true) {
//коннект к базе уже был произведен ранее, поэтому просто обновляем значение id
$wro_id = mysql_query("UPDATE `gs_maxids` SET `idmax` = '$onoff_id' WHERE `gs_maxids`.`id` =4 LIMIT 1");
echo 'Готово. Заменено на '. $onoff_id; 
}
// а ежели нет, то...
else { echo('<b>Введите целое число.</b>');}
}
?>
<br />
           <!-- включить или выключить голосование на сайте --> 
    </td>
  </tr>
</table>
<hr  />
 
<table width="100%" border="0" cellspacing="5" cellpadding="0">
  <tr>
    <td width="50%" style="border-right:#333333 solid 1px;">
 <!-- Текст для вывода если голосование отключено -->
<?
$result = mysql_query("SELECT text FROM `gs_maxids` WHERE id=4");
$row = mysql_fetch_assoc($result);
$textoff = $row['text'];
		  ?> 
            <br />
            <div style="font-size:11px"> <strong>Если голосование отключено, выводить текст:<br />
          <font color="#FF0000"> <strong> Предыдущее значение: <font color="#000000"><?=$textoff?> </font></strong></font><br />
</div><br />
<form action="" method="post"> 
<textarea name=comtext cols=40 rows=7></textarea><br>
<input name=change type=submit value="изменить"> 
</form>
<?
if(isset($_POST['comtext']))   
{
$printtxt = !empty($_POST['comtext'])?$_POST['comtext']:null;
// преобразуем html символы в эквиваленты
$printtxt = htmlspecialchars($printtxt, ENT_QUOTES);
//коннект к базе уже был произведен ранее, поэтому просто обновляем значение id
if ($wrtxt = mysql_query("UPDATE `gs_maxids` SET `text` = '$printtxt' WHERE `gs_maxids`.`id` =4 LIMIT 1")) { 
echo 'Готово. Текст изменен на: '. $printtxt; }
// а ежели нет, то...
else { echo('<b>Ошибка записи в базу ващего текста.</b>');}
}
?>
<br />
 <!-- Текст для вывода если голосование отключено -->
    
    </td>
    <td>
<strong>Послать уведомление сразу всем пользователям</strong><br /><br /><br />
    
        <?
		function replacer ($text) { // ФУНКЦИЯ очистки кода
$text=str_replace(" ",' ',$text);
$text=str_replace(">",'&gt;',$text);
$text=str_replace("<",'&lt;',$text);
$text=str_replace("\"",'&quot;',$text);
$text=preg_replace("/\n\n/",'<p>',$text);
$text=preg_replace("/\n/",'<br>',$text);
$text=preg_replace("/\\\$/",'$',$text);
$text=preg_replace("/\r/",'',$text);
$text=preg_replace("/\\\/",'\',$text);
$text=str_replace("\r\n","<br> ",$text);
$text=str_replace("\n\n",'<p>',$text);
$text=str_replace("\n",'<br> ',$text);
$text=str_replace("\t",'',$text);
$text=str_replace("\r",'',$text);
$text=str_replace('   ',' ',$text);
do {$text=str_replace("<br><br><br>","<br>",$text);} while (preg_match("/<br><br><br><br>/i",$text));
do {$text=str_replace("   "," ",$text);} while (preg_match("/   /i",$text));
$text=str_replace("\t",' ',$text);
$text=str_replace("\r",' ',$text);
$text=str_replace('   ',' ',$text);
$text=rtrim($text);
return $text; }
		
		
		if(isset($_POST['submit']) && $_POST['submit']=='send_msg')
{
$msg_title  = replacer($_POST['theme']);
$msg        = replacer($_POST['msg']);

				if($sql = mysql_query("UPDATE `gs_usermsg` SET `title` = '$msg_title', `message` = '$msg', `onoff` = '1' ")) {
				header("Location: ?q=admin");
				//echo "<b><font color='ff0000'>Готово. Уведомление всем пользователям отправленно</font></b>";
				}
}

		?>       
        	<!-- send form -->
	<table cellspacing="0" cellpadding="5" border="0" style="border:#FF9900 dashed 1px;" width="500px">
	<form method="post">
	<input type="hidden" name="submit" value="send_msg">
	<input type="hidden" name="saveid" value="<?=$getUser['id']?>">
	<tr>
		<td class="name">Тема сообщения:</td>
		<td><input type="text" name="theme" class="text" style="border:#aaaaaa solid 1px; background-color:#e0f7d0;" onfocus="this.style.borderColor='#ff8706'; this.style.backgroundColor='#fee9bc'" onblur="this.style.borderColor='#aaaaaa'; this.style.backgroundColor='#e0f7d0'"></td>
	</tr>
	<tr>
		<td class="name">Текст сообщения:</td>
		<td><textarea style="width:350px; height:70px; border:#aaaaaa solid 1px; background-color:#e0f7d0;" onfocus="this.style.borderColor='#ff8706'; this.style.backgroundColor='#fee9bc'" onblur="this.style.borderColor='#aaaaaa'; this.style.backgroundColor='#e0f7d0'" name="msg"></textarea></td>
	</tr>
	<tr>
		<td colspan=2 align="right">
			<input type="submit" value="отправить" class="button">		</td>
	</tr>
	</form>
	</table>
    <br />
<form action="" method="post"> 
<input type="hidden" name="nomsg" value="2">
<input name=change type=submit value="отключить уведомление для всех!"> 
</form>
<?
if(isset($_POST['nomsg']))
		{
		$sql_no = mysql_query("UPDATE `gs_usermsg` SET `onoff` = '2'");
		echo "<b><font color='ff0000'>Уведомление отключенно для всех пользователей!</font></b>";
		}
		 ?>
    
        <!-- <-- SEND MEssage-->
    
    </td>
  </tr>
</table>
    <hr  />        

<table width="100%" border="0" cellspacing="15" cellpadding="0">
  <tr>
    <td width="50%" style="border-right:#333333 solid 1px;">
      <!-- Мыло для формы обратной связи -->
<?
$result = mysql_query("SELECT text FROM `gs_maxids` WHERE id=3");
$row = mysql_fetch_assoc($result);
$maxemail = $row['text']; // {максимальное кол-во фоток} равно значению idmax для id 3 (ХРАНИТСЯ В БАЗЕ)
		  ?> 
            <br />
            <div style="font-size:11px"> <strong>Укажите e-mail, куда будут отправляться письма из формы обратной связи</strong><br />
            Указывайте правильно e-mail, иначе письмо не будет отправленно<br /><br />
          <font color="#FF0000"> <strong> Предыдущее значение: <font color="#000000"><?=$maxemail?> </font></strong></font><br />
</div><br />
<form action="" method="post"> 
<input  type=text name=maxemail value=""/> 
<input name=change type=submit value="изменить"> 
</form>
<?
if(isset($_POST['maxemail']))   
{
$milo = !empty($_POST['maxemail'])?$_POST['maxemail']:null;
if(CheckEmail($milo)) {
// если введенное значение числовое...
$wri_id = mysql_query("UPDATE `gs_maxids` SET `text` = '$milo' WHERE `gs_maxids`.`id` =3 LIMIT 1");
echo 'Готово. Заменено на '. $milo; 
}
else {echo 'E-mail введен некорректно. Введите e-mail верно.';}
}
?>
<br />
                      <!-- Мыло для формы обратной связи -->
  
    
    </td>
    <td width="50%">
               <!-- Замена этапа для всех участников -->
<?
$result = mysql_query("SELECT cdate FROM `gs_users` WHERE id=1");
$row = mysql_fetch_assoc($result);
$etap = $row['cdate']; // текущий этап
		  ?> 
            <br />
            <div style="font-size:11px"> <strong> Смена этапа для всех участников конкурса. формет: год(4цифры)-месяц(две цивры)</strong><br />
            Например:<strong> 2011-04</strong> (2011 год, месяц Апрель)<br />
          <font color="#FF0000"> <strong> Предыдущее значение: <font color="#000000"><?=$etap?> </font></strong></font><br />
</div><br />
<form action="" method="post"> 
<input  type=text name=newetap value=""/> 
<input name=change type=submit value="изменить"> 
</form>
<?
if(isset($_POST['newetap']))   
{
$netap = !empty($_POST['newetap'])?$_POST['newetap']:null;
// если введенное значение числовое...
$wri_id = mysql_query("UPDATE `gs_users` SET cdate = '$netap' ");
echo 'Готово. Заменено на '. $netap; 
}
?>
<br />
                      <!-- Мыло для формы обратной связи -->
    </td>
  </tr>
</table>
    <hr />        
<!-- get all users -->
			
			<? 
			// макс. кол-во юзеров показывается на одной странице
			$limit = 30;
			   $total = $sql->selectCell('SELECT COUNT(*) FROM ?_users');
			   
			   if($page>1){
			   	$total_pages = ceil($total/$limit);
				if($page>$total_pages) $page = $total_pages;
			   }
			   
			   $from = $page * $limit - $limit;
			   
			   $getUsers = $sql->select('SELECT * FROM ?_users ORDER BY edate DESC LIMIT ?d, ?d', $from, $limit);
			   
			   if($getUsers): ?>
			
			<table class="tbl" width="100%">
			<tr class="head">
				<td>#</td>
				<td>Login</td>
				<td>E-mail</td>
				<td>Имя</td>
				<td>Фамилия</td>
				<td>День рождения</td>
				<td>ICQ</td>
				<td>Страна</td>
				<td>Голосов</td>
				<td>Город</td>
				<td>Телефон</td>
				<td>Заполнено анкеты</td>
				<td width="100" align="center">Действия</td>
			</tr>
			<? foreach($getUsers as $k=>$v): ?>
			<tr>
				<td><?=$k+1?></td>
				<td><?=$v['login']?></td>
				<td><?=$v['email']?></td>
				<td><?=$v['firstname']?></td>
				<td><?=$v['lastname']?></td>
				<td><?=$v['bdate']?></td>
				<td><?=$v['icq']?></td>
				<td><?=$v['country']?></td>
				<td><?=$v['rating']?></td>
				<td><?=$v['city']?></td>
				<td><?=$v['phone']?></td>
				<td><?=isAnketaComplate($v['id'])?> %</td>
				<td align="center">
					<a href="?q=admin&page=<?=$page?>&edit=<?=$v['id']?>"><img src="images/edit.png" border="0" alt="редактировать"></a>&nbsp;
					<a href="?q=admin&page=<?=$page?>&drop=<?=$v['id']?>" onClick="return window.confirm('Вы уверены?')"><img src="images/drop.png" border="0" alt="удалить"></a>&nbsp;
					<a href="?q=admin&p=images&id=<?=$v['id']?>"><img src="images/images.png" border="0"></a>&nbsp;				</td>
			</tr>
			<? endforeach ?>
			</table>
			
<br>
			
			<?=pages($page, $limit, $total, "?q=admin&") ?>
			
			<? endif ?>
			<!-- /get all users -->
		
		<? endif ?>    
	
	<? endif ?> 

<? else: ?>

	<? actNote() ?>

	<h2>Вход в админ панель</h2>
	
	<table cellspacing="1" cellpadding="5" border="0">
	<form method="post">
	<input type="hidden" name="submit" value="login">
	<tr>
		<td align="right">Имя ползователья:</td>
		<td><input type="text" name="username" class="text"></td>
	</tr>
	<tr>
		<td align="right">Пароль:</td>
		<td><input type="password" name="password" class="text"></td>
	</tr>
	<tr>
		<td colspan=2 align="center">
			<input type="submit" value="Вход" class="button">
			<input type="reset" value="Сброс" class="button">
		</td>
	</tr>
	</form>
	</table>

<? endif ?>

непонятность с условием
PHP:
<? if($p=='vote'): ?>

косяк на картинке во вложении...

Помогите плиз разобраться с этими условиями:(
 

Вложения

  • nnn.gif
    nnn.gif
    23,8 KB · Просмотры: 9
точку с запятой после endif забыли
PHP:
<? endif; ?>
 
Хочу добавить страницу в админку, но где-то крупно косячу с условиями типа <? if(..:( ?>
непонятность с условием
PHP:
<? if($p=='vote'): ?>
косяк на картинке во вложении...
Помогите плиз разобраться с этими условиями:(
Оххх, я против конструкций if: endif, куча кода появляется, скобок достаточно. Да и мешать код с html - это зло. Легко запутаться, чтобы исправить нужно кучу текста просмотреть. Вот и у тебя эта проблема.
Сделай к каждому условию комментарий
PHP:
if // условие если это опрос
elseif // условие если это опрос, но простой опрос
endif //  условие если это опрос END
Как вариант- переписать с использованием если не шаблонизатора (хотябы простенького, из 30 строк), то просто сделать класс
PHP:
 adminHtml{
static public generateNumVote($var1, $var2){} 
}
где держать весь html код. и вызывать
HTML:
 adminHtml:: generateNumVote($var1, $var2);
 
Решил переписать условия админки. Блин, вроде условий-то мало, да и foreach не должен влиять на эти долбаные условия, но вот этот код работает:

PHP:
<? if(!empty($_SESSION['administrator'])): // 1 ?>

	<div>
		Привет <b><?=$_SESSION['administrator']?></b> ! (<a href="?q=admin&act=logout">Выход</a>)
	</div>
	
	<br>
    
       <? if($p=='vote'):  // 2?>
	
		<div class="toplink">
			<a href="?q=admin">Все пользователи</a> <a href="?q=admin&p=news">Новости</a> <b>Голосование</b>
		</div>
        ГОЛОСОВАНИЕ!<br />
         ГОЛОСОВАНИЕ!<br />
          ГОЛОСОВАНИЕ!<br />
		<br>
        
       <? endif;  // 2?>
       
	<? if($p=='news'): // 3(вкладка новости начало)?>
	
		<div class="toplink">
			<a href="?q=admin">Все пользователи</a> <b> Новости </b> <a href="?q=admin&p=vote">Голосование</a>
		</div>
        
        <div><b>Все новости</b> | <a href="?q=admin&p=news&act=add">Добавить новость</a></div>

<br />
НОВОСТИ!!

    <? endif;  // 3 (вкладка новости конец)?>
    
   
   
    <? else: // 1?>

	<? actNote() ?>

	<h2>Вход в админ панель</h2>
	
	<table cellspacing="1" cellpadding="5" border="0">
	<form method="post">
	<input type="hidden" name="submit" value="login">
	<tr>
		<td align="right">Имя ползователья:</td>
		<td><input type="text" name="username" class="text"></td>
	</tr>
	<tr>
		<td align="right">Пароль:</td>
		<td><input type="password" name="password" class="text"></td>
	</tr>
	<tr>
		<td colspan=2 align="center">
			<input type="submit" value="Вход" class="button">
			<input type="reset" value="Сброс" class="button">
		</td>
	</tr>
	</form>
	</table>
    
<? endif; // 1 ?>

Но как только вставляю вместо "НОВОСТИ!!" в третьем условии код выборки новостей:

PHP:
<? if(!empty($_SESSION['administrator'])): // 1 ?>

	<div>
		Привет <b><?=$_SESSION['administrator']?></b> ! (<a href="?q=admin&act=logout">Выход</a>)
	</div>
	
	<br>
    
       <? if($p=='vote'):  // 2?>
	
		<div class="toplink">
			<a href="?q=admin">Все пользователи</a> <a href="?q=admin&p=news">Новости</a> <b>Голосование</b>
		</div>
        ГОЛОСОВАНИЕ!<br />
         ГОЛОСОВАНИЕ!<br />
          ГОЛОСОВАНИЕ!<br />
		<br>
        
       <? endif;  // 2?>
       
	<? if($p=='news'): // 3(вкладка новости начало)?>
	
		<div class="toplink">
			<a href="?q=admin">Все пользователи</a> <b> Новости </b> <a href="?q=admin&p=vote">Голосование</a>
		</div>
        
        <div><b>Все новости</b> | <a href="?q=admin&p=news&act=add">Добавить новость</a></div>

			<br>
		
			<? 
			 $limit  = 20;
			 $total  = $sql->selectCell('SELECT COUNT(*) FROM ?_news');
			 if($page>1){
			  	$total_pages = ceil($total/$limit);
				if($page>$total_pages) $page = $total_pages;
			 }
			 $from = $page * $limit - $limit;
			 $result = $sql->select('SELECT * FROM ?_news ORDER BY edate DESC LIMIT ?d, ?d', $from, $limit);
			 if($result): ?>
			
			<table cellspacing="0" cellpadding="5" border="0" width="100%">
			<? foreach($result as $k=>$v): ?>
			<tr><td><strong><?=$v['title']?></strong></td></tr>
			<tr><td><em><?=substr($v['edate'],0,-3)?></em></td></tr>
			<tr><td><?=$v['message']?></td></tr>
			<tr>
				<td height="30" valign="top">
					<a href="?q=admin&p=news&act=edit&edit=<?=$v['id']?>&page=<?=$page?>"><img src="images/edit.png" border="0"></a>
					<a href="?q=admin&p=news&drop=<?=$v['id']?>&page=<?=$page?>" onclick="return window.confirm('Уыерены?')"><img src="images/drop.png" border="0"></a>
				</td>
			</tr>
			<tr>
				<td><hr size=1 noshade></td>
			</tr>
			<? endforeach ?>
			</table>
			
			<?=pages($page, $limit, $total, "?q=admin&p=news&")?>

    <? endif;  // 3 (вкладка новости конец)?>
    
   
   
    <? else: // 1?>

	<? actNote() ?>

	<h2>Вход в админ панель</h2>
	
	<table cellspacing="1" cellpadding="5" border="0">
	<form method="post">
	<input type="hidden" name="submit" value="login">
	<tr>
		<td align="right">Имя ползователья:</td>
		<td><input type="text" name="username" class="text"></td>
	</tr>
	<tr>
		<td align="right">Пароль:</td>
		<td><input type="password" name="password" class="text"></td>
	</tr>
	<tr>
		<td colspan=2 align="center">
			<input type="submit" value="Вход" class="button">
			<input type="reset" value="Сброс" class="button">
		</td>
	</tr>
	</form>
	</table>
    
<? endif; // 1 ?>

PHP выдает ошибку:

Parse error: syntax error, unexpected $end in Z:\home\golos.loc\www\mode\admin.php on line 353

353 строчка это последняя -
PHP:
<? endif; // 1 ?>

сейчас то ему чего не нравится?:nezn:
 
PHP:
    <? endif;  // 3 (вкладка новости конец)?>
    
   
   
    <? else: // 1?>
это что за хрень :) ?
PHP:
<? endforeach ?>
опять без точки с запятой. почитайте что ли
 
Если трудно следить за точкой с запятой в конце строки, скобками
и подобными вещами, то можно взять любую нормальную IDE(на данном форуме есть много тем, какая из IDE лучше), к примеру Zend Studio
и писать код в ней, а она будет вам подсказывать что вы где забыли )
 
он и без точки с запятой работает.

Уже понял в чем трабл.
 
прекрати использовать эти убогие конструкции, и используй скобки как нормальные люди, заодно и от проблеммы избавишься.
 
используй чекер синтаксиса, либо на десктоп установи IDE, либо онлайн чекеры юзай, например
дебаг возьмет значительно меньше времени чем искать по всему тексту где скобку пропустил..
 
Назад
Сверху