Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

16.12.2008, 19:02
|
|
Постоянный
Регистрация: 11.11.2006
Сообщений: 834
Провел на форуме: 3941248
Репутация:
668
|
|
m0Hze не понел вопрос но думаеца мне что ошибка в if($logs = '') .... т.к надо или
if($logs === '') или лучше if(empty($logs)) ....
а то в твоём примере ты не проверяешь равенство а присваеваешь .... и это всегда возвращяет TRUE
|
|
|

16.12.2008, 19:08
|
|
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
Провел на форуме: 6462214
Репутация:
3171
|
|
Списибо все работает.Но вот вопрос.Если мне приспичило почистить файл,я удаляю все содержимое в <textarea>, и отправляю,то он соответственно делает die();
Поэтому у меня вт такая идея(я просто никогда не работал с 2 кнопками) создать вторую кнопку,очистить.Както будет выглядеть?
|
|
|

16.12.2008, 19:15
|
|
Постоянный
Регистрация: 29.05.2007
Сообщений: 852
Провел на форуме: 4832771
Репутация:
1916
|
|
ну кнопочкой ты очистить можешь поле, а потом отправить пустые данные.
короче либо так:
PHP код:
$content = file_get_contents('logs.txt');
echo '<form action="" method="post">';
echo '<textarea name="logs" cols="40" rows="20">'.$content.'</textarea>';
echo '<br/><input type="submit"><input type="reset"></form>';
$logs = isset($_POST['logs']) ? $_POST['logs'] : false;
if($logs !== false){
$wr = fopen('logs.txt', 'wt');
fwrite($wr, $logs);
fclose($wr);
}
либо так:
PHP код:
$content = file_get_contents('logs.txt');
echo '<form action="" method="post">';
echo '<textarea name="logs" cols="40" rows="20">'.$content.'</textarea>';
echo '<br/><input type="submit"></form>';
$logs = !empty($_POST['logs']) ? $_POST['logs'] : false;
if($logs){
$wr = fopen('logs.txt', 'wt');
fwrite($wr, $logs);
fclose($wr);
}else{
$wr = fopen('logs.txt', 'wt');
fclose($wr);
}
|
|
|

16.12.2008, 19:17
|
|
Познавший АНТИЧАТ
Регистрация: 12.05.2007
Сообщений: 1,235
Провел на форуме: 2238549
Репутация:
1318
|
|
Тока я бы ещё файл открывал в режиме "a"...
|
|
|

16.12.2008, 19:18
|
|
Постоянный
Регистрация: 11.11.2006
Сообщений: 834
Провел на форуме: 3941248
Репутация:
668
|
|
isset($_POST['logs']) если не ошибаюсь когда $_POST['logs'] пуст то isset вернёт false
|
|
|

16.12.2008, 19:19
|
|
Постоянный
Регистрация: 29.05.2007
Сообщений: 852
Провел на форуме: 4832771
Репутация:
1916
|
|
Тока я бы ещё файл открывал в режиме "a"...
Ну как я понимаю он перезаписывает файл, а не дополняет. Поэтому w
Doom123
нет, isset проверяет на существование
PHP код:
$a = '';
if(isset($a)) echo 'оно иссет';
Последний раз редактировалось .:EnoT:.; 16.12.2008 в 19:23..
|
|
|

16.12.2008, 19:23
|
|
Новичок
Регистрация: 25.11.2008
Сообщений: 4
Провел на форуме: 25501
Репутация:
1
|
|
что надо прописать чтобы рисунок повторялся до той степени пока не закончится текст возле него, но при этом текст в другой таблице!?
|
|
|

16.12.2008, 19:34
|
|
Постоянный
Регистрация: 21.08.2008
Сообщений: 302
Провел на форуме: 458686
Репутация:
-25
|
|
.:EnoT:.
Но суть проблемы остается смотри!
Есть база под названием img с таблицами data и fotos
в них поля одинаковые id, name, url!
Всё работает в 3-и шага!
1. index.php первый шаг!
PHP код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Загрузка</title>
</head>
<body>
<form enctype="multipart/form-data" method="POST" action="load.php">
<b>Фото:</b><br />
<input type="file" name="myfile" style="width:304px; height:18px" id="myfile" />
<br /><br />
<input style="height: 35px;" type="submit" value="Добавить фото" name="submit">
</form>
</body>
</html>
2. load.php второй шаг
PHP код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Untitled Document</title>
</head>
<body>
<?php
// Подключаемься к базе данных
include ("db.php");
//================Настройки============= //
$maxwidth = "300px"; // максимальная ширина картинок на превью
$fotos_dir = "fotos/"; // Директория для фотографий товаров
$foto_name = $fotos_dir.time()."_".basename($_FILES['myfile']['name']); // Полное имя файла вместе с путем
$foto_light_name = time()."_".basename($_FILES['myfile']['name']); // Имя файла исключая путь
$foto_tag = "<img src=\"$foto_name\" border=\"0\">"; // Готовый тэг для вставки картинки на страницу
$foto_tag_preview = "<img src=\"$foto_name\" border=\"0\" width=\"$maxwidth\">"; // Тот же тэг, но для превью
// Текст ошибок
$error_by_mysql = "<span style=\"font: bold 15px tahoma; color: red;\">Ошибка при добавлении данных в базу</span>";
$error_by_file = "<span style=\"font: bold 15px tahoma; color: red;\">Невозможно загрузить файл в директорию. Возможно её не существует</span>";
// Начало
if(isset($_FILES["myfile"]))
{
$myfile = $_FILES["myfile"]["tmp_name"];
$myfile_name = $_FILES["myfile"]["name"];
$myfile_size = $_FILES["myfile"]["size"];
$myfile_type = $_FILES["myfile"]["type"];
$error_flag = $_FILES["myfile"]["error"];
// Если ошибок не было
if($error_flag == 0)
{
$DOCUMENT_ROOT = $_SERVER['DOCMENT_ROOT'];
$upfile = getcwd()."\\fotos\\" . time()."_".basename($_FILES["myfile"]["name"]);
if ($_FILES['myfile']['tmp_name'])
{
//Если не удалось загрузить файл
if (!move_uploaded_file($_FILES['myfile']['tmp_name'], $upfile))
{
echo "$error_by_file";
exit;
}
}
else
{
echo 'Проблема: возможна атака через загрузку файла. ';
echo $_FILES['myfile']['name'];
exit;
}
// Заносим путь картинки в базу данных
$q = "INSERT INTO foto (url,name) VALUES ('$foto_name','$foto_light_name')";
$query = mysql_query($q);
// Загрузка с базы
$result = mysql_query("SELECT * FROM foto WHERE name='$foto_light_name'",$db);
if (!$result)
{
echo "<p>Запрос на выборку данных из базы не прошел. Напишите об этом администратору admin@ruseller.com. <br> <strong>Код ошибки:</strong></p>";
exit(mysql_error());
}
if (mysql_num_rows($result) > 0)
{
$myrow = mysql_fetch_array($result);
printf ("<img src='%s'/>",$myrow['url']);
$adres = $myrow['url'];
}
else
{
echo "<p>Информация по запросу не может быть извлечена в таблице нет записей.</p>";
exit();
}
// Данные успешно внесены в базу данных, выводим сообщение
if ($query == 'true') {
echo "<br /><b>Данные успешно внесены в базу</b>";
}
// В противном случае, выводим ошибку при добавлении в базу данных
else {
echo "$error_by_mysql";
}
}
elseif ($myfile_size == 0) {
echo "Пустая форма!";
}
}
?>
<form action="end.php" method="post" name="end">
<?
// Вывод базы картинок
$result1 = mysql_query("SELECT * FROM data",$db);
if (!$result1)
{
echo "<p>Запрос на выборку данных из базы не прошел. Напишите об этом администратору admin@ruseller.com. <br> <strong>Код ошибки:</strong></p>";
exit(mysql_error());
}
if (mysql_num_rows($result1) > 0)
{
$myrow1 = mysql_fetch_array($result1);
do
{
printf ("<br><br><img src='admin/%s'><input name='vibor' type='radio' value='%s'><label>%s</label><br>",$myrow1["url"],$myrow1["id"],$myrow1["name"]);
}
while ($myrow1 = mysql_fetch_array($result1));
}
else
{
echo "<p>Информация по запросу не может быть извлечена в таблице нет записей.</p>";
exit();
}
?>
<input name="load" type="hidden" value="<? echo $adres; ?>" />
<input name="sub" type="submit" value="далее" />
</form>
3. end.php тритий шаг(как ты посоветовал!!!)
PHP код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Загрузка</title>
</head><body>
<div align="center"><img src='end1.php' /></div>
</body></html>
А в end1.php находится:
PHP код:
<?php include("db.php");
if (isset($_POST['vibor'])) { $vibor = $_POST['vibor'];}
if (isset($_POST['load'])) { $adres = $_POST['load'];}
$result1 = mysql_query("SELECT * FROM data WHERE id='$vibor'",$db);
if (!$result1)
{
echo "<p>Запрос на выборку данных из базы не прошел. Напишите об этом администратору admin@ruseller.com. <br> <strong>Код ошибки:</strong></p>";
exit(mysql_error());
}
if (mysql_num_rows($result1) > 0)
{
$myrow1 = mysql_fetch_array($result1);
$im = imagecreatetruecolor(215, 750);
$im1 = imagecreatefromjpeg($adres);
$im2 = imagecreatefromjpeg('logo.jpg');
$im3 = imagecreatefromjpeg($myrow1['url']);
imagecopy($im, $im1, 0, 0, 0, 0, 25, 25);
imagecopy($im, $im2, 25, 0, 0, 0, 25, 25);
imagecopy($im, $im3, 0, 25, 0, 0, 25, 25);
header('Content-type: image/jpeg');
imagejpeg($im);
}
else
{
echo "<p>Информация по запросу не может быть извлечена в таблице нет записей.</p>";
exit();
}
?>
Проблема заключается в том что перевеные $vibor и $adres не передаются! Как это исправить????? 
|
|
|

16.12.2008, 19:37
|
|
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
Провел на форуме: 6462214
Репутация:
3171
|
|
Хм,1 способ,впринцапе работает,как и 2.
Но в 1 способе,кнопка ресет,если файл заполнен чемто,выводит его содржимое.Как бу мне сделать так,шоб оно пропадало?ТОесть поле полностью очищалось.
|
|
|

16.12.2008, 19:43
|
|
Постоянный
Регистрация: 21.08.2008
Сообщений: 302
Провел на форуме: 458686
Репутация:
-25
|
|
Сообщение от NONi
что надо прописать чтобы рисунок повторялся до той степени пока не закончится текст возле него, но при этом текст в другой таблице!?
Воспользуйся циклом:
Конешно же перед этим зделай запрос к базе для вывода текста который необходим!
PHP код:
do {
printf ("(здесь переменая из масива с текстом)%s а здесь твоя картинка <img scr='её адрес'>", переменая из масива с текстом);
} while до тех пор пока есть текст в базе
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|