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

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

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

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

    Joined:
    2 Apr 2011
    Messages:
    2,529
    Likes Received:
    166
    Reputations:
    99
    FunOfGun, я проверял на скрытые символы, лишнего нет :
    [​IMG]
     
  2. seosimf

    seosimf Member

    Joined:
    3 Mar 2011
    Messages:
    271
    Likes Received:
    44
    Reputations:
    6
    UTF-8 с BOM ты так не увидишь, как тебе сказали выше сохрани без BOM.
     
  3. Andres

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

    Joined:
    4 Apr 2008
    Messages:
    320
    Likes Received:
    119
    Reputations:
    0
    В самом начале скрипта ob_start(); поставь
    А вообще, прочитай полностью статью, может,что-то упустил
     
  4. 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");
     
  5. FunOfGun

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

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

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

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

    Joined:
    2 Apr 2011
    Messages:
    2,529
    Likes Received:
    166
    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);
     
  7. FunOfGun

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

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

    b3 Moderator

    Joined:
    5 Dec 2004
    Messages:
    2,029
    Likes Received:
    913
    Reputations:
    199
    GAiN попросили же на файлобменник
    http://www.sendspace.com/
    http://rghost.net/
     
    _________________________
  9. GAiN

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

    Joined:
    2 Apr 2011
    Messages:
    2,529
    Likes Received:
    166
    Reputations:
    99
  10. qw1mb1

    qw1mb1 Member

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

    результат тут
     
  11. 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.
    В двух словах к записанному значению прибавить единицу?

    Заранее спасибо.
     
    #21771 Tamplier, 19 Aug 2013
    Last edited: 19 Aug 2013
  12. 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();
    ?>
     
  13. 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')");
     
  14. Satd

    Satd New Member

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

    Konqi Green member

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

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

    wtf?

    уберите знаки доллара из имени элементов, обычно когда запросы к базе не выполняются - используют конструкцию or die(mysql_error()) для вывода текста ошибки, чтобы понять в чем проблема.
     
    _________________________
  16. 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
    а если попробовать запустить через форму лог не реагирует. Похоже они почему то не общаются между собой.
     
  17. Satd

    Satd New Member

    Joined:
    13 Apr 2010
    Messages:
    7
    Likes Received:
    0
    Reputations:
    0
    Сильно не ругайтесь.... скрипт я заключаю в теги <html> но сохраняю в расширении "php" может из-за этого, но если их убрать то после нажатия на кнопку формы просто выводит на экран код скрипта.Работаю через Open server.
     
  18. 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;
    }
    ?>
    Что не так? Может не так код собрал? Подскажите где косяк.
    Если у кого-то есть готовое решение, поделитесь пожалуйста)
     
  19. GAiN

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

    Joined:
    2 Apr 2011
    Messages:
    2,529
    Likes Received:
    166
    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';
     
  20. 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.
Loading...
Thread Status:
Not open for further replies.