Перейти к контенту

PHP + mySQL + Form + $_POST + первая буква


Рекомендуемые сообщения

Возникла тут одна проблема... Мож, кто подскажет, как ее решить?..

делаю форму, значица...

 

   <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
    <table cellspacing="0" cellpadding="1" border="0">
     <tr>
      <td>
       <input type="text" name="date" style="font-family: Tahoma; font-size: 8pt" maxlength="10">
       <input type="text" name="time" style="font-family: Tahoma; font-size: 8pt" maxlength="8">
      </td>
     </tr>
     <tr>
      <td>
       <input type="text" name="nameof" style="font-family: Tahoma; font-size: 8pt; width: 313">
      </td>
     </tr>
     <tr>
      <td>
       <textarea cols="55" rows="10" style="font-family: Tahoma; font-size: 8pt" name="note"></textarea>
      </td>
     </tr>
     <tr>
      <td align="right">
       <input type="button" value="текущие" style="font-family: Tahoma; font-size: 8pt" onclick="document.forms[0].elements['date'].value='не скажу'">      
       <input type="submit" value="отправить" style="font-family: Tahoma; font-size: 8pt">
      </td>
     </tr>
    </table>
   </form>

 

в том же файле тока выше:

 

<?php
$vresult = "";
$action = $_POST['action'];
$date = $_POST['date'];
$time = $_POST['time'];
$nameof = $_POST['nameof'];
$note = $_POST['note'];

if (($date!="")&&($time!="")&&($note!="")&&($nameof!=""))
{
    $n_by_page = $_GET['rows'];
    if ($n_by_page=="") $n_by_page=10;
   
    $link = mysql_connect("localhost", "root", "password")
        or die("Не могу создать подключение");
    mysql_select_db("ASO_news") or die("Не могу подключить базу данных новостей");
    $sql = "INSERT INTO news (NDate, NTime, NameOf, Note) Values ('$date', '$time', '$nameof', '$note');";
    mysql_query($sql) or die("записать не получилось");

    mysql_close($link);  
 
 $vresult = "запись была успешно добавлена!!!";
}
?>

 

Получается, что иногда в $note нет первой буквы (обычно, когда большой текст)... Почему?

Ссылка на комментарий
Поделиться на других сайтах

note - text

 

$sql="CREATE TABLE news (id bigint(20) NOT NULL auto_increment, ndate DATE, ntime TIME, nameof varchar(255), note text, PRIMARY KEY (id)) TYPE=MyISAM;";
mysql_query($sql) or die("записать не получилось");

Ссылка на комментарий
Поделиться на других сайтах

с этим проблем быть не должно. Тогда давайте посмотрим где обрезается текст в базе или перед ней.

echo htmlspecialchars($note);

перед $n_by_page = $_GET['rows'];

и смотрим пропадает там текст или нет.

Ссылка на комментарий
Поделиться на других сайтах

хм... в эхе первая буква не обрезается... видать, обрезается именно в базе... но почему не на всех, а только на больших текстах? может, поле notes должно быть другого типа?

я просто еще ламер в php и mySQL...

Ссылка на комментарий
Поделиться на других сайтах

Ну, например, вот у этого первая буква обрезалась...

 

Канадский проект da Vinci, один из основных претендентов на приз Ansari X Prize за первый частный полет за пределы земной атмосферы, вынужден перенести дату запуска своего корабля на более поздний срок.

По условиям соревнования Ansari X Prize, напомним, участникам необходимо осуществить два запуска аппарата на высоту 100 км в течение двух недель с двумя пассажирами на борту (или эквивалентным по массе грузом). Сейчас за приз в размере десяти миллионов долларов США борются свыше 20 команд, однако наибольшие шансы на победу имеют вышеупомянутый проект da Vinci и американская компания Scaled Composites с кораблем SpaceShipOne. Последняя уже провела испытания своего аппарата и должна осуществить первый полет за пределы земной атмосферы послезавтра, 29 сентября. Второй старт намечен на 4 октября.

