Тема: Знакомство с PHP

Ответить в теме
Страница 4 из 5 ПерваяПервая ... 2 3 4 5 ПоследняяПоследняя
Показано с 61 по 80 из 82
  1. Вверх #61
    Новичок Аватар для Bella4ka
    Пол
    Женский
    Возраст
    38
    Сообщений
    48
    Репутация
    26
    Цитата Сообщение от lastride Посмотреть сообщение


    Если несколько кнопок должен плюсоваться старый счётчик или новый создавать ?
    И если щёлкать по кнопке Нет то счётчик должен уменьшатся ?
    Если надо напишу на ПЭХЭПЭ
    несколько кнопок на странице
    плюсовать должен новый счетчик
    Если щелкать на кнопке "нет" то тоже должно выводиться число
    И еще такой момент когда перезагружаешь либо закрываешь страницу , числа должны сохраняться
    Я именно это не знаю((


  2. Вверх #62
    Новичок Аватар для lastride
    Пол
    Мужской
    Возраст
    34
    Сообщений
    77
    Репутация
    19
    Цитата Сообщение от Bella4ka Посмотреть сообщение
    несколько кнопок на странице
    плюсовать должен новый счетчик
    Если щелкать на кнопке "нет" то тоже должно выводиться число
    И еще такой момент когда перезагружаешь либо закрываешь страницу , числа должны сохраняться
    Я именно это не знаю((
    хм..тогда наверно прийдётся использовать файлы либо БД..
    может вечером напишу на пхп..
    Последний раз редактировалось lastride; 23.08.2011 в 18:27.

  3. Вверх #63
    Новичок Аватар для Bella4ka
    Пол
    Женский
    Возраст
    38
    Сообщений
    48
    Репутация
    26
    кто знает подскажите плиз
    вот код с помощью которого можно проголосовать
    работает без БД, контролирует по ip, все нормально, но его можно поставить один раз на страницу, если ставить больше то нажав на одной форме результат выводиться во всех
    Как сделать так что бы я смогла поставить много таких форм на страницу и они были не зависимы друг от друга?

    Код:
     
     
       <link href="style/style.css" rel="stylesheet" type="text/css" />
      
        
        <?php if ( (!isset($_POST['submit'])) ) { ?>
            <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
                <table width="100%">
                  <tr><td>оценка:</td><td><select name="rate">
                  <?php for ($i = 1; $i <= 10; $i++) { echo "<option value=\"$i\">$i</option>"; } ?>
          </select></td></tr>
                  <tr><td colspan="2" align="center"><input type="submit" value="ок" name="submit"/></td></tr>
                </table>
           </form> 
           <?php } else  { 
                $rate = isset ($_POST['rate']) ? $_POST['rate'] : 0;
                $filename = "ratings";
                $alreadyRated = false;
                $totalRates = 0;
                $totalPoints = 0;
                            
                $ip = getenv('REMOTE_ADDR');
                $oldResults = file('results/'.$filename.'.txt');
                foreach ($oldResults as $value) {
                	$oneRate = explode(':',$value);
                	if ($ip == $oneRate[0]) $alreadyRated = true;	   
                	$totalRates++;
                	$totalPoints += $oneRate[1];
                }
    
                if ((!$alreadyRated) && ($rate > 0)){            
                   $f = fopen('results/'.$filename.".txt","a+");         
                   fwrite($f,$ip.':'.$rate."\n");
                   fclose($f);
                   $totalRates++;
                   $totalPoints+=$rate;
                }
                
    ?>           
          <div id="result">
           
    <?php  
           echo "поставили $totalRates средний: ".substr(($totalPoints/$totalRates),0,3)."<br/>";
           for ($i=0;$i<round(($totalPoints/$totalRates),0);$i++){
              echo "<img src='style/star.png' alt='s' />";
           }
    echo "</div>";       
           } ?>        
    	 
      </div>

  4. Вверх #64
    Постоялец форума
    Пол
    Мужской
    Адрес
    Одесса
    Сообщений
    1,589
    Репутация
    342
    Присвойте каждой форме уникальное имя.

  5. Вверх #65
    Не покидает форум Аватар для Fallout
    Пол
    Мужской
    Сообщений
    6,648
    Репутация
    822
    Цитата Сообщение от Doglexx Посмотреть сообщение
    Присвойте каждой форме уникальное имя.
    там еще имя файла с результатами надо менять - $filename = "ratings";
    Последний раз редактировалось Fallout; 26.08.2011 в 15:44.

  6. Вверх #66
    Посетитель Аватар для Жека@House
    Пол
    Мужской
    Возраст
    38
    Сообщений
    257
    Репутация
    61
    Мне нужно каждой теме созданной мной присвоить свой рейтинг , в строчке show_ratings_control ("1"); еденицу менять на 2,3,4 ....
    если оставить так как есть то выводит один рейтинг для всех тем созданных мной, как сделать что бы я мог менять цифры и эта цифра присваивалось именной той новости которую я добавил

    помогите плиз

    добавление новости
    Код:
    <?
    require('config.php');
    
    if($_POST['do']=='addnew')
     {
       $title=$_POST['title'];
       $news=$_POST['news'];
        $text1=$_POST['text1'];
          $text2=$_POST['text2'];
       
       $fp=fopen(NEWS_FILE,"a");
       $formatted=str_replace("\r\n","<br>",$news);
       $formatted=str_replace("\n","<br>",$formatted);
     
       $newsto=date("")."%~#".$title."%~#".$text1."%~#".$text2."%~#".$formatted;
       if(ENCODING=='yes') $newsto=base64_encode($newsto) ;
       fwrite($fp,StripSlashes($newsto)."\n");
       fclose($fp);
    
       echo ' Новость добавлена ';
    }
    ?>
     
    <form name="form1" method="POST" action="<?echo $_SERVER['PHP_SELF']?>">
    
        <p align="center">Заголовок : <input type="text" name="title" size="60" value=" " style="border-style:outset;"></p>
     <p align="center">Добавить: <textarea   name="text1" rows="1" cols="43"     style="border-style:outset; resize: none;">   </textarea></p>
         <p align="center">Опис <textarea id="area"   name="text2" rows="4" cols="47"     style="border-style:outset;">Описание   </textarea></p>
        <p align="center">  <textarea   name="news" rows="13" cols="39"  style="border-style:outset;">
     </textarea></p>
    
        <p align="center"><input type="submit"   name="formbutton1" value="добавить" style="border-style:outset;"><br> </p>
        <input type="hidden" name="do" value="addnew">
    </form>
    вывод новости
    Код:
       
    <?
       require('config.php');
      include_once('ratings/ratings.php');
    
    ?>
    
    <html>
    <head>
     
    </head>
    <?
       $startpage=$_GET['page'];
       $xnews=file(NEWS_FILE);
       $xnews=array_reverse($xnews);
       $startpage-=1;
       $ubound=count($xnews);
       if($startpage<0 || $startpage>=$ubound/PERPAGE) $startpage=0;
    
       if (PERPAGE<$ubound)
       if($startpage==0) echo "< назад |  ";
       else   echo "&lt; <a href=".$_SERVER['PHP_SELF']."?page=$startpage>назад</a> |  ";
    
       if($ubound>PERPAGE)
       for($j=1;$j<=ceil($ubound/PERPAGE);$j++) {
       if($j==$startpage+1)
          echo "<big><b>$j</b></big>  ";
       else
          echo "<a href=".$_SERVER['PHP_SELF']."?page=$j>$j</a>  ";
       }
    
       if(PERPAGE<$ubound)
       if($startpage+1>=$ubound/PERPAGE) echo "  | вперед >";
       else   echo "  | <a href=".$_SERVER['PHP_SELF']."?page=".($startpage+2).">вперед</a> &gt;";
    
       for($i=$startpage*PERPAGE;$i<$startpage*PERPAGE+PERPAGE && $i<$ubound;$i++)
       {
    
       if(ENCODING=='yes') $xnews[$i]=base64_decode($xnews[$i]);
       $crtsplit="";
       $crtsplit=explode("%~#",$xnews[$i]);
    
       echo "<table border=\"1\" cellspacing=\"0\"><tr><td width=\"1000\" bgcolor=\"#EDF0FA\"><font color=\"444444\"><b>$crtsplit[1]</b>   <b>$crtsplit[0]</b></font></td></tr>";
       echo "<br><tr><td>$crtsplit[2]
    <br>
    $crtsplit[3]
    <br>
    $crtsplit[4]
    <br>
    ";
       
    
     show_ratings_control    ("1"); <<<<<<<<<<<<<<<<<<<<<<ВОТ ЭТА СТРОЧКА
     
    
    echo "</td></tr>          </table>";
    }
    
    ?>
    
    </body></html>
    Последний раз редактировалось Жека@House; 26.08.2011 в 23:53.

  7. Вверх #67
    Новичок
    Пол
    Мужской
    Возраст
    37
    Сообщений
    15
    Репутация
    10
    Первый приведенный код будет работать если в php.ini register_globals=On (что не самом деле очень небезопасно). А поскольку переменная приходит методом GET, то надо явно это указывать.
    getenv() лишняя. Можно просто $_SERVER['REMOTE_ADDR'];
    Из литературы посоветовал бы официальный мануал с php.net

  8. Вверх #68
    Частый гость Аватар для Флаперон
    Пол
    Мужской
    Адрес
    Одесса
    Возраст
    51
    Сообщений
    577
    Репутация
    718
    Начал для себя ковырять понемногу PHP. Начал тренироваться на "кошках" , т.е на простейших примерах. И вот в примере обработчика формы заказа столкнулся с тем, что обработчик не получает переменные из формы заказа.
    PHP код:
    <?php
    $v 
    mail("[email protected]","Заказ с сайта","На сайте был сделан заказ. \n 
    Заказ пришел от: 
    $fio \n Адрес доставки: $address","Content-type:text/plain; charset=windows-1251\r\n");
    if (
    $v=="true") {echo "Ваше сообщение успешно отправлено!";} 
    else {echo 
    "Обнаружена ошибка при отправке письма!";}
    ?>
    Письмо отправляется, но переменные $fio и $address отсутствуют в тексте письма и выскакивает сообщение на странице, что "Обнаружена ошибка при отправке письма!". Соответствующие имена полей указаны. Почитал тему с начала, пробовал применить $_GET[], но это ничего не дало. Подозреваю, что какая-то нестыковка по версиям PHP. Понимаю, что нужно курить толковые книги по PHP, но терпения уже нет. Как победить эту напасть?
    P.S. Тестирую на локальном сервере Denwer.
    Кактус - это разочаровавшийся в жизни и ни во что не верящий огурец.

  9. Вверх #69
    Новичок Аватар для lastride
    Пол
    Мужской
    Возраст
    34
    Сообщений
    77
    Репутация
    19
    Цитата Сообщение от Флаперон Посмотреть сообщение
    Начал для себя ковырять понемногу PHP. Начал тренироваться на "кошках" , т.е на простейших примерах. И вот в примере обработчика формы заказа столкнулся с тем, что обработчик не получает переменные из формы заказа.
    PHP код:
    <?php
    $v 
    mail("[email protected]","Заказ с сайта","На сайте был сделан заказ. \n 
    Заказ пришел от: 
    $fio \n Адрес доставки: $address","Content-type:text/plain; charset=windows-1251\r\n");
    if (
    $v=="true") {echo "Ваше сообщение успешно отправлено!";} 
    else {echo 
    "Обнаружена ошибка при отправке письма!";}
    ?>
    Письмо отправляется, но переменные $fio и $address отсутствуют в тексте письма и выскакивает сообщение на странице, что "Обнаружена ошибка при отправке письма!". Соответствующие имена полей указаны. Почитал тему с начала, пробовал применить $_GET[], но это ничего не дало. Подозреваю, что какая-то нестыковка по версиям PHP. Понимаю, что нужно курить толковые книги по PHP, но терпения уже нет. Как победить эту напасть?
    P.S. Тестирую на локальном сервере Denwer.
    хм..а откуда Вы берёте переменные $fio и $address ?

  10. Вверх #70
    Частый гость Аватар для Флаперон
    Пол
    Мужской
    Адрес
    Одесса
    Возраст
    51
    Сообщений
    577
    Репутация
    718
    Цитата Сообщение от lastride Посмотреть сообщение
    хм..а откуда Вы берёте переменные $fio и $address ?
    Обработчик PHP я сделал отдельным файлом obrabotka.php (его текст приведен выше). А в HTML-коде странице есть такой код формы:
    Код HTML:
    <form action="obrabotka.php" method="post" name="form1">
    <p><strong>Введите своё ФИО</strong><br>
    <input type="text" name="fio" width="20">
    </p>
    
    <p><strong>Введите адрес доставки</strong><br>
    <textarea name="address" cols="40" rows="5">
    </textarea>
    </p>
    
    <p>
    <input type="submit" name="button" value="Отправить заказ">
    </p>
    
    </form>
    Кактус - это разочаровавшийся в жизни и ни во что не верящий огурец.

  11. Вверх #71
    Новичок Аватар для lastride
    Пол
    Мужской
    Возраст
    34
    Сообщений
    77
    Репутация
    19
    Цитата Сообщение от Флаперон Посмотреть сообщение
    Обработчик PHP я сделал отдельным файлом obrabotka.php (его текст приведен выше). А в HTML-коде странице есть такой код формы:
    Код HTML:
    <form action="obrabotka.php" method="post" name="form1">
    <p><strong>Введите своё ФИО</strong><br>
    <input type="text" name="fio" width="20">
    </p>
    
    <p><strong>Введите адрес доставки</strong><br>
    <textarea name="address" cols="40" rows="5">
    </textarea>
    </p>
    
    <p>
    <input type="submit" name="button" value="Отправить заказ">
    </p>
    
    </form>
    Так Вы отправляете данные методом POST а не GET
    Поэтому пробуйте так -

    $v = mail("[email protected]","Заказ с сайта","На сайте был сделан заказ. \n
    Заказ пришел от: ".$_POST['fio']." \n Адрес доставки: ".$_POST['address']."","Content-type:text/plain; charset=windows-1251\r\n");
    if ($v=="true") {echo "Ваше сообщение успешно отправлено!";}
    else {echo "Обнаружена ошибка при отправке письма!";}

    И кстати зачем Вам textarea для адреса..можно тоже использовать текстовое поле
    Последний раз редактировалось lastride; 29.08.2011 в 11:08.

  12. Вверх #72
    Частый гость Аватар для Флаперон
    Пол
    Мужской
    Адрес
    Одесса
    Возраст
    51
    Сообщений
    577
    Репутация
    718
    Цитата Сообщение от lastride Посмотреть сообщение
    Так Вы отправляете данные методом POST а не GET
    Поэтому пробуйте так -

    $v = mail("[email protected]","Заказ с сайта","На сайте был сделан заказ. \n
    Заказ пришел от: ".$_POST['fio']." \n Адрес доставки: ".$_POST['address']."","Content-type:text/plain; charset=windows-1251\r\n");
    if ($v=="true") {echo "Ваше сообщение успешно отправлено!";}
    else {echo "Обнаружена ошибка при отправке письма!";}

    И кстати зачем Вам textarea для адреса..можно тоже использовать текстовое поле
    Спасибо за подсказку! Действительно, я пытался использовать разные методы в одном наборе. Сделал, как Вы сказали и получил следующее:
    1. Письмо пришло с данными из формы.
    2. После отправки на странице появилось сообщение "Обнаружена ошибка при отправке письма!"
    3. При вводе одинарных кавычек в прямоугольные скобки после отправки выскакивает сообщение об ошибке в синтаксисе. После удаления этих кавычек получил события по пп 1 и 2.
    Почему происходит п.2 и почему такой нюанс по п.3?
    А textarea использовал для разнообразия и тренировки.

    P.S. Буквально за несколько минут до Вашего сообщения я сам прозрел и увидел, что пытался использовть разные методы в форме и в обработчике.
    Последний раз редактировалось Флаперон; 29.08.2011 в 12:49.
    Кактус - это разочаровавшийся в жизни и ни во что не верящий огурец.

  13. Вверх #73
    Частый гость Аватар для Флаперон
    Пол
    Мужской
    Адрес
    Одесса
    Возраст
    51
    Сообщений
    577
    Репутация
    718
    Поправлюсь.
    При использовании ".$_POST['fio']." ошибки синтаксиса не выскакивало. Но ошибка об отправке сообщения есть. Когда я написал $_POST[fio] было то же самое. А вот когда я написал $_POST['fio'] - появилась ошибка синтаксиса.
    Кактус - это разочаровавшийся в жизни и ни во что не верящий огурец.

  14. Вверх #74
    Новичок Аватар для lastride
    Пол
    Мужской
    Возраст
    34
    Сообщений
    77
    Репутация
    19
    Цитата Сообщение от Флаперон Посмотреть сообщение
    Поправлюсь.
    При использовании ".$_POST['fio']." ошибки синтаксиса не выскакивало. Но ошибка об отправке сообщения есть. Когда я написал $_POST[fio] было то же самое. А вот когда я написал $_POST['fio'] - появилась ошибка синтаксиса.
    если Вы например пишите просто echo $_POST['fio']; то всё правильно..если вы пишите что-то типа такого - echo "pam pam ".$_POST['fio']." pam pararam"; то пост нужно писать именно так..иначе будет ошибка синтаксиса..можно ещё так - echo "pam pam {$_POST['fio']}";

    ах да..вот в чём ваша ошибка..if ($v=="true")
    Вы сравниваете $v со строкой "true" а Вам надо сравнить булевый тип..то есть следует переписать так - if ($v == true)
    без кавычек..

  15. Вверх #75
    Частый гость Аватар для Флаперон
    Пол
    Мужской
    Адрес
    Одесса
    Возраст
    51
    Сообщений
    577
    Репутация
    718
    Цитата Сообщение от lastride Посмотреть сообщение
    ...Вы сравниваете $v со строкой "true" а Вам надо сравнить булевый тип..то есть следует переписать так - if ($v == true) без кавычек..
    Хм... Убрал кавычки, сообщение об ошибке осталось...
    Кактус - это разочаровавшийся в жизни и ни во что не верящий огурец.

  16. Вверх #76
    Частый гость Аватар для Флаперон
    Пол
    Мужской
    Адрес
    Одесса
    Возраст
    51
    Сообщений
    577
    Репутация
    718
    Ё-моё! Победил этот код!!! Оказывается, у меня перед mail стояла большая V ($V), а в условии if стояла маленька v ($v). Теперь все работает и появляется "Ваше сообщение успешно отправлено!"
    Еще раз спасибо Вам, lastride, за подсказки!!!
    Кактус - это разочаровавшийся в жизни и ни во что не верящий огурец.

  17. Вверх #77
    Новичок Аватар для lastride
    Пол
    Мужской
    Возраст
    34
    Сообщений
    77
    Репутация
    19
    Цитата Сообщение от Флаперон Посмотреть сообщение
    Ё-моё! Победил этот код!!! Оказывается, у меня перед mail стояла большая V ($V), а в условии if стояла маленька v ($v). Теперь все работает и появляется "Ваше сообщение успешно отправлено!"
    Еще раз спасибо Вам, lastride, за подсказки!!!
    обращайтеь =)

  18. Вверх #78
    Постоялец форума
    Пол
    Мужской
    Адрес
    Одесса
    Возраст
    43
    Сообщений
    1,474
    Репутация
    697
    Я офигеваю, дорогая редакция. Флаперон, ну изучите основы языка, читайте документацию, смотрите, что возвращают функции и методы. Потом уже и кошек насилуйте. Мне страшно за вашего сферического покупателя. Как изучите, ставьте себе PhpStorm. Он подобные опечатки хорошо отлавливает.
    Считаешь себя украинцем? Изучай украинскую историю и культуру.

  19. Вверх #79
    Частый гость Аватар для Флаперон
    Пол
    Мужской
    Адрес
    Одесса
    Возраст
    51
    Сообщений
    577
    Репутация
    718
    Цитата Сообщение от Илья Царюк Посмотреть сообщение
    Я офигеваю, дорогая редакция. Флаперон, ну изучите основы языка, читайте документацию, смотрите, что возвращают функции и методы. Потом уже и кошек насилуйте. Мне страшно за вашего сферического покупателя. Как изучите, ставьте себе PhpStorm. Он подобные опечатки хорошо отлавливает.
    Объясняю! У меня внепланово возникла необходимость разобраться с ситуацией, которая никогда меня не интересовала и, возможно, никогда больше не заинтересует. Тем более, я не собираюсь на этом зарабатывать денег (так что мои гипотетические "сферические покупатели"(с) могут облегченно выдохнуть ). Взяться за разрешение этой ситуации (проблемы) сподвиг меня праздный интерес и кое-какие элементарные знания HTML-кода и основ программирования. А теперь скажите: вы бы на моём месте стали бы покупать какие-то самоучители (которые стоят немалых денег), стали бы записываться на какие-то курсы? Или просто попросили бы у более грамотных в данном вопросе товарищей помощи по этому вопросу? Ответ очевиден. И моя просьба о помощи в разборе двух строк кода врядли доставила какие-то неудобства людям, которые хорошо разбираются в этом. По крайней мере, lastride, не счел зазорным помочь мне разобраться с кодом, за что говорю ему ещё раз спасибо. При этом я сам полазил в тырнете и поискал информацию, которая могла бы мне помочь в моём вопросе. Поэтому, ваш выпад с упреком на изучение основ языка, мягко говоря, неуместен. Или я "достал" всю местную общественность своими бестолковыми вопросами, которые без конца задаю с начала темы? Если мне нужен будет этот язык - я его выучу. А потом, возможно, ещё и сам буду здесь кому-то помогать. Но это так, предположения. И поверьте мне: в свои почти 40 лет, имея инженерное образование, я прекрасно знаю, как, где и каким образом получить требуемые мне знания, которых у меня в данный момент нет.
    Такие дела. Надеюсь, я доходчиво объяснил свой взгляд на некоторые вещи. За PhpStorm - спасибо! Если буду дальше интересоваться PHP, то поюзаю его.
    Кактус - это разочаровавшийся в жизни и ни во что не верящий огурец.

  20. Вверх #80
    Новичок
    Пол
    Мужской
    Возраст
    33
    Сообщений
    6
    Репутация
    14
    Для начала изучения PHP не нужно никаких учебников, все учебники и самоучители есть в интернете
    Все очень подробно описано, разжевано и выложено на тарелочку с голубой каемочкой
    PHP.net
    PHP.su
    на втором есть достаточно интересное руководство начинающему программисту


Ответить в теме
Страница 4 из 5 ПерваяПервая ... 2 3 4 5 ПоследняяПоследняя

Похожие темы

  1. Введение в PHP, MySQL
    от Anonymous в разделе Программирование
    Ответов: 81
    Последнее сообщение: 21.03.2015, 01:17
  2. Бесплатно 25 мб места, cPanel, MySQL, PHP, CGI, Perl и др.
    от OnlineHoster в разделе Интернет :: технические вопросы
    Ответов: 1
    Последнее сообщение: 25.02.2006, 21:00
  3. помогите! PHP -> сохранение страницы с другого хоста
    от [)wad.org в разделе Программирование
    Ответов: 5
    Последнее сообщение: 22.03.2005, 15:25
  4. пмогите!!!!! (php,mysql, while();)
    от Jeno в разделе Программирование
    Ответов: 7
    Последнее сообщение: 23.11.2004, 16:07
  5. Кто у нас программирует на PHP?
    от iFog в разделе Программирование
    Ответов: 23
    Последнее сообщение: 10.03.2004, 16:35

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения