Перейти к содержимому

Фотография

Разбираемся в скриптахРазбор полетов или как заставить работать свой скрипт.


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 10

#1
Abzal

Abzal
  • Постоялец
  • 433 сообщений
Искал тему. Не нашел. вот и создал.
В этой ветке я предлагаю скидовать исходники проблемных скриптов и разбераться.
Бывают разные моменты. Вот пищу на PHP как всегда. Бац, а скрипт не работает.

для пример вот. писал как всегда. но ре работает.
if (isset($_POST['id'])){$id=$_POST['id'];}
if (isset($_POST['title'])){$title=$_POST['title'];}
if (isset($_POST['connect'])){$connect=$_POST['connect'];}
if (isset($_POST['priorety'])){$priorety=$_POST['priorety'];}


if (isset($title) && isset($connect) && isset($priorety))
{
	$title = trim($title);
	$title = stripslashes($title);
	$title = htmlspecialchars($title);
	
	$priorety = trim($priorety);
	$priorety = stripslashes($priorety);
	$priorety = htmlspecialchars($priorety);

	

	if (isset($id))
	{
		$url = mysql_query("SELECT url FROM txtpages WHERE title='$connect'");
		$url2= mysql_fetch_array($url);
		$url3=$url2['url'];
	
		$res = mysql_query("UPDATE main_menu SET title='$title', url='$url3', priorety='$priorety' WHERE id='$id'");
		
		if ($res=='TRUE')
		{echo "<script>document.location='../main.php?r=main_menu'</script>";}
		else
		{echo "<script>document.location='../main.php?r=main_menu&error=1'</script>";}
	}
	else
	{
		$res = mysql_query("INSERT INTO main_menu ( title, url, priorety) VALUES ('$title','$url3','$priorety')");
		if ($res=='TRUE')
		{echo "<script>document.location='../main.php?r=main_menu'</script>";}
		else
		{echo "<script>document.location='../main.php?r=main_menu&error=2'</script>";}
	}
}

  • 0

#2
ТатлиК

ТатлиК
  • В доску свой
  • 1 792 сообщений
хорошая темка !
Но мне так кажется для решения проблемки было бы проще если бы еще писали какую ошибку выдаёт ну или хоть что-нибудь по конкретнее вашего "Бац, а скрипт не работает" ! :)))
  • 0

#3
Abzal

Abzal
  • Постоялец
  • 433 сообщений
Скрипт не работал весь! Стоило перезагрузить комп и все начало работать. А вообще предлагаю всем скидовать свои исходники, будем разбераться!.

Например: есть ли у кого скрипт ресайза картинки (не в аватар) а именно картинки. Скидовайте будем разберать вместе. Те кто слабо знаю, под учаться.

пищу с грамматическими ощибкам. сразу сорри :kiss:
  • 0

#4
kornel

kornel
  • В доску свой
  • 9 069 сообщений
Не забывайте, что "не работает" - это эмоция а не диагностика проблеммы. Нужно как минимум давать сообщение об ошибке, возвращаемое транслятором.
  • 0

#5
designf

designf
  • Свой человек
  • 852 сообщений

Скрипт не работал весь! Стоило перезагрузить комп и все начало работать.


Такого не бывает. Судя по коду, еще нужно многое доработать и лишнее поубирать. Зачем одну и туже процедуру скрипту выполнять несколько раз. Вроде тут была тема по php.
  • 0

#6
Abzal

Abzal
  • Постоялец
  • 433 сообщений

Не забывайте, что "не работает" - это эмоция а не диагностика проблеммы. Нужно как минимум давать сообщение об ошибке, возвращаемое транслятором.

так в том то и дело что не выдовал, никаких ощибок.
  • 0

#7
Abzal

Abzal
  • Постоялец
  • 433 сообщений
2designf

какую процедуру?
  • 0

#8
georgex

georgex
  • Частый гость
  • 82 сообщений

Например: есть ли у кого скрипт ресайза картинки (не в аватар) а именно картинки. Скидовайте будем разберать вместе. Те кто слабо знаю, под учаться.

пищу с грамматическими ощибкам. сразу сорри :lol:

imagecopyresized($thumb,$source,0,0,0,0,$nw,$nh,$width,$height);
  • 0

#9
Abzal

Abzal
  • Постоялец
  • 433 сообщений

session_start();
$img = imagecreatefrompng("code_bg.png"); //Фон - (чтоб сложнее
было распознать)
$black = imageColorAllocate($img,"000","000","000"); //Задаём цвет текста
$white = imageColorAllocate($img,"999","999","999"); //Задаём цвет текста
$red = ImageColorAllocate ($img, 233, 14, 91);
$blue = ImageColorAllocate ($img, 0x20, 0x60, 0xaa);
$nnn = $_SESSION['code']; //Узнаём, что рисовать
imagettftext ($img, 18, 16, 10, 34, $black, "./belli.ttf", $nnn);
//imageString ($img,1000,16,12,$nnn,$black); //Рисуем
header("Content-type: image/png");
imagePng($img);
imageDestroy($img);


$arc - исходная картинка
$dest - путь и имя к будущей уменьшенной картинке.


img_resize ($src, $dest, $width, $height, $rgb = 0xFFFFFF, $quality =
100, $ratio = 1.575)


вот такой ресайз скинул мне друг. Так что копируем и вставляем его к себе! :spy:
  • 0

#10
Abzal

Abzal
  • Постоялец
  • 433 сообщений
Скрипт отправки письма с вложенными файлами, по вашей спам базе. Но можно и и подлотать, что бы отправлял указанному вами адресату. Сразу оговорю над красотой не работал. Главное скрипт работает.
Все что нужно это форма с указанными параметрами. И конечно можно подлатать под себя.
<?php
include "config.php"; /*подключаемся к БД */
include "db_connect.php";
if (isset($_POST['title'])){$title = $_POST['title']; if ($title==''){unset($title);}}
if (isset($_POST['text'])){$text = $_POST['text']; if ($text==''){unset($text);}}
if (isset($_POST['limit'])){$limit = $_POST['limit']; if ($limit==''){unset($limit);}} /* переменная начала диапазона id */
if (isset($_POST['limit2'])){$limit2 = $_POST['limit2']; if ($limit2==''){unset($limit2);}} /*переменная конца диапазона id*/

 Error_Reporting(E_ALL & ~E_NOTICE);
 $picture = "";
 $picture2 = "";
  // Если поле выбора вложения не пустое - закачиваем его на сервер
  if (!empty($_FILES['mail_file']['tmp_name']) && !empty($_FILES['mail_file2']['tmp_name']))
  {
	// Закачиваем файл
	$path = $_FILES['mail_file']['name'];
	$path2 = $_FILES['mail_file2']['name'];
	if (copy($_FILES['mail_file']['tmp_name'], $path)) $picture = $path;
	if (copy($_FILES['mail_file2']['tmp_name'], $path2)) $picture2 = $path2;
  }
 
  $thm = $title;
  $msg = $text;

  // Отправляем почтовое сообщение
  if(empty($picture)) {mail($mail_to, $thm, $msg);}
  else 
  {
	  if ( isset($limit) && isset ($limit2))
	  { $res = mysql_query("SELECT email FROM db_comp WHERE (id>$limit AND id<$limit2)"); } /* если задан диапазон, можно и не в id, но я зделал так*/
	  else
	  {$res = mysql_query("SELECT email FROM db_comp");}/* если диапазон не задан, то выбрать всех*/
	  $myrow = mysql_fetch_array($res); /*цикл в котором отправляются письма*/
	  do
	  {
		  $mail_to = $myrow['email'];
		  $id =$myrow['id'];
		 echo $id.'<br>';
		  echo "Письмо отправлено адресату: ".$mail_to."<br>";
		  send_mail($mail_to, $thm, $msg, $picture, $picture2); /*вызываем функцию по отправке письма.*/
		
	  }
	  while($myrow = mysql_fetch_array($res));
  }
  // Вспомогательная функция для отправки почтового сообщения с вложением
  function send_mail($to, $thm, $html, $path, $path2)
  {
	$fp = fopen($path,"r");
	if (!$fp)
	{
	  print "Файл $path не может быть прочитан";
	  exit();
	}
	$file = fread($fp, filesize($path));
	fclose($fp);
	$fp2 = fopen($path2,"r");
	if (!$fp2)
	{
	  print "Файл $path2 не может быть прочитан";
	  exit();
	}
	$file2 = fread($fp2, filesize($path2));
	fclose($fp2);
 
	$boundary = "--".md5(uniqid(time())); // генерируем разделитель
	$headers .= "MIME-Version: 1.0\n";
	$headers .="Content-Type: multipart/mixed; boundary=\"$boundary\"\n";
	$multipart .= "--$boundary\n";
	$kod = 'windows-1251';
	$multipart .= "Content-Type: text/html; charset=$kod\n";
	$multipart .= "Content-Transfer-Encoding: Quot-Printed\n\n";
	$multipart .= "$html\n\n";
	$message_part = "--$boundary\n";
	$message_part .= "Content-Type: application/octet-stream\n";
	$message_part .= "Content-Transfer-Encoding: base64\n";
	$message_part .= "Content-Disposition: attachment; filename = \"".$path."\"\n\n";
	$message_part .= chunk_split(base64_encode($file))."\n";
	$message_part .= "--$boundary\n";
	$message_part .= "Content-Type: application/octet-stream\n";
	$message_part .= "Content-Transfer-Encoding: base64\n";
	$message_part .= "Content-Disposition: attachment; filename = \"".$path2."\"\n\n";
	$message_part .= chunk_split(base64_encode($file2))."\n";
 
	$multipart .= $message_part."--$boundary--\n";
	if(!mail($to, $thm, $multipart, $headers))
	{
	  echo "К сожалению, письмо не отправлено";
	  exit();
	}
  } 

?>

Вот пользуемся. Если есть мастера оптимизации php кода. Милости просим. Пишите коментарии, где и что пожно оптимизировать. Буду рад. по пыхтеть :rotate:
  • 0

#11
kornel

kornel
  • В доску свой
  • 9 069 сообщений
MODERATORIAL [kornel]
Господа, настоятельно не рекомендую выкладывать сюда любую пашу поделку... половину из которых можно найти в справочниках (учебниках) по php.

  • 0


Количество пользователей, читающих эту тему: 1

пользователей: 0, неизвестных прохожих: 1, скрытых пользователей: 0

Размещение рекламы на сайте     Предложения о сотрудничестве     Служба поддержки пользователей

© 2011-2022 vse.kz. При любом использовании материалов Форума ссылка на vse.kz обязательна.