Что касается команды da Vinci, то она также завершила тестирование одного из основных компонентов своего проекта, тем не менее, запланированный на 2 октября запуск пришлось отложить. Как сообщается на официальном сайте da Vinci, перенос даты не связан с возникшими ранее проблемами со страховкой и объясняется исключительно техническими причинами, а именно недоступностью нескольких компонентов конструкции корабля. Руководство канадского проекта отказалось делать какие-либо прогнозы относительно возможной даты старта, однако подчеркнуло, что намерено довести начатое дело до конца. Между тем, если намеченный на 29 сентября запуск аппарата SpaceShipOne пройдет успешно, шансы da Vinci на получение приза Ansari X Prize резко упадут.

(с) Компьюлента

 

хотелось бы, конечно, чтоб и побольше можно было запихнуть...

Ссылка на комментарий
Поделиться на других сайтах

MySQL ставил сам, на там я ничего не трогал, там и настраивать-то вроде нельзя ничего... Кодировка, скорее всего, нормальная, win-1251, т.к. файлик базы (.myd) открываю на F3 просмотрщиком, все нормально смотрится... насколько я знаю (например, в IPB 2.0), там всякие кроказябры с решетками... а тут прям нормально смотрится...

 

зы... да и причем тут кодировка если обрезается только первая буква и то только у больших текстов?

Ссылка на комментарий
Поделиться на других сайтах

Попробуйте поставить http://dklab.ru/chicken/web/base.html настроенный уже, проверьте скрипт, если все будет впорядке сравнивайте my.cnf

да и причем тут кодировка если обрезается только первая буква и то только у больших текстов?

всякое может быть, поверьте =)

Ссылка на комментарий
Поделиться на других сайтах

:D Денвер чё-то не охота ставить...

Но ставил вроде с нормального руководства...

 

ХМ! Посмотрел таблицу (так, простым Viewer'ом - ТАМ ЕСТЬ ПЕРВАЯ БУКВА!!!!!)

Может, я не так вывожу????

 

вывод:

<table width="100%" cellspacing="0" cellpadding="0" border="0" style="margin-left: 5px">

<?
$link = mysql_connect("localhost", "root", "password")
      or die("Не могу создать подключение");
    mysql_select_db("ASO_news") or die("Не могу подключить базу данных новостей");

    $id = $_GET['id'];
    if (($id != "")&&($id != "0"))
    {

    }
    else
    {
  $page=$_GET['page'];
  if ($page=="") $page=1;

  if ($page==1) $limit_low = 1;
   else $limit_low = $page*10-9;
  $limit_low--;
  $limit_high = $limit_low + 10;

  $count = @mysql_result(mysql_query("Select Count(id) as ResultCount from news"),0);

  $news_list = mysql_query("Select * from news order by Id desc limit $limit_low,$limit_high");

  for ($i = 0; $i<10; $i++)
  {
   if ($news_row = mysql_fetch_array($news_list))
   {
    $note = $news_row[4];
    if (strlen($note)>250)
    {
     $note = substr($note,1,250).".<font color=\"red\">...</font>";
    }
    $date = str_replace("-",".",$news_row[1]);
    $note = str_replace("\n", "<br>", $note);

    echo("<tr>");
    echo("<td width=\"80px\"><b>");  echo($date); echo("</b></td>");
    echo("<td><b><a href=\"index.php?module=news&id=".$news_row[0]."\">".$news_row[3]."</a></b></td>");
    echo("</tr>\n");	echo("<tr>");
    echo("<td></td><td>"); echo($note); echo("</td>");
    echo("</tr>");
    echo("<tr><td colspan=\"2\"> </td></tr>\n\n");
   }
  }
}

    mysql_close($link);
?>

</table>

 

оффтоп: а сколько может в себя вмещать символов поле типа text, не подскажете?

Ссылка на комментарий
Поделиться на других сайтах

    {

     $note = substr($note,1,250).".<font color=\"red\">...</font>";

    }

ну конечно =) исправьте на:

    $note = substr($note,0,250).".<font color=\"red\">...</font>";

а сколько может в себя вмещать символов поле типа text, не подскажете?

RTFM, мой друг, RTFM

Ссылка на комментарий
Поделиться на других сайтах

афигеть... во облажался так облажался...

прошу прощения за такую тупость... а ведь я программист... непростительно... жуть... побейте меня...

 

ОГРОМНОЕ СПАСИБО ЗА ПОМОЩЬ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.