Помогите нубу решить проблему со скриптом.

Тема в разделе "PHP", создана пользователем Дерзкий, 8 дек 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. Дерзкий

    Дерзкий Постоялец

    Регистр.:
    27 июн 2009
    Сообщения:
    100
    Симпатии:
    399
    Вобшем вот код который обрабатывет формы
    Код:
    if ((isset($_POST['result'])))  
    {
    
    	if (isset($_SESSION['save']))
    	{
    	exit();																	      
    	}
    
    	if ((isset($_POST['result'])) && ((isset($_POST['last_name']))))
    			{
    
    				$code="324534345345345";
    				$hopscheck=$_POST['result'].$code;
    				$mdhopscheck=md5($hopscheck);
    			}
    
    	if ((isset($_POST['hop'])) && ($mdhopscheck==$_POST['hop']))
    		{
    
    
     if (($_FILES['myfile1']['error']>1) || ($_FILES['myfile1']['size']=0))
    	  {
    		 $actual_file1_1_1="";
    
    	  }
    	  else
    	  {
    		$request= "SELECT count(*) FROM fioiq"; 
    		$count_rows=mysql_fetch_array(mysql_query($request));  
    //		mysql_close();
    		$count_rows[0]=$count_rows[0]+1; 
    
    		$actual_file1_1=$path_design.'/'.($count_rows[0]).'.JPG';
      	    $temp_file_1=$_FILES['myfile1']['tmp_name'];
    		move_uploaded_file($temp_file_1,$actual_file1_1);
    		$actual_file1_1_1=($count_rows[0]).'.JPG';
    
    }
    																				      
    
    
    
    
    
    
    
    	
    		$iqt=HtmlSpecialChars($_POST['result']);
    		$familiyat=$_POST['last_name'];
    		$imyat=$_POST['first_name'];
    		$otchestvot=HtmlSpecialChars($_POST['middle_name']);
    		$aboutme=HtmlSpecialChars($_POST['aboutme']);
    		$photo=$actual_file1_1_1;
    		if (strlen($aboutme)>200)
    			{
    			$aboutme=substr ($aboutme,0,200);  
    			}
    
    	
    
    
    
    		mysql_query(
    		"Insert INTO fioiq (iq,familiya,imya,otchestvo,aboutme,photo) VALUES('".
    		addslashes($iqt)."','".
    		addslashes($familiyat)."','".
    		addslashes($imyat)."','".
    		addslashes($otchestvot)."','".
    		addslashes($aboutme)."','".
    		addslashes($photo)."')"
    			);
    
    		$_SESSION['save']='yes'; 
    		?>
    		<br><br><br>
    
    
    <b><font size=3>Ваш диплом Заполнен<br><br><br>
    		Постоянный адрес вашего диплома:<br><br>
    	</font>	
    <font size=2>
    <?
    if (!(isset($_SESSION['refuser'])))
    {
    ?>
    	<a href="<? echo $urltest;?>sertificat.php?id=<? echo  mysql_insert_id(); ?>"><? echo $urltest;?>sertificat.php?id=<? echo  mysql_insert_id(); ?></a>
    <?
    }
    else
    {
    ?>
    <a href="<? echo $urltest;?>sertificat.php?id=<? echo  mysql_insert_id(); ?>&rid=<? echo $_SESSION['refuser'];?>"><? echo $urltest;?>sertificat.php?id=<? echo  mysql_insert_id(); ?>&rid=<? echo $_SESSION['refuser'];?></a>
    <?
    }
    
    ?>
    
    		
    		
    		
    </font>
    <b>
    		<br>
    		<br>
    		<br>
    		<?
    
    	
    		
    		} 
    else
    	{
    echo "Внимание !<br>Попытка взлома системы обработана, IP записан, при 10 попытках взлома, автоматически отправляется информационное письмо вашему провайдеру";
    	}
    }
    Проблема в чём если я ему в глобальном массиве $_POST передаю русские символы или спец символы выдаёт echo "Внимание !<br>Попытка взлома системы обработана, IP записан, при 10 попытках взлома, автоматически отправляется информационное письмо вашему провайдеру"

    А если только латиницу и спец сиволы срабатывает правильно.

    Как его можно подкаректировать что бы он срабатывал правильно и с рускими буквами и с латинскими и спец символами.
     
  2. tostrss

    tostrss

    Регистр.:
    16 окт 2007
    Сообщения:
    771
    Симпатии:
    217
    Возможно дело в кодировке, в этом месте:
     
  3. CrashX

    CrashX В прошлом XSiteCMS

    Регистр.:
    6 июн 2008
    Сообщения:
    682
    Симпатии:
    112
    а хтмл код формы и сам код пополнее тк тут мало понятно еще бы дамп массивов POST и SESSION

    так же какая кодировка у скрипта? может косяк в кодировке тк при этом в русском могу оказаться не печатные символы если кодировка неверная
     
  4. ZCFD

    ZCFD

    Регистр.:
    16 янв 2008
    Сообщения:
    989
    Симпатии:
    437
    ну так смотри сорцы

    сначала
    PHP:
    $code="324534345345345";
    $hopscheck=$_POST['result'].$code;
    $mdhopscheck=md5($hopscheck);
    и потом надпись которая у тебя если
    PHP:
    // вот это уловие не выолняется
    if ((isset($_POST['hop'])) && ($mdhopscheck==$_POST['hop']))
    {...}
    else { 
    // твоя ошибка 
    }
    варианта соответственно два : либо не передаешь $_POST['hop'] либо передаешь неверное значение

    решать можно по разному - от вырезания этого кода ( т.е. тупое кастрирование ) до разбора в чем дело со стороны клиента ( там по идее должен быть js код который формирует значение hop от вводимых данных )
     
Статус темы:
Закрыта.