Перейти до вмісту

PHP, всі питання тут


Повідомлень в темі: 131

#121 FT232BM

    私は人々嫌い

  • Користувачі
  • PipPipPipPipPipPipPipPipPipPip
  • 3435 повідомлень
  • Стать:Чоловік
  • Місто:Київ->НТУУ "КПІ"

Відправлено 30.12.2008 – 16:29

Перегляд дописуcepers (30.12.2008 13:00) писав:

Привіт! Хочу створити гостьову книгу сам навчитися, але щось непрацює, допоможіть що тет не так
Код зазвичай коментують,чого і тобі бажаю. А ще використовують MySQL для таких завдань, виходить на порядок простіше. Текстові файли зустрічав тільки для конфігурування движка.
  • 0

#122 -=Українець=-

    Профі

  • Користувачі
  • PipPipPipPipPipPipPip
  • 369 повідомлень
  • Стать:Чоловік
  • Місто:Хмельницького

Відправлено 30.12.2008 – 18:34

Я хочу створити без MYSQL
<?php
echo "<html><head><title>Guest book</title></head><body>";
echo "<h2 >Guest book</h2>";
$file_gb="gb.txt";
$file_tmp="gb_tmp.txt";
$Max=50;

// Функція для показування повідомлень з файлу gb.txt
function view ( )
{
$Messages=file('gb.txt');
echo "<p><table width=100%>";
$i=0;
foreach ($Messages as $v)
{
$i++;
if ($i % 2==0) echo"<tr><td>$v</td></tr>";
else echo "<tr><td bgcolor=red>$v</td></tr>";
if ($i==$Max) break;
}
}
if (!isset ($Post))
{
// форма для нового повідомлення
echo "<table width=100% border=1>";
echo "<tr><td><h2>New message</h2><form method=post action=$SCRIPT_NAME>";
echo "Email: <input type=text name=email>";
echo "Message: <input type=text name=mes> <input type=submit name=post></td></tr>";
echo "</form></table>";
// Виводимо повідомлення
view ( );
}
else
{
if (file_exists($file_tmp)) die ("fatal error");
// Добавляємо нове повідомлення в початок файлу
if (copy($file_gb, $file_tmp))
{
if ($w=fopen($file_gb,"w"))
{
// блокуємо доступ до основнного файлу
flock($w,2);

fwrite($w,"[".date ("d.m.Y H:i:s").$email."]".strip_tags($mes)."\n");

if (!$r=fopen($file_tmp, "r")) die ("error");
flock($r,1);
while ($mes=fgets($r,10240))
{
fputs ($w,$mes);
}
flock($r,3);
fclose($r);
flock($w,3);
fclose($w);
unlink($file_tmp);
}
}
echo " Send good write";
view ( );
} echo "</table></body></html>";
?>
  • 0

#123 Xobb

    Doctor What'son

  • Користувачі
  • PipPipPipPipPipPipPipPipPipPip
  • 1481 повідомлень
  • Стать:Чоловік

Відправлено 30.12.2008 – 18:54

Якщо комусь не впадлу дебажити оцю ахінєю, то код сапьора тут:
<?php
echo "<html><head><title>Guest book</title></head><body>";
echo "<h2 >Guest book</h2>";
$file_gb="gb.txt";
$file_tmp="gb_tmp.txt";
$Max=50;

