Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: вывод данных
 
 автор: 10100100   (17.08.2006 в 13:49)   письмо автору
 
 

нуэно вывести информацию о пользователе из БД. раньше всё работало, не опнимаю что сейчас не так. Имя юзера передаётся методом ГЕТ в обработчик - он же выводит информацию точнее должне её ыводить но ни одно поле не выводится.ю данные в базе есть точно.

вот обработчик:


<?php
include "../config.php";
$name=$_GET['name'];
if (
$_COOKIE["valid_user"])
{        
        
$query3 'UPDATE user SET last_time = NOW() WHERE name = ".$name."';
        
mysql_query($query3);

else {;}

$query 'SELECT * FROM user WHERE name = ".$name."'
$ath mysql_query($query);
  if(!
$ath) exit("Ошибка - ".mysql_error()); 
else {
include (
"../../../up.html");
include (
"../../../buttons.php");
    echo 
'<td width=100% bgcolor=D4D4D4 valign=top>
    <table width=100% border=0 cellpadding=0 cellspacing=0><tr><td>'
;
if(
$ath)
{
  
$user mysql_fetch_array($ath);
  
$mail=$user['email'];
  
$name=$user['name'];
  
$homepage=$user['homepage'];
  
$about=$user['about'];
  
$time=$user['time'];
  
$last_time=$user['last_time'];
  echo 
'<b><font size=3>';
  echo 
$name;
  echo 
'</font></b><br>';
  echo 
'<a href=mailto:';
  echo 
$mail;
  echo 
'>';
  echo 
'E-Mail</a><br>';
  echo 
"Домашняя страница:  ".$homepage."<br>";
  echo 
"О себе: ".$about."<br>";
  echo 
"Дата регистрации: ".$time."<br>";
  echo 
"Время последнего посещения: ".$last_time."";
}
else
{
  echo 
"<p><b>Error: ".mysql_error()."</b></p>";
  exit();
}
include (
"../../../dawn.html");
}
?>


вот таблица:


CREATE TABLE `user` (
`id_user` INT NOT NULL AUTO_INCREMENT ,
`name` TINYTEXT,
`pass` TINYTEXT,
`email` TINYTEXT,
`homepage` TINYTEXT,
`about` TINYTEXT,
`time` DATETIME DEFAULT NULL ,
`last_time` DATETIME DEFAULT NULL ,
PRIMARY KEY (id_user)
) TYPE = MYISAM;

   
 
 автор: RV   (17.08.2006 в 14:14)   письмо автору
 
   для: 10100100   (17.08.2006 в 13:49)
 


<?
...
$query 'SELECT * FROM user WHERE name = ".$name."';  
echo 
$query;
...
?>

   
 
 автор: Lelik   (17.08.2006 в 15:20)   письмо автору
 
   для: RV   (17.08.2006 в 14:14)
 


<? 
... 
$query 'SELECT * FROM user WHERE name = ".$name."';   
$result mysql_query($query);
if(!
$result) exit("Error - ".mysql_error());
else
   
$text mysql_fetch_array($result);
echo 
$text['name'];
... 
?>


работать должно железно.

   
 
 автор: Trianon   (17.08.2006 в 15:29)   письмо автору
 
   для: Lelik   (17.08.2006 в 15:20)
 

<?  ...  
$query 'SELECT * FROM user WHERE name = ".$name."';    
$result mysql_query($query); 
if(!
$result) exit("Error - ".mysql_error()); 
else if(
mysql_num_rows($result))
   exit(
"Error - no such user: ".$name);
else
   
$text mysql_fetch_array($result); 
echo 
$text['name']; 
...  
?> 

Тогда уж так....

   
 
 автор: 10100100   (17.08.2006 в 16:41)   письмо автору
 
   для: 10100100   (17.08.2006 в 13:49)
 

поправил. Косяк был в задании переменных, их надо было задавать перед выводом какой либо инфы на страницу. вот только теперь другая проблема, вместо даты почему то выводится вот такая вот фигня...
1155818268

   
 
 автор: Trianon   (17.08.2006 в 16:46)   письмо автору
 
   для: 10100100   (17.08.2006 в 16:41)
 

каким скриптом?
скрипт выше такого явно не выведет.
Если конечно поля действительно имеют тип DATETIME.

   
 
 автор: Lelik   (17.08.2006 в 16:58)   письмо автору
 
   для: 10100100   (17.08.2006 в 16:41)
 

Это юниксовский формат времени. Ты время с помощью РНР определяешь или МуСКЛ для записи в БД?

   
 
 автор: 10100100   (17.08.2006 в 17:04)   письмо автору
 
   для: Lelik   (17.08.2006 в 16:58)
 

мускул

   
 
 автор: Lelik   (17.08.2006 в 17:06)   письмо автору
 
   для: 10100100   (17.08.2006 в 17:04)
 

Странно как-то... ты применяешь функцию now()?

   
 
 автор: 10100100   (17.08.2006 в 17:21)   письмо автору
 
   для: Lelik   (17.08.2006 в 17:06)
 

да!
дело в том, что когда я смотрю в таблице - там всё написано верно, а когда делаю вывод - получается вот такая вот кака :(

   
 
 автор: Lelik   (17.08.2006 в 17:48)   письмо автору
 
   для: 10100100   (17.08.2006 в 17:21)
 

а ты пробовал выводить значения без присвоения их переменным, то есть

<?php
echo $txt['time'];//например
?>

   
 
 автор: 10100100   (17.08.2006 в 18:12)   письмо автору
 
   для: Lelik   (17.08.2006 в 17:48)
 

да - пробовал - но он мне вообще выводит какуюто хрень он мне выводит просто русскую букву "Л" :))))

   
 
 автор: Lelik   (17.08.2006 в 19:26)   письмо автору
 
   для: 10100100   (17.08.2006 в 18:12)
 

А чего за МуСКЛ?

   
 
 автор: 10100100   (18.08.2006 в 04:14)   письмо автору
 
   для: Lelik   (17.08.2006 в 19:26)
 

в смсле версия чтоль? я не знаю - пользую хостингом от jino-net.ru

   
 
 автор: Lelik   (18.08.2006 в 05:06)   письмо автору
 
   для: 10100100   (18.08.2006 в 04:14)
 

слушай, есть выход - поле с датой сделай типа TEXT и вводи в него дату полученую средствами РНР, может лучше будет?

<?php
// Получаем время
$time date("H i s");
// получаем год, день, месяц, в порядке - Число - месяц - год
$now_date date("j m Y");
// Запихивам все в одну переменную, которую и записываем в бд
$datetime $time." ".$now_date;
// ну и всю эту хрень засовываем в БД
?>

   
 
 автор: 10100100   (18.08.2006 в 05:12)   письмо автору
 
   для: Lelik   (18.08.2006 в 05:06)
 

понимаешь. самое смешное - то тчо я вывожу эту дату нормально а некоторых других страницах. а на этой вот такой вот глюк происходит :( не понимаю в чём проблема :(

   
 
 автор: Lelik   (18.08.2006 в 05:21)   письмо автору
 
   для: 10100100   (18.08.2006 в 05:12)
 

Как страница называется(полностью)? Если ничего не помогает, перепиши код с нуля на новую страницу (использование Ctrl+C -> Ctrl+V исключено), у меня такое бывало - код просто не хочет работать - переписываю слово слово но заново - работает

   
 
 автор: 10100100   (18.08.2006 в 13:55)   письмо автору
 
   для: Lelik   (18.08.2006 в 05:21)
 

видимо так и придётся сделать :(

   
 
 автор: Trianon   (18.08.2006 в 09:28)   письмо автору
 
   для: 10100100   (18.08.2006 в 05:12)
 

>понимаешь. самое смешное - то тчо я вывожу эту дату нормально а некоторых других страницах. а на этой вот такой вот глюк происходит :( не понимаю в чём проблема :(

Вы издеваетесь чтоли?
Все уверены, что у Вас проблема с выводом на странице, описанной (17.08.2006 в 13:49) и из таблицы описанной там же. И пытаются голову ломать над ней.
И вдруг оказывается, что не работают какие-то другие страницы. Так и приводите код этих других страниц, которые не работают!

   
 
 автор: 10100100   (18.08.2006 в 13:53)   письмо автору
 
   для: Trianon   (18.08.2006 в 09:28)
 

Trianon, попрошу в предь быть внимательнее! я привёл именно ту страницу вывод на которой не пашет!!! я ж написал что на других страницах ВЫВОД ПАШЕТ!!!!! блин....

   
 
 автор: Trianon   (18.08.2006 в 14:22)   письмо автору
 
   для: 10100100   (18.08.2006 в 13:53)
 

так.. прошу прощения... и вправду не так понял.

Просто так не бывает. Любой MYSQL сервер поле типа DATETIME вернет в человеческом виде, а не в виде цифирок.
соответственно echo $user['time']; просто неоткуда будет взять цифирки.

   
 
 автор: 10100100   (18.08.2006 в 15:26)   письмо автору
 
   для: Trianon   (18.08.2006 в 14:22)
 

да ничего - всякое бывает..
а насчёт кода - да бывает - я тому живой пример..
опять таки ты упустил некий момент. запись то в базу производится корректно, да и вывод на всех страницах не портачит - но вот одна единственная страница которая глючит :( я сам не понимаю как так и от чего это зависит.

   
 
 автор: Trianon   (18.08.2006 в 15:31)   письмо автору
 
   для: 10100100   (18.08.2006 в 15:26)
 

а в этих include ("../../../up.html");
include ("../../../buttons.php");
не могут случайно переопределяться переменные $user?
Может их пораньше поставить?

   
 
 автор: 10100100   (18.08.2006 в 15:46)   письмо автору
 
   для: Trianon   (18.08.2006 в 15:31)
 

я не понимаю что произошло, но переставив инклуды - всё заработало!!! но как??? почему - ведт Имя и так передавалось косяк то был только с датами!!!! я ничего не понимаю :((

   
 
 автор: Trianon   (18.08.2006 в 16:18)   письмо автору
 
   для: 10100100   (18.08.2006 в 15:46)
 

код в инклудах может менять переменные внешнего скрипта.

   
 
 автор: 10100100   (18.08.2006 в 16:32)   письмо автору
 
   для: Trianon   (18.08.2006 в 16:18)
 

но как могли изменится переменные ВРЕМЕНИ ИЗ БАЗЫ??? но да ладно...
а не знаешь в чём проблема у меня с выводом вот такой вот строки?


<?php
echo '<input type=text name=name value='.$msg['name'].'>'
?>


, проблема в том, что если имя написано через пробел - мне выводится лишь первая часть имени... по идее косяк может быть в ковычках, но чёт видимо я тупли - ибо уже всё менял а толку ноль. опять таки интересно то тчо если выводить просто данные - всё в порядке, но если выводить именно в поле ИНПУТ - всё косячится.

   
 
 автор: Trianon   (18.08.2006 в 16:35)   письмо автору
 
   для: 10100100   (18.08.2006 в 16:32)
 


<?php 
echo '<input type=text name=name value="'.htmlspecialchars($msg['name']).'">';  
?>

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


Из базы они уже были выдернуты. mysql_query уже был выполнен.

   
 
 автор: 10100100   (18.08.2006 в 15:46)   письмо автору
 
   для: Trianon   (18.08.2006 в 15:31)
 

.понятно.....
кстати вывод как был с разрывом - так и остался :(

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования