Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Скрипт "Голосование", Старое о главном(для начинающих) 
:(
    Опции темы
georgiy11
Дата 29.9.2008, 18:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 29.9.2008

Репутация: нет
Всего: нет



Значит попал я на форум поскольку хотел так же как и все практики , впринципе, а не теории!!!
Нашел посты старейшей давности, однако не потерявших своей важности, но популярности наоборот, к сожалению.
Посты были с задачами для начинающих(Скрипт Голосования, Шифрования, Поиска в тексте доменных имен ... и др.), за что спасибо форумчаном при чем большое!!! smile (Сдвинули меня с "мертвой"-теоретической точки smile ).
Теперь мое предложение.
Я сделал скрипт правда сыроват, только если немного, на тему голосования и хочу выставить его на рассмотрение, так нежели на оптимизацию, во всех частях.Архив предлагается(что бы не копировать вручную).Только условие, вот и "сырость", необходимо создать базу данных в MySQL "voting", с таблицей "vote"(через редактор), и пользователя с привелегиями(ну вы впринципе и без меня знаете).В скрипте install.php это все отразить.Кстати ... это ещё одна сторона по оптимизации в скрипте install.php по созданию базы данных, таблицы и пользователя средствами PHP!!!
Сильно не "бейте" меня я в этом  ышо мал!!! smile 
Код

admin.php
<?php
@include "./form/header.html" or die('Файл не подключен');
@include "./form/center.html";
@$login = trim($_POST['login']);//Если администратор не определен выводится форма для входа, иначе выбор состояния голосования.
@$pswd = trim($_POST['pswd']);
if( !$login && !$pswd ){?>
<div align = "center"><h2>Административная часть</h2>
    <form action =<?php echo htmlspecialchars($_SERVER['PHP_SELF']);?> method = "post">
    Логин: <input type = "text" name = "login"><br>
    Пароль: <input type = "password" name = "pswd"><br><br>
    <input type = "submit" value = "Войти">
    </form></div>
    <?php }elseif($login == "admin" && $pswd == "root"){?>
    <h2 align="center">Добро пожаловать администратор!!!</h2><div align="center">
    <form action = './vote.php' method = 'post'>
    Открыть голосование: <input type = 'radio' name = 'version' value = '1' checked><br>
    Закрыть голосование: <input type = 'radio' name = 'version' value = '0'><br><br>
    <input name="log" type="hidden" value=<?php echo $login?> >
    <input name="ps" type="hidden" value=<?php echo $pswd?> >
    <input name="flag" type="hidden" value="1" >
    <input type = 'submit' value = 'Сохранить'>
    </form></div>
    <?php } else { ?>
    <div align = "center"><h2>Административная часть</h2>
    <h3>Вы неправильно ввели пароль или логин, попытайтесь ещё раз</h3>
    <form action =<?php echo htmlspecialchars($_SERVER['PHP_SELF']);?> method = "post">
Логин: <input type = "text" name = "login"><br>
Пароль: <input type = "password" name = "pswd"><br><br>
<input type = "submit" value = "Войти">
</form></div>
<?php }
@include "./form/footer.html";
 ?>
 

function.php
Код

<?php
function autor($name,$psw,$f){
$db = mysql_connect('localhost','admin','root') or die('Нет подключения');
mysql_select_db('voting',$db);
$list = mysql_query('select name,paswd from vote') or die('Ваш запрос не выполнен');
for($i=0;$i<mysql_num_rows($list);$i++){
        @$row = mysql_fetch_array($list);
        if($name == @$row['name']&& $psw == @$row['paswd']){
        return true;}
}
if($f){
mysql_query('INSERT INTO vote(name,paswd)'
            .' VALUES(\''.$name.'\', \''.$psw.' \')') or die('Невозможно добавить в базу');
return true;}
}
?>


index.php
Код

<?php
//Проверка установки голосования
if(!file_exists(dirname(__FILE__)."/vote.txt") && file_exists(dirname(__FILE__).'/install.php')){
@include "./form/header.html" or die('Файл не подключен');
@include "./form/center.html";
    ?>

<div align = 'center'>
  <h2>Создание базы данных</h2>
  <h3>Работает install.php</h3>
  <form action="install.php" method='POST'>
    Введите логин администратора сайта:
    <input name='login' type='text'>
    <br>
    Введите пароль администратора сайта:
    <input name='pswd' type='password'>
    <br>
    <br>
    <input type="submit" value="Отправить">
  </form>
</div>
<?php
@include "./form/footer.html";exit();}
     elseif(!file_exists(dirname(__FILE__).'/install.php')){
                    @include "./form/header.html" or die('Файл не подключен');
                    @include "./form/center.html";   //Здесь можно придумать другую форму вывода в браузер!
                    echo "<h1 align = 'center'>Сбой программы установки!<br>Отсутствует установочный файл!</h1>";
                    @include "./form/footer.html";exit();}
@include "./form/header.html" or die('Файл не подключен');
@include "./form/center.html";
if(@!$_POST['login']){
echo "<h1 align = 'center'>Главная страница</h1>";
echo "<div align = 'center'><h2>Вход</h2>";
    ?>
<form  action=<?php echo htmlspecialchars($_SERVER['PHP_SELF'])?> method="post">
  Введите имя:
  <input name="login" type="text">
  <br>
  Введите пароль:
  <input name="pasword" type="password">
  <br>
  <br>
  <input type="submit" value="Отправить">
</form>
</div>
<a href ="./registr.php">Зарегистрироваться</a>
<?php
@include "./form/footer.html";exit();
 }
$db = mysql_connect('localhost','admin','root') or die('Нет подключения');
mysql_select_db('voting',$db);
$list = mysql_query('select * from vote') or die('Ваш запрос не выполнен');
for($i=0;$i<mysql_num_rows($list);$i++){
        @$row = mysql_fetch_array($list);
        if($_POST['login'] == $row['name']&& $_POST['pasword'] == $row['paswd']&&$row['version'] !== 0){
        echo "<h1 align = 'center'>Не надо жульничать!<br>Вы уже голосовали!</h1>";
        @include "./form/footer.html";
        mysql_close($db);exit();
        }
}
mysql_close($db);
$f = file('./vote.txt');
if(@$_POST['login']){
    require ('./function.php');
    $res = autor($_POST['login'],$_POST['pasword'],@$fl);/*Если сервер не поддерживает сохранение _POST
                                                данных присвоить их переменным*/
    if($res == true&&$f[0]==1){
        require('./form/vote.html');
        @include "./form/footer.html";
        exit();}
        elseif($f[0]==0){
            echo "<h1 align = 'center'>Извините голосование закрыто</h1>";
            @include "./form/footer.html";
            exit();
    }
}
echo "<div align = 'center'><font size ='5'>Просьба <a href ='./registr.php'>зарегистрироваться</a>
     <br>Или заново зайти на сайт.</font></div>";
@include "./form/footer.html";
?>


install.php
Код

<?php
    $log = trim($_POST['login']);
    $psw = trim($_POST['pswd']);
    $file = @fopen(dirname(__FILE__)."/vote.txt",'w+t');
    fwrite($file,"0\n0\n0\n0\n0\n0\n");
    fclose($file);
    $db = mysql_connect('localhost','admin','root') or die('Соединение не установленно');
    mysql_select_db('voting',$db);
    mysql_query('INSERT INTO vote(name,paswd)'.' VALUES(\''.$log.'\', \''.$psw.' \')') or die('Невозможно добавить в базу');
    $res = mysql_query('select * from vote') or die ('Запрос не выполнен');
    /*for($i=0;$i<mysql_num_rows($res);$i++){
        $row = mysql_fetch_array($res);
        echo "Имя:".$row['name']."<br>Пароль:".$row['paswd']."<br>";} Данные для отладки*/
@include "./form/header.html" or die('Файл не подключен');
@include "./form/center.html";
    echo "<h1 align = 'center'>База данных</h1>";
    echo "<h2 align = 'center'>Данные успешно занесены в базу данных!!!Поздравляем!!!</h2>";
    mysql_close($db);
    echo " <a href='./index.php'><b>На главную</b></a>";
@include "./form/footer.html";
?>


registr.php
Код

<?php
@include "./form/header.html" or die('Файл не подключен');
@include "./form/center.html";
?>
<div align = "center">
  <h2>Регистрация</h2>
  <form  action="./index.php" method="post">
    Введите имя:
    <input name="login" type="text">
    <br>
    Введите пароль:
    <input name="pasword" type="password">
    <br>
    <br>
    <input type="submit" value="Оправить">
    <input name="fl" type="hidden" value="1">
  </form>
</div>
<?php
@include "./form/footer.html";
?>


result.php
Код

<?php
$file = file('vote.txt');
@include "./form/header.html" or die('Файл не подключен');
@include "./form/center.html";
echo "<h1 align = 'center'>Результаты голосования</h1>";
echo "<table width = '400px' border = '2px' align = 'center' bgcolor = 'palegreen'><tr bgcolor = '#FFEFD5' align = 'center'><td><b>Вариант</b></td><td><b>Количество</b></td>";
echo "<tr><td>Отличный</td><td>$file[1]</td>";
echo "<tr><td>Нормальный</td><td>$file[2]</td>";
echo "<tr><td>Не очень</td><td>$file[3]</td>";
echo "<tr><td>Ерунда</td><td>$file[4]</td>";
echo "<tr><td>Мне все равно</td><td>$file[5]</td></table><br>";
echo "<a href ='./index.php'><b>На главную</b></a>";
@include "./form/footer.html";
?>


vote.php
Код

<?php
if(!file_exists(dirname(__FILE__)."/vote.txt"))
    {
    @include "./form/header.html" or die('Файл не подключен');
    @include "./form/center.html";
    echo "<h3 align = 'center'>Выход база данных не создана</h3>";
    echo "<div align = 'center'><a href='./index.php'><b>Выход</b></a></div>";
    @include "./form/footer.html";
    exit;}
$login = trim($_POST['log']);
@$pswd = trim($_POST['ps']);
$version = $_POST['version'];
@$fl = $_POST['flag'];
//Установка состояния голосования в открытое или закрытое состояние из админки
if($login == 'admin' && $pswd == 'root'&& $fl){
    $f = fopen((dirname(__FILE__)."/vote.txt"),'r+') or die('Не могу открыть файл!!!');
    fwrite($f,$version."\r\n");
    fclose($f);
    @include "./form/header.html" or die('Файл не подключен');
    @include "./form/center.html";
    echo "<h2 align = 'center'>Изменения приняты!!!</h2>";
    @include "./form/footer.html";exit();
    }
//Рабочая часть для пользователей
$file = file('./vote.txt') or die ('Не могу открыть файл');
if($file[0] == 1){    //Учитывается особенность новой строки в Windows "1\r\n"
$db = mysql_connect('localhost','admin','root')or die('Нет соединения');
mysql_select_db('voting',$db);
$res = mysql_query('select * from vote');
for($i=0;$i<mysql_num_rows($res);$i++){
    @$list = mysql_fetch_array($res);
    if($login == $list['name']){
        mysql_query(' UPDATE vote
                    SET version =\''.$version.' \'WHERE name = \''.$login.'\' ')
                     or die('Невозможно обновить базу');
    $s = file('vote.txt') or die('Невозможно отрыть файл');
    $s[$version]=($s[$version]+1)."\r\n";
    $str = implode('',$s);
    $f = fopen((dirname(__FILE__)."/vote.txt"),'r+') or die('Не могу открыть файл!!!');
    fwrite($f,$str);
    fclose($f);
    }
}
@include "./form/header.html" or die('Файл не подключен');
@include "./form/center.html";
    echo "<h2 align = 'center'>Спасибо!Ваш вариант принят!</h2><br><br>
            <a href='./index.php'><b>На главную</b></a><br><br>";
    echo "<a href = './result.php'>Здесь можно посмотреть результаты голосования</a>";
@include "./form/footer.html";
mysql_close($db);}
else{
    @include "./form/header.html" or die('Файл не подключен');
    @include "./form/center.html";
    echo "<h1 align = 'center'>Извините голосование закрыто</h1><br>
            <a href='./index.php'><b>На главную</b></a>";
@include "./form/footer.html";}
?>


Кому будет интересно ..... smile  smile 

Присоединённый файл ( Кол-во скачиваний: 2 )
Присоединённый файл  mysite.rar 98,73 Kb
PM MAIL   Вверх
bars80080
Дата 29.9.2008, 20:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



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

1. вот этот символ - @ суть зло. не используй его. ты закрываешь им сообщения об ошибках вместо того чтобы исправлять их. а это неправильно, т.к. программа не рабочая получается
2. код довольно сильно намешан, лучше разбавь его пробелами и переводами строк. читабельность повышается в разы
3. такие вещи - action =<?php echo htmlspecialchars($_SERVER['PHP_SELF']);?> называются атрибутами, а по спецификации значения атрибутов должны быть в кавычках: action="нечто". если не приучишь себя, то вскоре столкнёшься с очень большими непонятками
4. в первом листинге заметь, форма повторяется дважды, следовательно можно построить логику иначе и написать её всего лишь один раз, уменьшив тем самым код
5. 'INSERT INTO vote(name,paswd)'.' VALUES(\''.$name.'\', \''.$psw.' \')' - необязательно напрямую писать это в функцию. ты можешь изначально эту строку приравнять к переменной и потом уже засунуть в функцию. просто удобнее. mysql_query($sql);
6. почему было не написать так: 'INSERT INTO vote(name,paswd)'.' VALUES("'.$name.'", "'.$psw.'")' - меньше путаницы
7. *Если сервер не поддерживает сохранение _POST данных присвоить их переменным*/ - приучай себя задавать все переменные изначально, не обращая внимания, что она может быть создана автоматически. убережёт от многих ошибок в будущем по вопросам безопасности: 
Код
if(!empty($_POST['login'])) $login = $_POST['login']; else $login = '';

8. сорри, но я лично не слышал о $file = @fopen(dirname(__FILE__)."/vote.txt",'w+t'); w+t типе работы с файлами

как-то так
PM MAIL WWW   Вверх
georgiy11
Дата 29.9.2008, 20:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 29.9.2008

Репутация: нет
Всего: нет



Цитата(bars80080 @ 29.9.2008,  20:04)
одним взглядом пробежался, хотел бы высказать несколько моментов

1. вот этот символ - @ суть зло. не используй его. ты закрываешь им сообщения об ошибках вместо того чтобы исправлять их. а это неправильно, т.к. программа не рабочая получается
2. код довольно сильно намешан, лучше разбавь его пробелами и переводами строк. читабельность повышается в разы
3. такие вещи - action =<?php echo htmlspecialchars($_SERVER['PHP_SELF']);?> называются атрибутами, а по спецификации значения атрибутов должны быть в кавычках: action="нечто". если не приучишь себя, то вскоре столкнёшься с очень большими непонятками
4. в первом листинге заметь, форма повторяется дважды, следовательно можно построить логику иначе и написать её всего лишь один раз, уменьшив тем самым код
5. 'INSERT INTO vote(name,paswd)'.' VALUES(\''.$name.'\', \''.$psw.' \')' - необязательно напрямую писать это в функцию. ты можешь изначально эту строку приравнять к переменной и потом уже засунуть в функцию. просто удобнее. mysql_query($sql);
6. почему было не написать так: 'INSERT INTO vote(name,paswd)'.' VALUES("'.$name.'", "'.$psw.'")' - меньше путаницы
7. *Если сервер не поддерживает сохранение _POST данных присвоить их переменным*/ - приучай себя задавать все переменные изначально, не обращая внимания, что она может быть создана автоматически. убережёт от многих ошибок в будущем по вопросам безопасности: 
Код
if(!empty($_POST['login'])) $login = $_POST['login']; else $login = '';

8. сорри, но я лично не слышал о $file = @fopen(dirname(__FILE__)."/vote.txt",'w+t'); w+t типе работы с файлами

как-то так

Спасибо как раз по моему именно эти вещи мне и ненравились.Только вот получается если я использую переменную в срипте а она не используется по какой то причине выходит ошибка о не действительности её однако скрипт продолжает работу.
Запросы в MySQL я нашел только с цитированием кавычек а такой вид , если честно я первый раз вижу спасибо, возьму на "вооружение".
Вопрос если я возьму в кавычки action = "----" скрипт выполниться?
А с последним у меня действительно вышел казус , не хотел менять ни в какую элемент а заменял и перевод строки , поэтому сдваивал элементы за счет удаления "\n".Наверное при добавлении ещё и "\r"?

Это сообщение отредактировал(а) georgiy11 - 29.9.2008, 20:23
PM MAIL   Вверх
bars80080
Дата 29.9.2008, 20:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



Цитата(georgiy11 @  29.9.2008,  20:19 Найти цитируемый пост)
Только вот получается если я использую переменную в срипте а она не используется по какой то причине выходит ошибка о не действительности её однако скрипт продолжает работу
 - надо строить так, чтобы переменная всегда была. я кстати привёл пример:
if(!empty($_POST['login'])) $login = $_POST['login']; else $login = '';
и дальше работаешь с $login, которая точно существует.


Цитата(georgiy11 @  29.9.2008,  20:19 Найти цитируемый пост)
Вопрос если я возьму в кавычки action = "----" скрипт выполниться

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


Цитата(georgiy11 @  29.9.2008,  20:19 Найти цитируемый пост)
А с последним у меня действительно вышел казус , не хотел менять ни в какую элемент а заменял и перевод строки , поэтому сдваивал элементы за счет удаления "\n".Наверное при добавлении ещё и "\r"?

не совсем понял. перевод строки \n, чтобы он ещё и виндовсе смотрелся как перевод, то пишут \r\n
PM MAIL WWW   Вверх
georgiy11
Дата 29.9.2008, 21:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 29.9.2008

Репутация: нет
Всего: нет



bars80080
Да спасибо за ответы, я и забыл про сушествование Empty()! smile  smile 
Скрипты рабочие, мне как раз и не хватало таких советов по его работе и стилю написания.
Понял - с записью в файл, я игнорировал "\r", а ставил просто "\n" в install.php может за счет этого....
Кстати открывал я их в "r+t", именно текстовом что и привело в недоумение, а открыл в бинарном режиме так у меня в файле такая каламуть вылезла, одни квадратики....Что  бы это значило?
PM MAIL   Вверх
georgiy11
Дата 1.10.2008, 18:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 29.9.2008

Репутация: нет
Всего: нет



Спасибо вам за ответы теперь наверное помучаю немного вопросами!Если не возражаете!
Убрал символ "@" и  по совету из одной и статей поставил первой строкой код error_reporting(E_ALL);  .
Сразу же выдал ответ в скрипте :

Warning: main(1): failed to open stream: No such file or directory in z:\home\localhost\www\mysite\index.php on line 5

Fatal error: main(): Failed opening required '1' (include_path='.;/usr/local/php/PEAR') in z:\home\localhost\www\mysite\index.php on line 5 
 Скрипт :
Код

<?php
error_reporting(E_ALL);
//Проверка установки голосования
if(!file_exists(dirname(__FILE__)."/vote.txt") && file_exists(dirname(__FILE__).'/install.php')){
require (dirname(__FILE__)."/form/header.html") or die('Файл не подключен');
require "./form/center.html";
    ?>

<div align = 'center'>
  <h2>Создание базы данных</h2>
  <h3>Работает install.php</h3>
  <form action="install.php" method='POST'>
    Введите логин администратора сайта:
    <input name='login' type='text'>
    <br>
    Введите пароль администратора сайта:
    <input name='pswd' type='password'>
    <br>
    <br>
    <input type="submit" value="Отправить">
  </form>
</div>
<?php..... и далее 

Почему не подключает файл? И что за функция main(); типа как в C++ основная точка входа!? smile 

Это сообщение отредактировал(а) georgiy11 - 1.10.2008, 18:16
PM MAIL   Вверх
bars80080
Дата 1.10.2008, 19:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



неподключает просто потому, что не может найти этот файл. проверь, что у тебя здесь: dirname(__FILE__)

и честно говоря, по меньшей мере странно, проверяешь на существование файлы vote.txt и install.php, подключаешь form/header.html
что-то логики не угадывается. если уж подключаем что-то, то это и надо проверять
PM MAIL WWW   Вверх
georgiy11
Дата 1.10.2008, 19:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 29.9.2008

Репутация: нет
Всего: нет



dirname() содержит путь к исполняемому скрипту index.php 
header.html
center.html
footer.html всего лишь формирование страницы, "шапка" середина и низ.
Я вложил в папку form.Т.е. структура mysite он же получается хост если не ошибаюсь , затем form и img.

Добавлено через 12 минут и 11 секунд
dirname(__FILE__) содержит путь  к исполняемому скрипту.
vote.txt и install.php -- проверяю на существование так как vote.txt  это ж база данных по заданию, ещё очень давно на этом форуме я читал, для создания её .
header.html 
center.html
footer.html
это формирование страницы верх середина и низ ...
 
PM MAIL   Вверх
bars80080
Дата 1.10.2008, 20:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



я тебя не пояснений спрашивал, а то, что находится в этой dirname(__FILE__). выведи, хотя бы через var_dump(dirname(__FILE__));
а ещё лучше весь путь: 
Код

$a = dirname(__FILE__)."/form/header.html";
var_dump($a);
и посмотри, что выдаст, куда ведёт этот путь. а если он относительный, то как расположен затребованнй файл относительно этого, из которого ты подключаешь
PM MAIL WWW   Вверх
georgiy11
Дата 1.10.2008, 20:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 29.9.2008

Репутация: нет
Всего: нет



z:\home\localhost\www\mysite/form/header.html
это vardump();
PM MAIL   Вверх
georgiy11
Дата 1.10.2008, 20:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 29.9.2008

Репутация: нет
Всего: нет



И все таки неясно функция require() не подключает его а сразу выходит из скрипта, понятно что это её работа.Только вот include() обрабатывает нормально и выводит файл но ошибка все равно появляется!? 
PM MAIL   Вверх
bars80080
Дата 1.10.2008, 23:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



это и есть единственное различие require от include. require сразу обрабатывает все подключения, а include проверяет, только в момент прохода программы через участок кода

вот я гляжу на этот адрес z:\home\localhost\www\mysite/form/header.html
и хоть убей, не пойму, как у тебя образовались обратные слэши в первой половине. такая штука в пхп не существует, это чисто майкрософтская фишка. попробуй замени на нормальные слэши.

надеюсь путь к файлу существет
PM MAIL WWW   Вверх
ksnk
Дата 1.10.2008, 23:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 96
Всего: 386



Чтобы bars80080 смутить еще больше, можно написать вот так
Код

$a = dirname(__FILE__).DIRECTORY_SEPARATOR.'form'.DIRECTORY_SEPARATOR.'header.html';

Так будет идеологически правильнее и кроссплатформенее smile

Впрочем, imho, и первый вариант должен исправно отработать в php от Денвера

Дык, а файл-то есть?



--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
georgiy11
Дата 2.10.2008, 18:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 29.9.2008

Репутация: нет
Всего: нет



Цитата(bars80080 @ 1.10.2008,  23:05)
это и есть единственное различие require от include. require сразу обрабатывает все подключения, а include проверяет, только в момент прохода программы через участок кода

вот я гляжу на этот адрес z:\home\localhost\www\mysite/form/header.html
и хоть убей, не пойму, как у тебя образовались обратные слэши в первой половине. такая штука в пхп не существует, это чисто майкрософтская фишка. попробуй замени на нормальные слэши.

надеюсь путь к файлу существет

Фишка в том что у меня стоит сервер Апач со сборкой народов Малой Азии и никарагуанских аборигенов я так понял.Сервер при запуске создаёт виртульный диск и на нем производит дествия.Млжет знаете есть такие в сетке Уроки PHP и MySQL.Там эта сборка.Файл и каталог есть я кстати в архиве прицепил.

Добавлено @ 18:35
Цитата(ksnk @ 1.10.2008,  23:33)
Чтобы bars80080 смутить еще больше, можно написать вот так
Код

$a = dirname(__FILE__).DIRECTORY_SEPARATOR.'form'.DIRECTORY_SEPARATOR.'header.html';

Так будет идеологически правильнее и кроссплатформенее smile

Впрочем, imho, и первый вариант должен исправно отработать в php от Денвера

Дык, а файл-то есть?

А вы не могли бы обьяснить что это -- DIRECTORY_SEPARATOR, все остальное вроде "догнал".
Кстати может посоветуете сборку или ссылку на установку и настройку!!!Сервера!!!
Если можно подскажите как почистить комп от старых настроек сервера!?

Это сообщение отредактировал(а) georgiy11 - 2.10.2008, 18:36
PM MAIL   Вверх
ksnk
Дата 2.10.2008, 19:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 96
Всего: 386



DIRECTORY_SEPARATOR - предопределенная в PHP констранта, которая для Win-сборки - обратный слеш, для Unix - прямой слеш...

Наиболее разумная сборка - denver. Там-же и инструкция по установке. Хотя она тоже при "при запуске создаёт виртульный диск и на нем производит действия" smile
Никаких дополнительных настроек в системе не создается. Все храниться на том-же виртуальном диске, что и все остальное хозяйство.


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0730 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.