// Функція для показування повідомлень з файлу gb.txt
function view () {
	$messages = file('gb.txt');
	echo "<p><table width=100%>";
	//код далбайоба. для таких речей є цикл for
	$i=0;
	foreach ($messages as $message) {
		$i++;
		if ($i % 2==0) echo"<tr><td>$messages[$i]</td></tr>";
		else echo "<tr><td bgcolor=red>$messages[$i]</td></tr>";
		if ($i==$Max) break;
	}
	//закінчився код далбайоба
	//отак би було нормально
/*	$q = min(count($messages), $Max);
	for ($i = 0; $i < $q; $i++) {
		if ($i % 2==0) echo"<tr><td>$message</td></tr>";
		else echo "<tr><td bgcolor=red>$message</td></tr>";
	}
*/
}
//дальше просто впадлу, скоріш за все права на запис немає, тому всьо і найобується,
//але оце після роботи не єбашиться далі.
if (!isset($Post)) {
	// форма для нового повідомлення
	echo "<table width=100% border=1>";
	echo "<tr><td><h2>New message</h2><form method=post action=$SCRIPT_NAME>";
	echo "Email: <input type=text name=email>";
	echo "Message: <input type=text name=mes> <input type=submit name=post></td></tr>";
	echo "</form></table>";
	// Виводимо повідомлення
	view();
} else {
	if (file_exists($file_tmp)) die ("fatal error");
	// Добавляємо нове повідомлення в початок файлу
	if (copy($file_gb, $file_tmp))
	{
		if ($w=fopen($file_gb,"w"))	{
			// блокуємо доступ до основнного файлу
			flock($w,2);
		
			fwrite($w,"[".date ("d.m.Y H:i:s").$email."]".strip_tags($mes)."\n");
		
			if (!$r=fopen($file_tmp, "r")) die ("error");
			flock($r,1);
			while ($mes=fgets($r,10240)) {
				fputs ($w,$mes);
			}
			flock($r,3);
			fclose($r);
			flock($w,3);
			fclose($w);
			unlink($file_tmp);
		}
	}
	echo " Send good write";
	view();
} 
echo "</table></body></html>";

Повідомлення відредагував Xobb: 30.12.2008 – 18:56

  • 0

#124 -=Українець=-

    Профі

  • Користувачі
  • PipPipPipPipPipPipPip
  • 369 повідомлень
  • Стать:Чоловік
  • Місто:Хмельницького

Відправлено 30.12.2008 – 19:09

толку, всеодно непрацює, всеодно непоказує повідомлення що ти пишеш оце я незнаю як зробити.
  • 0

#125 Просто Олекса

    Абориген

  • Користувачі
  • PipPipPipPip
  • 88 повідомлень
  • Стать:Чоловік
  • Місто:Івано-Франківськ

Відправлено 03.01.2009 – 18:30

function textfilter($text)
	{
		$text=htmlspecialchars($text);
		$text=nl2br($text);
		
		$text=eregi_replace('\[li\]','<li>',$text);
		//anchors
		$text=eregi_replace('\[url\]([-_a-z01-9/\.&?=:]+)\\[/url\\]','<a href=\\1>\\1</a>',$text);  //[url] www.adres.url[/url]	--> <a href=www.adres.url>www.adres.url</a>
		
		// fonts
		$text=eregi_replace('\[b\](.+)\[/b\]','<b>\\1</b>',$text);
		$text=eregi_replace('\[h([01-9]+)\](.+)\[/h[01-9]\]','<h\\1>\\2</h\\1>',$text);
		$text=eregi_replace('\[i\](.+)\[/i\]','<i>\\1</i>',$text);
		$text=eregi_replace('\[u\](.+)\[/u\]','<u>\\1</u>',$text);
		$text=eregi_replace('\[s\](.+)\[/s\]','<s>\\1</s>',$text);
		$text=eregi_replace('\[center\](.+)\[/center\]','<center>\\1</center>',$text);
		$text=eregi_replace('\[pre\](.+)\[/pre\]','<pre>\\1</pre>',$text);
		$text=eregi_replace('\[tt\](.+)\[/tt\]','<tt>\\1</tt>',$text);
		$text=eregi_replace('\[font([-\+=# a-z01-9]*)\](.+)\[/font\]','<font \\1>\\2</font>',$text);
		
		//cites
		$text=eregi_replace('\[cite ([01-9]+)#([01-9]+)#(.+)\](.*)\[/cite\]',
		'<table bgcolor=#C0C0FF border=0><tr bgcolor=#A0A0C0><td><a href=vievtopic.php?topic=\\1#\\2
		>\\3</a></tr><tr><td>\\4</tr></table>',$text);
		$text=eregi_replace('\[cite (.+)\](.*)\[/cite\]',
		'<table bgcolor=#C0C0FF border=0><tr bgcolor=#A0A0C0><td>\\1</tr><tr><td>\\2</tr></table>',$text);
		
		// images
		$text=eregi_replace('\[img\]([-_a-z01-9/\.&?=:]+)\\[/img\\]','<a href=\\1><img src=\\1 alt=\\1 width=50% align=right></a>',$text);
		
		// smiles
		$text=eregi_replace(':))',' <img src=smiles/laugh.gif>',$text);
		$text=eregi_replace(':)',' <img src=smiles/smile.gif>',$text);
		$text=eregi_replace(':\(',' <img src=smiles/sad.gif>',$text);
		$text=eregi_replace('\[([a-z]+)\]','<img src=smiles/\\1.gif>',$text);
		
		return $text;
	}
Я написав таку функцію для бб-кодів, але вона працює неправильно. Проблема виникає коли в одному пості два слова зроблено наприклад жирними. Що тут можна змінити? Добре б було, коли б регулярні вирази шукали спочатку найкоротші рядки, але так чогось не відбувається :)
  • 0

#126 Pit

    Генеральний писар

  • Користувачі
  • PipPipPipPipPipPipPipPipPip
  • 723 повідомлень
  • Стать:Чоловік

Відправлено 12.05.2009 – 21:20

Тіки почав вчити PHP та бачу, шо те, шо я планую зробити мені получиться ше не скоро. Сподіваюсь, мені тут хтось допоможе. 1. Потрібно зробити форму на зназок швидкої відповіді на Теревенях. Тобто потрібна форма, в яку б користувачі вводили текст, натискали на кнопку ,,відправити" і те, що вони написати відображалося на сторінці.
2. Треба зробити вікно завантаження файлів, я отут нарив шаблон, але він мене не влаштовує. Можливо зможете поправити. Мені треба шоб поряд з вікном завантаження було вікно, де людина, яка завантажує файл вручну вводила назву файла. Тотім після натискання кнопки ,,завантажити,, те все діло розміщувалось на сторінці в порядку спадання по даті завантаженн.
Ось шаблон завантаження:
 
<html>
<head>
  <title>Загрузка файлів на сервер</title>
</head>
<body>
	  <h2><p><b> Форма для загрузки файлів </b></p></h2>
	  <form action="upload.php" method="post" enctype="multipart/form-data">
	  <input type="file" name="filename"><br>
	  <input type="submit" value="Завантажити"><br>
	  </form>
</body>
</html>

Код скрипта обработки формы (upload.php)
<html>
<head>
  <title>Результат завантаження файлів</title>
</head>
<body>
<?php
$filesize=1024*3*1024;
   if($_FILES["filename"]["size"] > $filesize)
   {
	 echo ("Розмір завантажуваного файлу перевищує $filesize кілобайта");
	 exit;
   }
   if(copy($_FILES["filename"]["tmp_name"],
	 "c:/temp/".$_FILES["filename"]["name"]))
   {
	 echo("Файл успешно загружен <br>");
	 echo("Характеристики файла: <br>");
	 echo("Имя файла: ");
	 echo($_FILES["filename"]["name"]);
	 echo("<br>Размер файла: ");
	 echo($_FILES["filename"]["size"]);
	 echo("<br>Каталог для загрузки: ");
	 echo($_FILES["filename"]["tmp_name"]);
	 echo("<br>Тип файла: ");
	 echo($_FILES["filename"]["type"]);
   } else {
	  echo("Ошибка загрузки файла");
   }
?>
</body>

</html>

//Атрибут entype формы определяет вид кодировки, которую браузер применяет к параметрам формы. Для того чтобы отправка файлов на сервер действовала, атрибуту entype необходимо присвоить значение multipart/form-data. По умолчанию этот атрибут имеет значение application/x-www-form-urlencoded.

Элемент ввода этой формы должен иметь тип file.

После того, как получен HTTP-запрос, содержимое загруженного файла записывается во временный файл, который создается в каталоге сервера, заданном по умолчанию для временных файлов, если другой каталог не задан в файле php.ini (директива upload_tmp_dir).

Характеристики загруженного файла доступны через двумерный массив HTTP_POST_FILES.

Cкрипт upload.php загружает файл на сервер и копирует его в каталог /temp/. Внимание! В демонстрационном примере файл загружается на диск С в директорию /temp. Поэтому в реальной работе на сервере замените путь c:/temp на тот, который нужен.

После выполнения этого скрипта выбранный для загрузки файл будет помещен в каталог c:/temp, а броузер выдаст фразу: Файл успешно загружен
Я розумію, що багато прошу, але я тільки почав вчити PHP і мені ше далеко до програмерів такого рівня як тут. Тож мені дійсно складно.
  • 0

#127 Fynjy

    Ледар

  • Користувачі
  • PipPip
  • 16 повідомлень
  • Стать:Чоловік
  • Місто:Дубно

Відправлено 05.07.2009 – 21:15

Скажіть будь-ласка чи можна відсилати cookies взалежності від обставин. if ($a==$:) {сеткукіс і так далі}. Я читав шо ні бо вони мають задаватися перед основним кодом; і ще хто зна, як сайти типу вконтакте і тд. проводять розпізнавання користувачів за допомогою кукіс? яку саме інформацію записують у них? пароль чи якийсь спец ідентифікатор, скажіть будь-ласка хто зна.
  • 0

#128 Fynjy

    Ледар

  • Користувачі
  • PipPip
  • 16 повідомлень
  • Стать:Чоловік
  • Місто:Дубно

Відправлено 13.07.2009 – 13:54

Допоможіть з питанням переадресації: як зробити подібне:
if ($a==$;) переадресація туди-то;
  • 0

#129 passika

    Ледар

  • Користувачі
  • PipPip
  • 28 повідомлень
  • Стать:Чоловік
  • Місто:Львів

Відправлено 20.02.2011 – 13:58

Перегляд дописуРуля ван Метал (19.05.2007 16:31) писав:

Може хтось знайде помилку?

Звідси


сюди має переходити і виводити вік і імя користувача



а воно не виводить ніфіга, що не так :rolleyes:

це має бути пхп скріпт ? чи сджіай ? бо я можу на пхп тобі написати якшо треба , буцькни в приват , безкоштовно =)
  • 0

#130 passika

    Ледар

  • Користувачі
  • PipPip
  • 28 повідомлень
  • Стать:Чоловік
  • Місто:Львів

Відправлено 21.02.2011 – 09:26

Перегляд дописуFynjy (13.07.2009 13:54) писав:

Допоможіть з питанням переадресації: як зробити подібне:
if ($a==$:) переадресація туди-то;

if ($a==$B)
header('location:адреса');

але шоб це працювало до того не має бути ніяких виводів типу ехо і тд інакше буде ерор
  • 0

#131 Sigon

    Ледар

  • На перевірці
  • PipPip
  • 18 повідомлень

Відправлено 15.08.2016 – 22:16

ОБЕРЕЖНО!!! ТРОЛІНГ!!!

PHP-шники, а чи то правду кажуть шо РУБІ 2 може більше ніж пхп 7?
  • 0

#132 Helg

    Чайник

  • Користувачі
  • Pip
  • 8 повідомлень
  • Стать:Чоловік

Відправлено 04.10.2017 – 14:18

Всім доброго дня. Вивчаю PHP по книзі Head First PHP. Виконував завдання на хостингу zzz.com.ua, все працювало. Дійшов до розділу де необхідне зв'язування таблиць, zzz.com.ua, на безкоштовному пакеті не дає таких можливостей. Знайшов інший хостинг 000webhost.com, все переніс, створив базу даних, відповідну таблицю, але не працює коректно. Якщо я правильно розумію, то в мене не хоче підключатись до бази даних.
Чи може хтось допомогти? Може з першого погляду впізнає проблему?
http://testforstudy....rst/3/index.php - все нормально
https://helgo.000web...rst/3/index.php - не працює
  • 0



Кількість користувачів, що читають цю тему: 1

0 користувачів, 1 гостей, 0 анонімних