Обрезаеться текст...

ilovephp

Guest
Обрезаеться текст...

Народ помогите со скриптом!
Скрипт у меня для дабавления ссылок на сайт.
add.php
PHP:
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Добавить ссылку</title>
<?php
require("config.php");
  if(!empty($url)) {
     #$Site = addslashes($Site);
     $URL = addslashes($URL);
     #$Banner = addslashes($Banner);
    $sql = "INSERT INTO links SET URL='$url'";
     $query = mysql_query($sql) or die("Cannot query the database.<br>" . mysql_error());
       echo "Ссылка на сайт $url добавлена.<br><br><a href='links.php'>Посмотреть ссылки</a>";
  } else {
?> 
<style type="text/css">
<!--
.button {
	background-image: url(bg.gif);
	font-weight: bold;
	text-transform: uppercase;
	color: #FFFFFF;
	border: thin solid #000000;
}
.textarea {
	border: thin solid #000000;
	color: #FFFFFF;
	background-color: #666699;
}
-->
</style>
<h3><font color="#FF0000">Д</font><sub><font color="#009999">о</font></sub>б<sub><font color="#CC9900">а</font></sub><font color="#999999">в</font><sub>и</sub>ть</h3>
<form name="links" method="post" action="<?php echo $PHP_SELF; ?>">

<table width="100%" border="0" cellpadding="2" cellspacing="2">
<tr>
<td width="117">Ссылка:</td>
<td width="577">
  <textarea name="url" cols="100" rows="10" class="textarea"></textarea>
</td>
</tr>
</table>
<tr>
<td>
<input name="Submit" type="submit" class="button" value="Добавить ссылку">
<input name="reset" type="reset" class="button" value="Очистить"></form>
</td>
<td>
<form method="post" action="links.php">
<input name="viewlinks" type="submit" class="button" value="Просмотр ссылок">
</form>
</td>
</tr>
</table>
 <?php
}
?>
links.php
PHP:
<style type="text/css">
<!--
.button {
	background-image: url(bg.gif);
	font-weight: bold;
	text-transform: uppercase;
	color: #FFFFFF;
	border: thin solid #000000;
}
-->
</style>
<div align="right">
<form method="post" action="add.php">
<input name="add" type="submit" class="button" value="Добавить ссылку">
</form>
</div>
<?php include ("config.php");
$sql = "SELECT * FROM links order by id ASC";
$query = mysql_query($sql) or die("Cannot query the database.<br>" . mysql_error());
while($result = mysql_fetch_array($query))
{
#$Site = stripslashes($result["Site"]);
$URL = stripslashes($result["URL"]);
#$Banner = stripslashes($result["Banner"]);
$id = $result["ID"];

#if ($Banner != "")
#{echo "<a href=$URL target='_blank'><img src=$Banner border='0' alt='$Site'></a><br>";}?>
<?php
echo "$URL<hr color=black>";
}

?>
config.php
PHP:
<?php
$username = "root";
$password = "iddqd";
$host = "localhost";
$database = "test";
mysql_connect($host,$username,$password) or die("I can't connect.<br>" . mysql_error());
mysql_select_db($database) or die("Cannot select the database.<br>" . mysql_error());
?><h3>Обмен ссылками</h3>
 

Кром

Новичок
>Обрезаеться текст...

А нужно, чтобы обрывался, я так понимаю?
 

ilovephp

Guest
Когда через add.php добавляю ссылку например такую:
<a href="">ООО *****
предлагает Вашему вниманию по НИЗКИМ ценам:</a><br>
<a href="/index.php?id=tal_new">Тали электрические моделей</a> |
<a href="/index.php?id=tal10">2ТЭ 10000</a> |
<a href="/index.php?id=tal62">2ТЭ 6300</a> |
<a href="/index.php?id=tal61">ТЭС 6300</a> |
<a href="/index.php?id=tal52">ТЭС 5000-3/1</a> |
<a href="/index.php?id=tal51">ТЭС 5000-4/1</a> |
<a href="/index.php?id=tal32">2ТЭ 320</a> |
<a href="/index.php?id=tal31">ТЭ 320 г/п 3,2 т</a> |
<a href="/index.php?id=tal2">ТЭ 320 г/п 2 т</a> |
<a href="/index.php?id=tal1">ТЭ 100</a> |
<a href="/index.php?id=tal_ruch">Тали ручные</a> |
<a href="/index.php?id=shest">Шестеренчатые</a> |
<a href="/index.php?id=tal_cherv">Червячные</a> |
<a href="/index.php?id=kr_podv">Кран балки подвесные</a> |
<a href="/index.php?id=kr_opor">опорные</a> |
<a href="/index.php?id=tormoz">Тормоза ТКГ</a> |
то в "links.php" отображаеться только:
"ООО ***** предлагает Вашему вниманию по НИЗКИМ ценам:
Тали электрические моделей | 2ТЭ 10000 | 2ТЭ 6300 |"
Вот дамп MySQL
-- phpMyAdmin SQL Dump
-- version 2.6.0-pl2
-- http://www.phpmyadmin.net
--
-- Хост: localhost
-- Время создания: Апр 28 2005 г., 17:50
-- Версия сервера: 3.23.53
-- Версия PHP: 4.3.9
--
-- БД: `test`
--

