[php] Новичкам: задаем вопросы

Discussion in 'PHP' started by _Great_, 26 May 2007.

Thread Status:
Not open for further replies.
  1. Andres

    Andres Elder - Старейшина

    Joined:
    4 Apr 2008
    Messages:
    320
    Likes Received:
    119
    Reputations:
    0
    В самом начале скрипта ob_start(); поставь
    А вообще, прочитай полностью статью, может,что-то упустил
     
  2. qw1mb1

    qw1mb1 Member

    Joined:
    8 Feb 2013
    Messages:
    113
    Likes Received:
    16
    Reputations:
    8
    GAiN, я не уверен, но попробуй заменить
    PHP:
    header("Content-type: image/png");
    на
    PHP:
    header("Content-type: image/gif");
     
  3. FunOfGun

    FunOfGun Elder - Старейшина

    Joined:
    5 Sep 2012
    Messages:
    388
    Likes Received:
    72
    Reputations:
    124
    скорей всего не поможет, т.к. bom выводится до запуска скрипта и он будет уже выведен в момент вызова функции
    это тоже нужно сделать, но это потенциально следующая проблема, к текущей это не имеет отношения

    GAiN, если проблема еще не решена, скинь сюда оригинальный файл, поковыряем
     
  4. GAiN

    GAiN Elder - Старейшина

    Joined:
    2 Apr 2011
    Messages:
    2,550
    Likes Received:
    172
    Reputations:
    99
    всё так же, ошибка на 2й строке
    вот оригинал кода:
    PHP:
    <?php
    $file
    ="log.txt";
    $data=date("D.M.Y");
    $time=date("h:i"); 
    $ip=trim($_SERVER['REMOTE_ADDR']);   
    $sysinfo=trim($_SERVER['HTTP_USER_AGENT']); 

    if(
    is_file($file)){ 
    $fo=fopen($file,"a"); 
    $res="$data | $time | $ip | $sysinfo \n";
    $fw=fwrite($fo,$res);
    fclose($fo);
    }
     
    ?>
    я добавил отображение картинки:
    PHP:
    Header("Content-type: image/png"); // здесь пробовал прописывал Content-type: image/gif");но это не помогло
    $im ImageCreateFromGif("путь_к_вашей_картинке"); 
    ImageGif($im); 
    ImageDestroy($im);
     
  5. FunOfGun

    FunOfGun Elder - Старейшина

    Joined:
    5 Sep 2012
    Messages:
    388
    Likes Received:
    72
    Reputations:
    124
    скинь файлом, через файлопомойку
     
  6. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,170
    Likes Received:
    1,155
    Reputations:
    202
    GAiN попросили же на файлобменник
    http://www.sendspace.com/
    http://rghost.net/
     
  7. GAiN

    GAiN Elder - Старейшина

    Joined:
    2 Apr 2011
    Messages:
    2,550
    Likes Received:
    172
    Reputations:
    99
  8. qw1mb1

    qw1mb1 Member

    Joined:
    8 Feb 2013
    Messages:
    113
    Likes Received:
    16
    Reputations:
    8
    преобразовать в UTF-8 без BOM и пересохранить

    результат тут
     
  9. Tamplier

    Tamplier New Member

    Joined:
    1 Jan 2011
    Messages:
    6
    Likes Received:
    0
    Reputations:
    0
    Вопрос такой, есть php:
    PHP:
    <?php
    $file 
    ="test.txt";
    $f_o=fopen($file,"a") or die("невозможно открыть/создать файл");
    fwrite($f_o"1") or die ('Не записал');
    $array=file($file);
    foreach(
    $array as $string)
    fclose($f_o);
    ?>
    Он должен выполняться при клике на html странице, допустим по "ААА", выглядит она так:
    HTML:
    <select id="sel_obs" class="detailText">
                  <option onclick="javascript:selectControl.unselectAll();"></option>
                  <option value="AAA" onclick="javascript:selectControl.unselectAll();selectControl.select(map.getLayer('vectors1').getFeatureById('AAA'));">AAA</option>
                  <option value="BBB" onclick="javascript:selectControl.unselectAll();selectControl.select(map.getLayer('vectors1').getFeatureById('BBB'));">BBB</option>        
                  <option value="CCC" onclick="javascript:selectControl.unselectAll();selectControl.select(map.getLayer('vectors1').getFeatureById('CCC'));">CCC</option>
                </select>
    <td colspan="4" class="bodyText" align="center"><input type="submit" value="Submit"></td>
    Как сделать?

    И второй вопрос:
    Как изменить php, чтобы при каждом новом клике, допустим записано в файл test.txt значение "1", взять это значение и прибавить в нему 1.
    В двух словах к записанному значению прибавить единицу?

    Заранее спасибо.
     
    #21769 Tamplier, 19 Aug 2013
    Last edited: 19 Aug 2013
  10. Satd

    Satd New Member

    Joined:
    13 Apr 2010
    Messages:
    7
    Likes Received:
    0
    Reputations:
    0
    Привет всем. Прошу помощи в заполнении БД данными которые вводит пользователь в некую форму например :
    HTML:
    <html>
    <body>
    <form action='book2.php' method='POST'>
    <table>    
     name:<input name='name' type='text'/><br />
       age:<input name='age' type='text'/><br />
        
        <input name='button' type='submit'  value='Ввод'/>
    </table>
    </form>
    </body>
    </html>
    А вот код обработчика :
    PHP:
    <?php
      $hostname 
    "127.0.0.1";//хост сервера
        
    $username "root";
        
    $password "";
        
    $dbName "test";//название БД
        
    $userstable "test";//таблица БД

    if (!$conn mysql_connect($hostname,$username,$password))
    {
    echo 
    "<h2>MySQL Error!</h2>";
    exit;
    }

     
    $name $_POST['$name'];
     
    $age $_POST['$age']; 

     
    mysql_select_db($dbName); 

     
    mysql_query("SET NAMES 'cp1251'"); 
     
    $result mysql_query("INSERT INTO `test` (name, age) VALUES( NULL,
      '
    $name', '$age')"); 
      
    if (
    $result=='true'
    {echo 
    "Ваши данные успешно добавлены";}
    else{echo 
    "Ваши данные не добавлены";}
    ?>
    код конечно не я сам написал только начал изучение.
    база данных таблица названия сделал идентичными но почему то данные не добавляются. Помогите решить задачку эту может я что не так делаю.Или настройки сервера какие произвести.Если выполнить вот это работает
    PHP:
    <?php
    $mysqli 
    = new mysqli('localhost''root''''test');
      if (
    mysqli_connect_errno()) {
        echo 
    "Подключение невозможно: ".mysqli_connect_error();
      }
     
    $mysqli->query('INSERT INTO `test` (id, name, age) VALUES ("NULL", "Sara", "Tolipovna")');
      
    $mysqli->close();
    ?>
     
  11. BlackIce

    BlackIce Elder - Старейшина

    Joined:
    10 Jan 2013
    Messages:
    100
    Likes Received:
    31
    Reputations:
    27

    mysql_query("INSERT INTO `test` (name, age) VALUES( NULL,
    '$name', '$age')");

    Патамучта нужна изучить синтаксес пыха
    PHP:
    mysql_query("INSERT INTO test (name, age) VALUES( '$name', '$age')");
     
  12. Satd

    Satd New Member

    Joined:
    13 Apr 2010
    Messages:
    7
    Likes Received:
    0
    Reputations:
    0
    некоторые говорят так другие по другому. убрал я их но все равно не получается.
    все же начинали как я может у кого сохранился рабочий код по передаче данных в базу по которому можно разобраться.Я понимаю вам не до меня но для знающего такой наверное 5 минутное дело помогите разобраться.Книги сайты тоже читал но пока работающий код не нашел.
     
  13. Konqi

    Konqi Green member

    Joined:
    24 Jun 2009
    Messages:
    2,251
    Likes Received:
    1,149
    Reputations:
    886
    Satd

    $name = $_POST['$name'];
    $age = $_POST['$age'];

    wtf?

    уберите знаки доллара из имени элементов, обычно когда запросы к базе не выполняются - используют конструкцию or die(mysql_error()) для вывода текста ошибки, чтобы понять в чем проблема.
     
    _________________________
  14. Satd

    Satd New Member

    Joined:
    13 Apr 2010
    Messages:
    7
    Likes Received:
    0
    Reputations:
    0
    это я поправил после того как прочитал твой пост потом запустил скрипт в ручную и вот что выдал лог
    22 Connect root@localhost on
    22 Init DB test
    22 Init DB test
    22 Query SET NAMES 'cp1251'
    22 Query INSERT INTO test VALUES( NULL '', '')
    22 Quit
    а если попробовать запустить через форму лог не реагирует. Похоже они почему то не общаются между собой.
     
  15. Satd

    Satd New Member

    Joined:
    13 Apr 2010
    Messages:
    7
    Likes Received:
    0
    Reputations:
    0
    Сильно не ругайтесь.... скрипт я заключаю в теги <html> но сохраняю в расширении "php" может из-за этого, но если их убрать то после нажатия на кнопку формы просто выводит на экран код скрипта.Работаю через Open server.
     
  16. mrMove

    mrMove New Member

    Joined:
    10 Aug 2013
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    Нужно определить страну посетителя сайта и перенаправить его на нужную страницу.
    Сделал так: http://webmasta.org/community/read/18/
    но не работает( просто белый экран(
    Код:

    PHP:
    <?php
    include("geoip.inc");
    include(
    "geoipcity.inc");
     
    $ip $_SERVER['REMOTE_ADDR']; 
     
    $geoip geoip_open("GeoLiteCity.dat"GEOIP_STANDARD);  
     
    $geodata GeoIP_record_by_addr($geoip$ip); 
     
    geoip_close($geoip); 
     
    $geodata = (array)$geodata
     
    $code strtolower($geodata['country_code']); 
    switch (
    $code) {
        case 
    "RU":
            
    header("Location:http://site.ru/");
            break;
    }
    ?>
    Что не так? Может не так код собрал? Подскажите где косяк.
    Если у кого-то есть готовое решение, поделитесь пожалуйста)
     
  17. GAiN

    GAiN Elder - Старейшина

    Joined:
    2 Apr 2011
    Messages:
    2,550
    Likes Received:
    172
    Reputations:
    99
    Всем привет !
    как можно сделать проверку значений select name?


    нужно только проверять наличие значения value 1 или 2 и если оно не соответствует 1 или 2, то выводить сообщение

    в html:
    PHP:
                    <select name="tip" id="tip" size=2>
                    <
    option value=1>text</option>
                    <
    option value=2 selected>html</option>
                    </
    select>
    в php:
    PHP:
    $parametrtext = ($_POST['tip'] == 2) ? 'text/html' 'text/plain';
     
  18. profexer

    profexer New Member

    Joined:
    10 Apr 2013
    Messages:
    21
    Likes Received:
    2
    Reputations:
    0
    Я так понимаю, имелось в виду проверять значение параметра tip на соответствие одному из двух возможных.
    PHP:
    if($_POST['tip']!=1  &&  $_POST['tip']!=2)
      echo 
    'Error';
     
    1 person likes this.
  19. Xantalion

    Xantalion New Member

    Joined:
    16 Feb 2008
    Messages:
    26
    Likes Received:
    1
    Reputations:
    3
    В данном случае $code получает символы нижнего регистра.
    Нужно заменить: strtolower на strtoupper или просто убрать strtolower(), т.к. значение из базы приходит в верхнем регистре
     
    #21779 Xantalion, 30 Aug 2013
    Last edited: 30 Aug 2013
  20. GAiN

    GAiN Elder - Старейшина

    Joined:
    2 Apr 2011
    Messages:
    2,550
    Likes Received:
    172
    Reputations:
    99
    есть форма которая отправляет post запрос файлу обработчику.
    в этой форме есть checkbox по умолчанию он выключен
    может только иметь два значения: включен и выключен

    PHP:
    <input name="notify" type="checkbox">

    в php нужно скрыть заголовки если checkbox выключен, если включен то показать их:

    PHP:
     $headers   .= "Disposition-Notification-To: $from\r\n";
     
    $headers   .= "Read-Receipt-To: $from\r\n";
     
    $headers   .= "Return-Receipt-Requested: $from\r\n";
     
    $headers   .= "Generate-Delivery-Report: $from\r\n";
     
    $headers   .= "X-Confirm-Reading-To: $from\r\n";
    как это правильно реализовать ? помогите пожалуйста
     
Thread Status:
Not open for further replies.