Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   www.boolean.name > Веб-программирование > PHP / MySQL

PHP / MySQL Создание динамических Веб-ресурсов

Ответ
 
Опции темы
Старый 18.01.2013, 19:37   #16
pie
ПроЭктировщик
 
Аватар для pie
 
Регистрация: 04.11.2011
Сообщений: 176
Написано 19 полезных сообщений
(для 64 пользователей)
Ответ: Вопрос-Ответ

Да. Заходить могу, могу изменять, могу добавлять.
(Offline)
 
Ответить с цитированием
Старый 18.01.2013, 19:44   #17
dsd
Мастер
 
Аватар для dsd
 
Регистрация: 12.06.2011
Сообщений: 1,096
Написано 477 полезных сообщений
(для 1,820 пользователей)
Ответ: Вопрос-Ответ

ну так заполни свои переменные с хостом, юзером, паролем и именембазы на нормальные и попробуй считать чтонить из базы. В том же phpMyAdmin составь корректный запрос и вставь его в свой пхп скрипт. И все должно заработать. По идее.
(Offline)
 
Ответить с цитированием
Старый 18.01.2013, 20:02   #18
pie
ПроЭктировщик
 
Аватар для pie
 
Регистрация: 04.11.2011
Сообщений: 176
Написано 19 полезных сообщений
(для 64 пользователей)
Ответ: Вопрос-Ответ

К сведению:
- конфиг файл у меня заполнен правильно, звездочки я поставил чтобы скрыть информацию от Вас (может мне дать номера и пароли от электронных кошельков?);
- скрипт написан правильно ибо ошибок не выдает.

В ответ от скрипта приходит "false". Значит все проверки выполняются правильно. Не происходит только одного - запись в базу данных. Может проблема в структуре базы данных?

Переписал код:
<?php
Include "Config.php";

if ((!empty(
$_POST['id'])) && (!empty($_POST['key']))) {
    
$id $_POST['id'];
    
$key $_POST['key'];
    
    
$auth_key md5($api_id."_".$id."_".$api_secret);
    
    if (
$key == $auth_key) {
        
$link mysql_connect($mysql_host$mysql_user$mysql_password)
        or die(
"Could not connect : " mysql_error());
        
mysql_query('SET NAMES utf8');
        
mysql_select_db($mysql_database) or die("Could not select database");
        
        
$query "SELECT * FROM `players` WHERE `id` = `".$id."`";
        
        if (
mysql_query($query)) {
            
mysql_query("INSERT INTO `players`(`id`, `key`) VALUES (`".$id."`,`".$key."`)");
            echo 
json_encode(mysql_fetch_array(mysql_query($query)));
        }else{
            echo 
json_encode(mysql_fetch_array(mysql_query($query)));
        }
    }else{
        echo 
"Error key!";
    }
}else{
    echo 
"Error post data!";
}
?>
(Offline)
 
Ответить с цитированием
Старый 18.01.2013, 20:17   #19
dsd
Мастер
 
Аватар для dsd
 
Регистрация: 12.06.2011
Сообщений: 1,096
Написано 477 полезных сообщений
(для 1,820 пользователей)
Ответ: Вопрос-Ответ

Блин, сорвалась афера века...

<?php

    mysql_connect
("***""***""***") or die (mysql_error());
    
mysql_select_db("***") or die (mysql_error());

    
mysql_query("set character_set_client    ='utf8'");
    
mysql_query("set character_set_results    ='utf8'");
    
mysql_query("set collation_connection    ='utf8_bin'");
    
    
session_start();
    
    
$query ="SELECT * FROM  `players`";
    
$sql mysql_query($query) or die(mysql_error());
    
    if(
mysql_num_rows($sql)>0){
            for (
$i mysql_num_rows($sql)-1$i >= 0$i--) {
                echo 
'<p>';
                for (
$j mysql_num_fields($sql)-1$j >= 0$j--) {
                    echo 
mysql_result($sql$i$j).'  ';
            
                }
                echo 
'</p>';
            }
    }
    
?>
Вот таким скриптом поидее распечатается твоя таблица.
А может и нет и это супер вирус который уничтожит твой компьютер.
(Offline)
 
Ответить с цитированием
Старый 18.01.2013, 22:19   #20
moka
.
 
Регистрация: 04.08.2006
Сообщений: 10,423
Написано 3,449 полезных сообщений
(для 6,840 пользователей)
Ответ: Вопрос-Ответ

На ошибки проверяй сами запросы: mysql_error()
Также ты используешь старые функции, они уже deprecated, и нужно юзать OOP подход используя mysqli.
http://php.net/manual/en/function.mysql-query.php
(Offline)
 
Ответить с цитированием
Старый 05.02.2013, 12:53   #21
Trazzy
Разработчик
 
Аватар для Trazzy
 
Регистрация: 24.11.2008
Адрес: UA
Сообщений: 504
Написано 110 полезных сообщений
(для 225 пользователей)
Ответ: Вопрос-Ответ

Привет всем бульйонцам!

Есть у меня, к примеру, такой вот код:
<?php
echo '<form method="GET">
<input type="text" name="t1" value="'
.@$_GET['t1'].'">
<input type="text" name="t2" value="'
.@$_GET['t2'].'">
<input type="submit" value="OK">
</form>'
;
?>
... так вот, если в первой строке вписать что-то вроде Вася&t2=Пупкин и нажать ОК - в первой строке будет Вася, а во второй Пупкин.
Т.е. &t2= передастся как есть и воспримется как get..
Вопрос: как бороться с таким поведением?
(надо что-то вроде urlencode, но как?)
__________________
Уважай собеседника, а лучше подари ему +
(Offline)
 
Ответить с цитированием
Старый 05.02.2013, 12:57   #22
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,905
Написано 3,391 полезных сообщений
(для 9,274 пользователей)
Ответ: Вопрос-Ответ

encodeURIComponent()
или
&аmp; вместо &
__________________
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Trazzy (05.02.2013)
Старый 05.02.2013, 13:13   #23
Trazzy
Разработчик
 
Аватар для Trazzy
 
Регистрация: 24.11.2008
Адрес: UA
Сообщений: 504
Написано 110 полезных сообщений
(для 225 пользователей)
Ответ: Вопрос-Ответ

А без JavaScript никак?
__________________
Уважай собеседника, а лучше подари ему +
(Offline)
 
Ответить с цитированием
Старый 05.02.2013, 15:00   #24
moka
.
 
Регистрация: 04.08.2006
Сообщений: 10,423
Написано 3,449 полезных сообщений
(для 6,840 пользователей)
Ответ: Вопрос-Ответ

При чём тут js? (UPD - твоя проблема заключается в том что со стороны клиента данные не escape'лись, и ты получаешь другие GET переменные)

GET - это то что после ? в ссылке.
Всё что до - другое.

GET - это массив key <> value значений. До = идёт key, а после = value.

Если ты напишешь:
example.com/foo?bar=poo
То у тебя будет только один GET - bar, со значением poo.

Если ты напишешь так:
example.com?foo&bar=poo
То у тебя будет две переменные foo, значение которой будет null и bar со значением poo.
& - это разделитель переменных в GET запросах.

UPD:
Следственно проблема на стороне клиента, при этом и js.

Последний раз редактировалось moka, 05.02.2013 в 16:04.
(Offline)
 
Ответить с цитированием
Старый 05.02.2013, 15:31   #25
Trazzy
Разработчик
 
Аватар для Trazzy
 
Регистрация: 24.11.2008
Адрес: UA
Сообщений: 504
Написано 110 полезных сообщений
(для 225 пользователей)
Ответ: Вопрос-Ответ

МоКа, я так написал потому что (предложеная джокером) функция encodeURIComponent() используется в JS.
З.Ы. Спасибо тебе, конечно.. но я не просил рассказывать про GET и POST запросы, т.к. прекрасно знаю что это такое и как оно работает.
Я задал вопрос и хотел бы получить ответ (желательно с примером кода). Спасибо.
__________________
Уважай собеседника, а лучше подари ему +
(Offline)
 
Ответить с цитированием
Старый 05.02.2013, 16:02   #26
moka
.
 
Регистрация: 04.08.2006
Сообщений: 10,423
Написано 3,449 полезных сообщений
(для 6,840 пользователей)
Ответ: Вопрос-Ответ

Сообщение от 2Fake Посмотреть сообщение
МоКа, я так написал потому что (предложеная джокером) функция encodeURIComponent() используется в JS.
З.Ы. Спасибо тебе, конечно.. но я не просил рассказывать про GET и POST запросы, т.к. прекрасно знаю что это такое и как оно работает.
Я задал вопрос и хотел бы получить ответ (желательно с примером кода). Спасибо.
Тебе уже ответили что за проблема.
Я лишь дал больше инфы.

Проблема в том что браузер будет слать данные как есть, и не будет производить никакого форматирования данных перед отсылкой.
Ты можешь перехватить событие нажатия submit и сделать форматирование данных там - заменить все & на &amp; таким образом у тебя не будет поломана структура GET.
SBJoker тебе дал для этого функцию - используй её.

На стороне сервера, всегда делай нужную валидацию данных, даже если твой front-end код предотвращает не валидные данные, я могу через командную строку всё равно послать не валидный запрос.
(Offline)
 
Ответить с цитированием
Старый 05.02.2013, 16:26   #27
Trazzy
Разработчик
 
Аватар для Trazzy
 
Регистрация: 24.11.2008
Адрес: UA
Сообщений: 504
Написано 110 полезных сообщений
(для 225 пользователей)
Ответ: Вопрос-Ответ

Сообщение от MoKa
SBJoker тебе дал для этого
функцию - используй её.
Согласен, но не исключено, что может использоваться арбузер без поддержки JS (например: моб.браузер) или яваскрипт будет просто напросто отключен. И вот только поэтому я и спрашивал как обойтись без него..
В таком случае остается только парсить и обрабатывать строку со стороны сервера.
__________________
Уважай собеседника, а лучше подари ему +
(Offline)
 
Ответить с цитированием
Старый 05.02.2013, 17:41   #28
moka
.
 
Регистрация: 04.08.2006
Сообщений: 10,423
Написано 3,449 полезных сообщений
(для 6,840 пользователей)
Ответ: Вопрос-Ответ

Сообщение от 2Fake Посмотреть сообщение
Согласен, но не исключено, что может использоваться арбузер без поддержки JS (например: моб.браузер) или яваскрипт будет просто напросто отключен. И вот только поэтому я и спрашивал как обойтись без него..
В таком случае остается только парсить и обрабатывать строку со стороны сервера.
Не парси и не обрабатывай строку на стороне сервера.
Если клиент использует не позволенные данные - дай ему по голове. Очевидно же.
% не использования JS я себе в современные дни просто не представляю, он для потенциальных клиентов ниже 0.01% - это точно. Следственно такая аудитория тебя не интересует. Если ты конечно не некромант.
Ты не должен париться если клиент делает то что не нужно делать. Твоя задача лишь "вежливо" ему сказать - что так не нужно (сообщение или т.п.).
Тратишь много времени на не нужное.

Также твой сервер должен корректно себя везти при получении валидных данных и любых других, разного типа, разных длин и наличия.
(Offline)
 
Ответить с цитированием
Старый 05.02.2013, 19:07   #29
Trazzy
Разработчик
 
Аватар для Trazzy
 
Регистрация: 24.11.2008
Адрес: UA
Сообщений: 504
Написано 110 полезных сообщений
(для 225 пользователей)
Ответ: Вопрос-Ответ

Ок, я все осознал и полностью с тобой согласен. Теперь мне нужна помощь в составлении JS.
Тема переехала СЮДА
__________________
Уважай собеседника, а лучше подари ему +

Последний раз редактировалось Trazzy, 05.02.2013 в 22:49.
(Offline)
 
Ответить с цитированием
Старый 10.03.2013, 08:13   #30
St_AnGer
Элита
 
Аватар для St_AnGer
 
Регистрация: 21.01.2010
Адрес: Россия, Рязанская область, г.Михайлов
Сообщений: 1,977
Написано 1,125 полезных сообщений
(для 2,714 пользователей)
Ответ: Вопрос-Ответ

как лучше составить файл php? Имею ввиду тело сайта писать внутри <?php ?> или данные теги вставлять только в нужных местах?

Т.е. так:
<html>
  <head>
    ...
  </head>
  <body class="body_c">
     ...
     <?php
       
if (траляля)
       {
         ...
       }
     
?>
  </body>
</html>
или так:
<?php
  
echo "
  <html>
    <head>
      ...
    </head>
    <body class=\"body_c\">
       "
;

       if (
траляля)
       {
          ...
       }

    echo 
"
    </body>
  </html>
  "
;
?>
??? Как будет быстрее и оптимизированнее?

Мне кажется что первый вариант более удобоваримый, но на всякий случай решил спросить, т.к. изначально сайт написал по второму варианту и начал реально сомневаться
__________________
Main PC:
Intel Core i5 4260U 1.44 GHz + LPDDR3 1x4096 1600 MHz + Intel HD Graphics 5000.

Asus Ёжик T101-MT:
Intel Atom N-570 1.66 Ghz + DDR2 2x1024 800 Mhz + Intel GMA 3150 128 Mb DDR2


Скачать Doom 2D: Remake v0.3.8a
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +1, время: 14:10.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com