-- --------------------------------------------------------

--
-- Структура таблицы `links`
--

CREATE TABLE `links` (
`ID` int(11) NOT NULL auto_increment,
`URL` varchar(255) default NULL,
PRIMARY KEY (`ID`)
) TYPE=MyISAM AUTO_INCREMENT=47 ;

--
-- Дамп данных таблицы `links`
--

INSERT INTO `links` VALUES (46, '<a href="">ООО *****\r\nпредлагает Вашему вниманию по НИЗКИМ ценам:</a><br>\r\n<a href="/index.php?id=tal_new">Тали электрические моделей</a> |\r\n<a href="/index.php?id=tal10">2ТЭ 10000</a> |\r\n<a href="/index.php?id=tal62">2ТЭ 6300</a> |\r\n<a href="/index.php?i');

Я в этом еще новичек в php, подскажите в чем может быть дело?
 

Лексеич

Московский калмык
ну ты посмотри сам на свой дамп. Особенно сюда:

PHP:
'<a href="">ООО *****\r\nпредлагает Вашему вниманию по НИЗКИМ ценам:</a><br>\r\n<a href="/index.php?id=tal_new">Тали электрические моделей</a> |\r\n<a href="/index.php?id=tal10">2ТЭ 10000</a> |\r\n<a href="/index.php?id=tal62">2ТЭ 6300</a> |\r\n<a href="/index.php?i'
а потом посмотри что выводится. По-моему всё выводится верно, в соответствии с данными в базе. :)

А еще у тебя тип поля varchar(255). Теперь посчитай сколько символов в строчках, написанных, красным. Надеюсь дальше понял?
 

ilovephp

Guest
Да все верно но мне надо чтобы в базе было все что введено в форму в файле add.php а мненно:

<a href="">ООО *****
предлагает Вашему вниманию по НИЗКИМ ценам:</a><br>
<a href="/index.php?id=tal_new">Тали электрические моделей</a> |
<a href="/index.php?id=tal10">2ТЭ 10000</a> |
<a href="/index.php?id=tal62">2ТЭ 6300</a> |
<a href="/index.php?id=tal61">ТЭС 6300</a> |
<a href="/index.php?id=tal52">ТЭС 5000-3/1</a> |
<a href="/index.php?id=tal51">ТЭС 5000-4/1</a> |
<a href="/index.php?id=tal32">2ТЭ 320</a> |
<a href="/index.php?id=tal31">ТЭ 320 г/п 3,2 т</a> |
<a href="/index.php?id=tal2">ТЭ 320 г/п 2 т</a> |
<a href="/index.php?id=tal1">ТЭ 100</a> |
<a href="/index.php?id=tal_ruch">Тали ручные</a> |
<a href="/index.php?id=shest">Шестеренчатые</a> |
<a href="/index.php?id=tal_cherv">Червячные</a> |
<a href="/index.php?id=kr_podv">Кран балки подвесные</a> |
<a href="/index.php?id=kr_opor">опорные</a> |
<a href="/index.php?id=tormoz">Тормоза ТКГ</a> |

И чтобы все то что ввеедено в форму было в базе...
 

Лексеич

Московский калмык
ПОВТОРЯЮ!

У тебя тип поля varchar(255). Теперь посчитай сколько символов в строчках, написанных, красным.
ключевой момент: -> (255)

И напиши сюда СКОЛЬКО символов.
 

ilovephp

Guest
Пробовал изменить varhar(255) через phpmyadmin но там максимум 255 символов можно устанавливать. Может поставить не varchar а что нибудь другое например text? Как мне сделать чтобы можно было писать неограниченный текст?! Подскажите кто знает!
Заранее спасибо!
 

ilovephp

Guest
Все работает!

-~{}~ 28.04.05 15:43:

Народ!
Щас другая проблема!
Когда добавляешь ссылку типа:
<a href='http://super-site.ru' target='_blank'><b>super-site</b>
Супер-пупер-сайт</a>

Появляеться вот это:

Notice: Undefined variable: URL in x:\home\do.ru\www\add.php on line 7
Cannot query the database.
You have an error in your SQL syntax near 'http://mashina.net.ru' target='_blank'>Mashina.net.ru Авто Тюнинг Порта' at line 1
 

ilovephp

Guest
убрал все stripslashes и addslashes и све равно эта же ошбика при вставки ссылки <a href='http://super-site.ru' target='_blank'><b>super-site</b>
Супер-пупер-сайт</a> причем остальные ссылки добавляються нормально, люди подскадите как убрать эту проблему.
 

Лексеич

Московский калмык
Автор оригинала: ilovephp
убрал все stripslashes и addslashes и све равно эта же ошбика при вставки ссылки <a href='http://super-site.ru' target='_blank'><b>super-site</b>
Супер-пупер-сайт</a> причем остальные ссылки добавляються нормально, люди подскадите как убрать эту проблему.
кусок кода давай, только копи-пэйстом а не вручную набивай.
 

ilovephp

Guest
add.php
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Добавить ссылку</title>
<?php
require("config.php");
if(!empty($url)) {
#$Site = addslashes($Site);
$URL = ($URL);
#$Banner = addslashes($Banner);
$sql = "INSERT INTO links SET URL='$url'";
$query = mysql_query($sql) or die("Cannot query the database.<br>" . mysql_error());
echo "Ссылка добавлена.<hr>$url<hr><a href='links.php'>Посмотреть ссылки</a>";
} else {
?>
<style type="text/css">
<!--
.button {
background-image: url(bg.gif);
font-weight: bold;
text-transform: uppercase;
color: #FFFFFF;
border: thin solid #000000;
}
.textarea {
border: thin solid #000000;
color: #FFFFFF;
background-color: #666699;
}
-->
</style>
<h3><font color="#FF0000">Д</font><sub><font color="#009999">о</font></sub>б<sub><font color="#CC9900">а</font></sub><font color="#999999">в</font><sub>и</sub>ть</h3>
<form name="links" method="post" action="<?php echo $PHP_SELF; ?>">

<table width="100%" border="0" cellpadding="2" cellspacing="2">
<tr>
<td width="117">Ссылка:</td>
<td width="577">
<textarea name="url" cols="100" rows="10" class="textarea"></textarea>
</td>
</tr>
</table>
<tr>
<td>
<input name="Submit" type="submit" class="button" value="Добавить ссылку">
<input name="reset" type="reset" class="button" value="Очистить"></form>
</td>
<td>
<form method="post" action="links.php">
<input name="viewlinks" type="submit" class="button" value="Просмотр ссылок">
</form>
</td>
</tr>
</table>
<?php
}
?>
 

swamp_demon

Новичок
$URL = ($URL);
#$Banner = addslashes($Banner);
$sql = "INSERT INTO links SET URL='$url'";

==========================
может

$URL = addslashes($URL);
$sql = "INSERT INTO links SET URL='$url'";
 

ilovephp

Guest
Нет, именно
$URL = ($URL);
#$Banner = addslashes($Banner);
$sql = "INSERT INTO links SET URL='$url'";
 

swamp_demon

Новичок
ладно пойдем ххитрым путем.
пробуй вот так.

$URL = mysql_escape_string($URL);
$sql = "INSERT INTO links SET URL='$url'";
 

Фанат

oncle terrible
Команда форума
ilovephp
а что означает эта хитрая конструкция?
$URL = ($URL);
#$Banner = addslashes($Banner);
$sql = "INSERT INTO links SET URL='$url'";
swamp_demon
тот же вопрос и к тебе.
поясни, пожалуйцста, осмысленность тех телодвижений, которые ты здесь привёл.

ЗЫ. убивал бы за задвание двух тупых вопросов в одном топике.
пришлось прочитать кучу мусора от уже решённой задачи.
 

swamp_demon

Новичок
черт я что то туплю. Регистр букв совсем не заметил, да и вообще внимательнее надо быть. Вообще думаю так

$url = addslashes($_POST['url']);
$sql = "INSERT INTO links SET URL='$url'";

в общем идею с addslashes он не оценил я решил другим путем пойти :)
 

Фанат

oncle terrible
Команда форума
swamp_demon
а что твой код сделает с данными, если в пхп magic_quotes=on?
 

swamp_demon

Новичок
ясное дело нехорошо будет

if (!get_magic_quotes_gpc()) {
$url = addslashes($_POST['url']);
}
else {
$url = $_POST['url'];
}

зы. а вообще он же писал ошибку

Cannot query the database.
You have an error in your SQL syntax near 'http://mashina.net.ru' target='_blank'>Mashina.net.ru Авто Тюнинг Порта' at line 1

из чего я сделал выводы что magic_quotes=off
 
Сверху