Не понимаю действие javascript!
Цитата: Artsem от 12.02.2018, 19:52Есть кнопка для получения бонуса это страница например many.php:
<span class="green" onclick="post('bonus.php', 'fac=bonus');">Получить бонус!</span>
Ее обработчик событий :
function post(link, zapros) {
$.ajax({
url: link, type: 'POST', data: zapros, dataType: json,
error: function (infa){eval(infa.error);},
success: function(infa) {eval(infa.succes);}
});
}
И условия выполнения в файле bonus.php
// Какие то проверки
...........................................
if(isset($_POST["fac"])){
if($_POST["fac"] == 'bonus'){
Получение бонуса...
}else{
error ='Ошибка запроса';
}
}
.................................
// Какой то вывод
Суть вопроса в том что все работает хорошо $_POST["fac"] == 'bonus' и все работает хорошо бонус начисляется , но возникает какой то косяк а именно:
Если взять и через консоль разработчика в браузере(просмотреть код) поменять например в кнопке вместо fac=bonus на fac=bonus23 и нажать на кнопку, то он должен показать код ошибки "error " т.к. bonus23!=bonus но происходит другая вещь, бонус все равно начисляется. Т.е. сколько не меняй в файле many.php значение "fac" через браузер , в bonus.php значение $_POST["fac"] посылается как мы указали в файле many.php и он не как на изменения через браузер не реагирует.
Вопрос? Как сделать так что бы на изменения через браузер он реагировал т.е. если человек указал через браузер fac=bonus121 то в bonus.php $_POST["fac"] = bonus121 и выводилась ошибка?
Есть кнопка для получения бонуса это страница например many.php:
<span class="green" onclick="post('bonus.php', 'fac=bonus');">Получить бонус!</span>
Ее обработчик событий :
function post(link, zapros) {
$.ajax({
url: link, type: 'POST', data: zapros, dataType: json,
error: function (infa){eval(infa.error);},
success: function(infa) {eval(infa.succes);}
});
}
И условия выполнения в файле bonus.php
// Какие то проверки
...........................................
if(isset($_POST["fac"])){
if($_POST["fac"] == 'bonus'){
Получение бонуса...
}else{
error ='Ошибка запроса';
}
}
.................................
// Какой то вывод
Суть вопроса в том что все работает хорошо $_POST["fac"] == 'bonus' и все работает хорошо бонус начисляется , но возникает какой то косяк а именно:
Если взять и через консоль разработчика в браузере(просмотреть код) поменять например в кнопке вместо fac=bonus на fac=bonus23 и нажать на кнопку, то он должен показать код ошибки "error " т.к. bonus23!=bonus но происходит другая вещь, бонус все равно начисляется. Т.е. сколько не меняй в файле many.php значение "fac" через браузер , в bonus.php значение $_POST["fac"] посылается как мы указали в файле many.php и он не как на изменения через браузер не реагирует.
Вопрос? Как сделать так что бы на изменения через браузер он реагировал т.е. если человек указал через браузер fac=bonus121 то в bonus.php $_POST["fac"] = bonus121 и выводилась ошибка?
Цитата: Pretorian от 12.02.2018, 19:55Цитата: Artsem от 12.02.2018, 19:52Есть кнопка для получения бонуса это страница например many.php:
<span class="green" onclick="post('bonus.php', 'fac=bonus');">Получить бонус!</span>
Ее обработчик событий :
function post(link, zapros) {
$.ajax({
url: link, type: 'POST', data: zapros, dataType: json,
error: function (infa){eval(infa.error);},
success: function(infa) {eval(infa.succes);}
});
}
И условия выполнения в файле bonus.php
// Какие то проверки
...........................................
if(isset($_POST["fac"])){
if($_POST["fac"] == 'bonus'){
Получение бонуса...
}else{
error ='Ошибка запроса';
}
}
.................................
// Какой то вывод
Суть вопроса в том что все работает хорошо $_POST["fac"] == 'bonus' и все работает хорошо бонус начисляется , но возникает какой то косяк а именно:
Если взять и через консоль разработчика в браузере(просмотреть код) поменять например в кнопке вместо fac=bonus на fac=bonus23 и нажать на кнопку, то он должен показать код ошибки "error " т.к. bonus23!=bonus но происходит другая вещь, бонус все равно начисляется. Т.е. сколько не меняй в файле many.php значение "fac" через браузер , в bonus.php значение $_POST["fac"] посылается как мы указали в файле many.php и он не как на изменения через браузер не реагирует.
Вопрос? Как сделать так что бы на изменения через браузер он реагировал т.е. если человек указал через браузер fac=bonus121 то в bonus.php $_POST["fac"] = bonus121 и выводилась ошибка?
А вы пишете неправильное имя имено добавляя в конце пару цыфр? Пробовали в браузере открыть ф12 и посмотреть как реагирует консоль на нажатие кнопки?
В именах нельзя указывать цифры в начале имени переменой, я надеюсь вы не указываете их в начале имени?
Цитата: Artsem от 12.02.2018, 19:52Есть кнопка для получения бонуса это страница например many.php:
<span class="green" onclick="post('bonus.php', 'fac=bonus');">Получить бонус!</span>
Ее обработчик событий :
function post(link, zapros) {
$.ajax({
url: link, type: 'POST', data: zapros, dataType: json,
error: function (infa){eval(infa.error);},
success: function(infa) {eval(infa.succes);}
});
}
И условия выполнения в файле bonus.php
// Какие то проверки
...........................................
if(isset($_POST["fac"])){
if($_POST["fac"] == 'bonus'){
Получение бонуса...
}else{
error ='Ошибка запроса';
}
}
.................................
// Какой то вывод
Суть вопроса в том что все работает хорошо $_POST["fac"] == 'bonus' и все работает хорошо бонус начисляется , но возникает какой то косяк а именно:
Если взять и через консоль разработчика в браузере(просмотреть код) поменять например в кнопке вместо fac=bonus на fac=bonus23 и нажать на кнопку, то он должен показать код ошибки "error " т.к. bonus23!=bonus но происходит другая вещь, бонус все равно начисляется. Т.е. сколько не меняй в файле many.php значение "fac" через браузер , в bonus.php значение $_POST["fac"] посылается как мы указали в файле many.php и он не как на изменения через браузер не реагирует.
Вопрос? Как сделать так что бы на изменения через браузер он реагировал т.е. если человек указал через браузер fac=bonus121 то в bonus.php $_POST["fac"] = bonus121 и выводилась ошибка?
А вы пишете неправильное имя имено добавляя в конце пару цыфр? Пробовали в браузере открыть ф12 и посмотреть как реагирует консоль на нажатие кнопки?
В именах нельзя указывать цифры в начале имени переменой, я надеюсь вы не указываете их в начале имени?
Цитата: Pretorian от 12.02.2018, 19:57и. то что вы меняете в браузере не значит ничего если вы не применяете изминения в выполнение. Вы же применяете в браузере изминения? Иначе это будет просто текст а старый хтмл и дальше будет оставатся не измененным
и. то что вы меняете в браузере не значит ничего если вы не применяете изминения в выполнение. Вы же применяете в браузере изминения? Иначе это будет просто текст а старый хтмл и дальше будет оставатся не измененным
Цитата: Pretorian от 12.02.2018, 19:59в любом сулчае другое имя не пройдет эту проверку
f(isset($_POST["fac"])){if($_POST["fac"] == 'bonus'){
разве что после else у вас стоит тот же самый mysql запрос что и в случае прохождения проверки. Было бы не плохо если бы вы написали полный код кнопки, события и запроса, безусловно ценные коды для вас в нутри проверки можете затереть.
в любом сулчае другое имя не пройдет эту проверку
f(isset($_POST["fac"])){
if($_POST["fac"] == 'bonus'){
разве что после else у вас стоит тот же самый mysql запрос что и в случае прохождения проверки. Было бы не плохо если бы вы написали полный код кнопки, события и запроса, безусловно ценные коды для вас в нутри проверки можете затереть.
Цитата: Artsem от 12.02.2018, 20:01Цитата: Pretorian от 12.02.2018, 19:55Цитата: Artsem от 12.02.2018, 19:52Есть кнопка для получения бонуса это страница например many.php:
<span class="green" onclick="post('bonus.php', 'fac=bonus');">Получить бонус!</span>
Ее обработчик событий :
function post(link, zapros) {
$.ajax({
url: link, type: 'POST', data: zapros, dataType: json,
error: function (infa){eval(infa.error);},
success: function(infa) {eval(infa.succes);}
});
}
И условия выполнения в файле bonus.php
// Какие то проверки
...........................................
if(isset($_POST["fac"])){
if($_POST["fac"] == 'bonus'){
Получение бонуса...
}else{
error ='Ошибка запроса';
}
}
.................................
// Какой то вывод
Суть вопроса в том что все работает хорошо $_POST["fac"] == 'bonus' и все работает хорошо бонус начисляется , но возникает какой то косяк а именно:
Если взять и через консоль разработчика в браузере(просмотреть код) поменять например в кнопке вместо fac=bonus на fac=bonus23 и нажать на кнопку, то он должен показать код ошибки "error " т.к. bonus23!=bonus но происходит другая вещь, бонус все равно начисляется. Т.е. сколько не меняй в файле many.php значение "fac" через браузер , в bonus.php значение $_POST["fac"] посылается как мы указали в файле many.php и он не как на изменения через браузер не реагирует.
Вопрос? Как сделать так что бы на изменения через браузер он реагировал т.е. если человек указал через браузер fac=bonus121 то в bonus.php $_POST["fac"] = bonus121 и выводилась ошибка?
А вы пишете неправильное имя имено добавляя в конце пару цыфр? Пробовали в браузере открыть ф12 и посмотреть как реагирует консоль на нажатие кнопки?
В именах нельзя указывать цифры в начале имени переменой, я надеюсь вы не указываете их в начале имени?Даже если удалишь полностью значение fac т.е. <span class="green" onclick="post('bonus.php', 'fac=');">Получить бонус!</span>, то бонус все равно начисляется. Проверял через echo"'.$_POST["fac"].'" значение $_POST["fac"] = bonus, хотя я удалил его совсем. Значения применяю в выполнение.
PS
Сайт на https
Цитата: Pretorian от 12.02.2018, 19:55Цитата: Artsem от 12.02.2018, 19:52Есть кнопка для получения бонуса это страница например many.php:
<span class="green" onclick="post('bonus.php', 'fac=bonus');">Получить бонус!</span>
Ее обработчик событий :
function post(link, zapros) {
$.ajax({
url: link, type: 'POST', data: zapros, dataType: json,
error: function (infa){eval(infa.error);},
success: function(infa) {eval(infa.succes);}
});
}
И условия выполнения в файле bonus.php
// Какие то проверки
...........................................
if(isset($_POST["fac"])){
if($_POST["fac"] == 'bonus'){
Получение бонуса...
}else{
error ='Ошибка запроса';
}
}
.................................
// Какой то вывод
Суть вопроса в том что все работает хорошо $_POST["fac"] == 'bonus' и все работает хорошо бонус начисляется , но возникает какой то косяк а именно:
Если взять и через консоль разработчика в браузере(просмотреть код) поменять например в кнопке вместо fac=bonus на fac=bonus23 и нажать на кнопку, то он должен показать код ошибки "error " т.к. bonus23!=bonus но происходит другая вещь, бонус все равно начисляется. Т.е. сколько не меняй в файле many.php значение "fac" через браузер , в bonus.php значение $_POST["fac"] посылается как мы указали в файле many.php и он не как на изменения через браузер не реагирует.
Вопрос? Как сделать так что бы на изменения через браузер он реагировал т.е. если человек указал через браузер fac=bonus121 то в bonus.php $_POST["fac"] = bonus121 и выводилась ошибка?
А вы пишете неправильное имя имено добавляя в конце пару цыфр? Пробовали в браузере открыть ф12 и посмотреть как реагирует консоль на нажатие кнопки?
В именах нельзя указывать цифры в начале имени переменой, я надеюсь вы не указываете их в начале имени?
Даже если удалишь полностью значение fac т.е. <span class="green" onclick="post('bonus.php', 'fac=');">Получить бонус!</span>, то бонус все равно начисляется. Проверял через echo"'.$_POST["fac"].'" значение $_POST["fac"] = bonus, хотя я удалил его совсем. Значения применяю в выполнение.
PS
Сайт на https
Цитата: Artsem от 12.02.2018, 20:17Цитата: Pretorian от 12.02.2018, 19:59в любом сулчае другое имя не пройдет эту проверку
f(isset($_POST["fac"])){if($_POST["fac"] == 'bonus'){
разве что после else у вас стоит тот же самый mysql запрос что и в случае прохождения проверки. Было бы не плохо если бы вы написали полный код кнопки, события и запроса, безусловно ценные коды для вас в нутри проверки можете затереть.
<?@session_start();
if($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest') {
$username = (isset($_SESSION["username"]) ) ? $_SESSION["username"] : false;
if($username!=false){
if(isset($_POST["fac"])){
if($_POST["fac"] == 'bonus'){
require_once($_SERVER['DOCUMENT_ROOT'].'/class/base.php');
Получение бонуса...
$mysqli->close();
}else{
$eror ='Ошибка запроса';
}
if($eror != '0'){
$error .= "error('<div class=\"error\">".$eror."</div>','#error');";
}
........
}
}
}?>
Цитата: Pretorian от 12.02.2018, 19:59в любом сулчае другое имя не пройдет эту проверку
f(isset($_POST["fac"])){if($_POST["fac"] == 'bonus'){
разве что после else у вас стоит тот же самый mysql запрос что и в случае прохождения проверки. Было бы не плохо если бы вы написали полный код кнопки, события и запроса, безусловно ценные коды для вас в нутри проверки можете затереть.
<?@session_start();
if($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest') {
$username = (isset($_SESSION["username"]) ) ? $_SESSION["username"] : false;
if($username!=false){
if(isset($_POST["fac"])){
if($_POST["fac"] == 'bonus'){
require_once($_SERVER['DOCUMENT_ROOT'].'/class/base.php');
Получение бонуса...
$mysqli->close();
}else{
$eror ='Ошибка запроса';
}
if($eror != '0'){
$error .= "error('<div class=\"error\">".$eror."</div>','#error');";
}
........
}
}
}?>
Цитата: Pretorian от 12.02.2018, 20:52по идее на этом все должно было остановиться
а вы проверяли точно ли браузер редактирует хтмл? Вы пробовали делать лживое имя с блокнота редактируя файл, будет ли так работать, ради экспермента, и можете написать полный код обработчика который отправляет запрос на аякс js
по идее на этом все должно было остановиться
а вы проверяли точно ли браузер редактирует хтмл? Вы пробовали делать лживое имя с блокнота редактируя файл, будет ли так работать, ради экспермента, и можете написать полный код обработчика который отправляет запрос на аякс js
Цитата: Misha от 12.02.2018, 21:05У тебя обработчик не перенавешивается. Через консоль вызови код и так смотри.
post('bonus.php', 'fac=')
У тебя обработчик не перенавешивается. Через консоль вызови код и так смотри.
post('bonus.php', 'fac=')
Цитата: Artsem от 12.02.2018, 22:30Цитата: Misha от 12.02.2018, 21:05У тебя обработчик не перенавешивается. Через консоль вызови код и так смотри.
post('bonus.php', 'fac=')
Через консоль получилось ошибка сработала. Тогда я может ни правильно применяю HTML для выполнения.
Я делаю так:
1) Жму f12(или правой кнопкой мыши просмотреть код элемента). Нахожусь во вкладке Elements
2) Навожу на код кнопки и правой кнопкой мыши в меню выбираю Edit as HTML
3) Редактирую и просто, выхожу из редактированной части (кликая на другой код в HTML), и мои изменения остаются.
4) Потом я нажимаю на кнопку и вижу результат который вам описываю.
PS
На css же так работает!(Ну длину там, цвет и т.д.). Все делаю на локальном сервере Openserver 5.2.2.0. Может еще дело в том что у меня включен редирект на https:
#Убираем www
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteCond %{HTTP_HOST} ^[^www\.].*$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
#Для HTTPS
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Цитата: Misha от 12.02.2018, 21:05У тебя обработчик не перенавешивается. Через консоль вызови код и так смотри.
post('bonus.php', 'fac=')
Через консоль получилось ошибка сработала. Тогда я может ни правильно применяю HTML для выполнения.
Я делаю так:
1) Жму f12(или правой кнопкой мыши просмотреть код элемента). Нахожусь во вкладке Elements
2) Навожу на код кнопки и правой кнопкой мыши в меню выбираю Edit as HTML
3) Редактирую и просто, выхожу из редактированной части (кликая на другой код в HTML), и мои изменения остаются.
4) Потом я нажимаю на кнопку и вижу результат который вам описываю.
PS
На css же так работает!(Ну длину там, цвет и т.д.). Все делаю на локальном сервере Openserver 5.2.2.0. Может еще дело в том что у меня включен редирект на https:
#Убираем www
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteCond %{HTTP_HOST} ^[^www\.].*$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
#Для HTTPS
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]