ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #6901  
Старый 15.12.2008, 02:20
Аватар для geforce
geforce
Постоянный
Регистрация: 21.08.2008
Сообщений: 302
Провел на форуме:
458686

Репутация: -25
Отправить сообщение для geforce с помощью ICQ
Question

Почему фото не выводится,,,,,,,,,,,,?????

форма(index.php):

PHP код:
<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
Оброботчик(load.php):

PHP код:
<?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 scr='".$myrow['url']."'>");

}

else
{
echo 
"<p>Информация по запросу не может быть извлечена в таблице нет записей.</p>";
exit();
}



// Данные успешно внесены в базу данных, выводим сообщение 
if ($query == 'true') { 
echo 
"<br /><b>Данные успешно внесены в базу</b>"


// В противном случае, выводим ошибку при добавлении в базу данных 
else { 
echo 
"$error_by_mysql"



        } 
  
 elseif (
$myfile_size == 0) { 
 echo 
"Пустая форма!"
 }  
     



?>
 
Ответить с цитированием

  #6902  
Старый 15.12.2008, 02:43
Аватар для ss88
ss88
Участник форума
Регистрация: 27.11.2008
Сообщений: 161
Провел на форуме:
298300

Репутация: 128
Отправить сообщение для ss88 с помощью ICQ
По умолчанию

Хм... странно, что РНР не ругался на то, что у тебя в mysql_query при выполнении запроса вставки не указан хэндл соединения с базой данных )))
PHP код:
$q "INSERT INTO foto (url,name) VALUES ('$foto_name','$foto_light_name')";  
$query mysql_query($q,/*ты забыл вставить дескриптор соединения*/); 
Есть масса замечаний
1. Зачем ты пишешь в путях обратный слэш??? В винде прямой тоже отлично работает Ну это так, вопросы совместимости.
2. Зачем ты выбираешь только что занесенную запись, если вся инфа у тебя и так есть в переменных???
Так можно долго продолжать, а так... будь внимательнее и не пиши себе проблем )))
 
Ответить с цитированием

  #6903  
Старый 15.12.2008, 02:57
Аватар для ntldr
ntldr
Постоянный
Регистрация: 04.12.2007
Сообщений: 424
Провел на форуме:
2364957

Репутация: 479
По умолчанию

Цитата:
Сообщение от ss88  
РНР не ругался
все нормально, в описании mysql_query явно указано, что идентификатор ресурса указывать не обязательно
 
Ответить с цитированием

  #6904  
Старый 15.12.2008, 03:14
Аватар для ss88
ss88
Участник форума
Регистрация: 27.11.2008
Сообщений: 161
Провел на форуме:
298300

Репутация: 128
Отправить сообщение для ss88 с помощью ICQ
По умолчанию

Вот, почистил некоторый логический мусор, вот так все работает, а ошибка была банальнейшей, в тэге img, указан источник как атрибут не src, а scr и других очепяток в коде хватало )))
PHP код:
<?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_size $_FILES["myfile"]["size"];
    
// Если ошибок не было  
    
if ($_FILES["myfile"]["error"] == 0) {
        
$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$db);
        
        if (
$query) {
            
printf("<img src='{$foto_name}'/>");
            echo 
"<br /><b>Данные успешно внесены в базу</b>";
        } else {
            echo 
"<p>Информация по запросу не может быть извлечена в таблице нет записей.</p>";
            exit(
mysql_error());
        }
    } elseif (
$myfile_size == 0) {
        echo 
"Пустая форма!";
    }
}
?>
Все работает
 
Ответить с цитированием

  #6905  
Старый 15.12.2008, 05:05
Аватар для DTW
DTW
Участник форума
Регистрация: 11.05.2008
Сообщений: 202
Провел на форуме:
420713

Репутация: 104
По умолчанию

PHP код:
<?php

$arr 
= array(
           
"Nort America"=>array("USA"=>array("Capital"=>"    
Washington"
)),
            
"Europa"=> array("France"=>array("Capital"=>"Paris")),
            
"Africa"=> array("Moroco"=>array("Capital"=>"Moroco")) );
            
            foreach (
$arr as $k => $v)
            {
                echo 
$k ."\n" ;
                foreach(
$v as $arr  => $k)
                {
                    echo 
$arr ."  "."<br/>\n";
                    
/* что надо подставить    3 цыкл ? */

                    
foreach ($v as $arr)
                    {
                        echo 
$arr ."\n";
                    }
                }  
            }
           
?>
Помогите вывести название столиц...

Последний раз редактировалось DTW; 15.12.2008 в 05:08..
 
Ответить с цитированием

  #6906  
Старый 15.12.2008, 05:36
Аватар для .:EnoT:.
.:EnoT:.
Постоянный
Регистрация: 29.05.2007
Сообщений: 852
Провел на форуме:
4832771

Репутация: 1916


По умолчанию

PHP код:
$arr = array("Nort America"=>array("USA"=>array("Capital"=>"Washington")),
            
"Europa"=> array("France"=>array("Capital"=>"Paris")),
            
"Africa"=> array("Moroco"=>array("Capital"=>"Moroco")) );

foreach(
$arr as $part => $country) {

    foreach(
$country as $name => $land){

        foreach(
$land as $capital){

            echo 
'Часть света: '.$part.' => Страна: '.$name.' => Столица: '.$capital.'<br/>';
        }
    }

 
Ответить с цитированием

  #6907  
Старый 15.12.2008, 13:28
Аватар для ss88
ss88
Участник форума
Регистрация: 27.11.2008
Сообщений: 161
Провел на форуме:
298300

Репутация: 128
Отправить сообщение для ss88 с помощью ICQ
По умолчанию

Цитата:
Сообщение от geforce  
Почему фото не выводится,,,,,,,,,,,,?????
А вот так, вроде, намного лучше, при той же функциональности:
PHP код:
<?php
// Подключаемься к базе данных  
include ("db.php");
//================Настройки============= // 
// максимальная ширина картинок на превью   
$maxwidth "300px";
// Директория для фотографий товаров 
$fotos_dir "fotos/";
// Полное имя файла вместе с путем
$foto_name $fotos_dir time() . "_" $_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"])) {
    
// Если ошибок не было  
    
if (($_FILES["myfile"]["error"] == 0) && (in_array(strtolower(substr($_FILES['myfile']['name'], - 4)), array(".jpg" ".gif" ".png")))) {
        
$upfile getcwd() . "/fotos/" time() . "_" basename($_FILES["myfile"]["name"]);
        if (
$_FILES['myfile']['tmp_name']){
            
//Если не удалось загрузить файл  
            
if (! move_uploaded_file($_FILES['myfile']['tmp_name'], $upfile))
                exit(
$error_by_file);
        }
        else
            exit (
"Проблема: возможна атака через загрузку файла хотя проверяется это не так, а, наверное, просто нам подсовывают файл не с тем расширением {$_FILES ['myfile'] ['name']}");
        
// Заносим путь картинки в базу данных  
        
$query mysql_query("INSERT INTO foto (url,name) VALUES ('{$foto_name}','{$fotos_dir}{$foto_name}')"$db);
        if (
$query)
            echo 
"{$foto_tag}Ъ<br /><b>Данные успешно внесены в базу</b>";
        else
            exit(
"<p>Ошибка сохранения данных.</p>" mysql_error());
    } else 
//Если возникла ошибка при передаче или левое расширение файла
        
exit("Ошибка обработки данных либо вы пытаетесь подсунуть нам свинью");
}
?>

Последний раз редактировалось ss88; 15.12.2008 в 13:30..
 
Ответить с цитированием

  #6908  
Старый 15.12.2008, 15:47
Аватар для -m0rgan-
-m0rgan-
Постоянный
Регистрация: 29.09.2008
Сообщений: 553
Провел на форуме:
2584134

Репутация: 519


Отправить сообщение для -m0rgan- с помощью ICQ
По умолчанию

Цитата:
Сообщение от .:EnoT:.  
Какой авторизации? Через БД, файл, Бейсик ?
БД...я написал,но сомниваюсь в его надёжности...
 
Ответить с цитированием

  #6909  
Старый 15.12.2008, 15:49
Аватар для Naydav
Naydav
Постоянный
Регистрация: 30.12.2006
Сообщений: 434
Провел на форуме:
849583

Репутация: 210
По умолчанию

Не думал, что возникнут трудности при решении такой банальной задачи
Какой-то ступор седня
Нужно отфильтровать пользователей по возрасту

Например, есть поле "От" и "До"
И есть массив с датами рождений, например 06.08.1985, 31.12.1985 и т.д.

Нужно выбрать всех пользователей входящих в условия - от и до, причем не только по годам( но и по месяцам и дням, т.е. др у пользователя-6 августа, знач 5 числа, он не входит, а 6 уже входит в групу)

А проблема возникла в следующем
Замечание: Для большинства систем допустимыми являются даты с 13 декабря 1901, 20:45:54 GMT по 19 января 2038, 03:14:07 GMT.
После 38 года, они обнулятся

Но мне нужен расчет и в дальнейшем

Вообщем прошу Вашей помощи! ( не нагуглил )
 
Ответить с цитированием

  #6910  
Старый 15.12.2008, 15:54
Аватар для ss88
ss88
Участник форума
Регистрация: 27.11.2008
Сообщений: 161
Провел на форуме:
298300

Репутация: 128
Отправить сообщение для ss88 с помощью ICQ
По умолчанию

не понял сути проблемы, ты рассчитываешь свою систему "на века"? )))) Или как? Поясни немного, а то, наверное, и у меня ступор седня ))
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[c/c++] Новичкам: задаем вопросы _Great_ С/С++, C#, Delphi, .NET, Asm 5420 17.06.2010 13:33
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Форумы 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