|
|
|
| Помогите разобраться… Есть скрипт который записывает данные в базу, но реализовал я это так что при нажатии на кнопку открывается новое окно и пользователь уходит с основной страницы, как сделать чтоб он оставался на той же странице (1. обработка в одом файле или 2. возврат на предыдущую страницу)
Вот код:
index.php
<a href=
<?php
print "sq.php?mail=$email_user"."&hidestat=$hidestat"."&vip=$value";
?>
><img src="template/images/services/hide.gif" /></a>
|
sq.php
<?php
error_reporting(0);
$vip = $_GET['vip'];
if ($vip == free)
{
$email_user = $_GET['mail'];
$hidestat = $_GET['hidestat'];
mysql_connect('localhost','login','password');
mysql_select_db(baza) or die(mysql_error());
$query = "UPDATE LOW_PRIORITY job_user SET hideinfo = '$hidestat' WHERE email_user='$email_user'";
$result = mysql_query($query);
}
else
{
echo "Вы должны приобрести VIP - статус!";
}
?>
|
| |
|
|
|
|
|
|
|
для: alebronn
(07.08.2009 в 11:16)
| | На одной странице:
<?php
if (!empty($_GET['vip'])){
//Код обработки
}
else {
print "<a href=";
print "index.php?mail=$email_user"."&hidestat=$hidestat"."&vip=$value";
print "><img src=\"template/images/services/hide.gif\" /></a>";
}
?>
|
| |
|
|
|
|
|
|
|
для: Sergeich
(07.08.2009 в 13:02)
| | Вот что получилось у меня: Почему то первое условие не обрабатывается... Кнопка (рисунок) выводится в адресной строке вижу "http://www.rabota/userpanel.php?mail=alebronn@gmail.ru&hidestat=1&vip=free" но в базе ничего не меняется.
<?php
if (!empty($_GET['vip'])){
$vip = $_GET['vip'];
if ($vip == 'free')
{
$email_user = $_GET['mail'];
$hidestat = $_GET['hidestat'];
mysql_connect('localhost','login','pass');
mysql_select_db(baza) or die(mysql_error());
$query = "UPDATE LOW_PRIORITY job_user SET hideinfo = '$hidestat' WHERE email_user='$email_user'";
$result = mysql_query($query);
if ($hidestat == 1)
{
echo "Вся ваша контактная информация будет скрыта от пользователей";
}
else
{
echo "Вся ваша контактная информация будет показана пользователям";
}
}
else
{
echo "Вы должны приобрести VIP - статус!";
}
}
else {
print "<a href=";
print "http://www.rabota/userpanel.php?mail=$email_user"."&hidestat=$hidestat"."&vip=$value";
print "><img src=\"template/images/services/hide.gif\" /></a>";
}
?>
|
| |
|
|
|
|
|
|
|
для: alebronn
(07.08.2009 в 13:41)
| | А выводится ли одна из опций echo? Если да, то тогда проблема где-то в обработчике. По идее должно работать. | |
|
|
|
|
|
|
|
для: Sergeich
(07.08.2009 в 14:04)
| | Вверху до проверки второго условия поставил
echo "$vip" ;
вроде в браузере пишет free
но из нижних эхов выводит "Вы должны приобрести VIP - статус!"
То есть он почемуто это free не видит... Блин, я уже запарился. | |
|
|
|
|
|
|
|
для: alebronn
(07.08.2009 в 14:16)
| | Для упрощения видоизменил так, но всё равно не пашет:
<?php
$vip = $_GET['vip'];
echo "$vip" ;
if ($vip == "free")
{
$email_user = $_GET['mail'];
$hidestat = $_GET['hidestat'];
mysql_connect('localhost','login','pass');
mysql_select_db(baza) or die(mysql_error());
$query = "UPDATE LOW_PRIORITY job_user SET hideinfo = '$hidestat' WHERE email_user='$email_user'";
$result = mysql_query($query);
if ($hidestat == 1)
{
echo "Вся ваша контактная информация будет скрыта от пользователей";
}
else
{
echo "Вся ваша контактная информация будет показана пользователям";
}
}
else
{
echo "Вы должны приобрести VIP - статус!";
}
?>
<?php
print "<a href=";
print "http://www.rabota/userpanel.php?mail=$email_user"."&hidestat=$hidestat"."&vip=$value";
print "><img src=\"template/images/services/hide.gif\" /></a>";
?>
|
| |
|
|
|
|
|
|
|
для: alebronn
(07.08.2009 в 13:41)
| | А так:
<?php
if (!empty($_GET['vip'])){
$vip = $_GET['vip'];
if ($vip == 'free')
{
$email_user = $_GET['mail'];
$hidestat = $_GET['hidestat'];
mysql_connect('localhost','login','pass');
mysql_select_db(baza) or die(mysql_error());
$query = "UPDATE LOW_PRIORITY job_user SET hideinfo = '$hidestat' WHERE email_user='$email_user'";
$result = mysql_query($query);
if ($hidestat == 1)
{
echo "Вся ваша контактная информация будет скрыта от пользователей";
}
else
{
echo "Вся ваша контактная информация будет показана пользователям";
}
}
else
{
echo "Вы должны приобрести VIP - статус!";
}
}
else {
$value="free";
print "<a href=";
print "http://www.rabota/userpanel.php?mail=$email_user"."&hidestat=$hidestat"."&vip=$value";
print "><img src=\"template/images/services/hide.gif\" /></a>";
}
?>
|
| |
|
|
|
|
|
|
|
для: Sergeich
(07.08.2009 в 14:26)
| | Не хочет он этого обрабатывать:
if (!empty($_GET['vip'])){
|
| |
|
|
|
|
|
|
|
для: alebronn
(07.08.2009 в 14:34)
| | А может вот в этом проблемма, дело в том что эта страница у меня вобщето в адресной строке выглядит вот так : http://www.rabota/userpanel.php?main=v
А адрес на кнопке выглядит http://www.rabota/userpanel.php?mail=alebronn@gmail.ru&hidestat=1&vip=free
И принажатии кнопки страница обнавляется не полностью, может ему нада гдето подставить это : ?main=v | |
|
|
|
|
|
|
|
для: alebronn
(07.08.2009 в 14:42)
| | Блин точно... Теперь когда книпотку подписал как :
http://www.rabota/userpanel.php?main=v&mail=$email_user"."&hidestat=$hidestat"."&vip=$value
То начало обрабатывать код в условии, но теперь ругается на
Notice: Use of undefined constant bank - assumed 'baza' in Z:\home\rabota\www\template\user\user_vacancy.html on line 173 | |
|
|
|
|
|
|
|
для: alebronn
(07.08.2009 в 14:47)
| | Более менее разобрался, почти заработало, но при первом нажатии появляятся значение в $_GET['vip'] и соответственно при обновлении страницы это условие опять обрабатывается... То есть нада чтоб после изменения значения в базе данных $_GET['vip'] опять обнулилось. Как это сделать? | |
|
|
|
|
|
|
|
для: alebronn
(07.08.2009 в 14:47)
| | Определитесь с кодом. Тот, что Вы выложили на форуме в моей "редакции" вполне рабочий. Тот, о котором Вы пишите никто не видел, соответственно, дать совет тоже нельзя, волшебников и ясновидящих, на сколько я знаю, здесь пока еще нет. | |
|
|
|
|
|
|
|
для: Sergeich
(07.08.2009 в 15:03)
| | Ну вот код приобрёл такой вид ( дело в том что первичный вид был нужен для передачи значений в другую страницу, а теперь он работает в одной и той же). Так вот вроде как поменял значение в базе, но в $_GET['vip'] теперь есть значение и после обновления страницы условие опять само выполняется
<?php
$result_d = mysql_db_query ("baza", "select hideinfo from job_user WHERE email_user='$email_user'");
while($row=mysql_fetch_array($result_d)) {
$hide = $row["hideinfo"];
if ($hide == 0)
{
$hidestat = 1;
$hitetext = TEMPLATE_ADD_TOOLS_BUTTON_HIDE_ON;
}
else
{
$hidestat = 0;
$hitetext = TEMPLATE_ADD_TOOLS_BUTTON_HIDE_OFF;
}
};
?>
<?php
if (!empty($_GET['vip'])){
$vip = $_GET['vip'];
if ($vip == 'free')
{
$email_user = $_GET['mail'];
$hidestat = $_GET['hidestat'];
$query = "UPDATE LOW_PRIORITY job_user SET hideinfo = '$hidestat' WHERE email_user='$email_user'";
$result = mysql_query($query);
if ($hidestat == 1)
{
echo "Вся ваша контактная информация будет скрыта от пользователей";
}
else
{
echo "Вся ваша контактная информация будет показана пользователям";
}
}
else
{
echo "Вы должны приобрести VIP - статус!";
}
}
?>
<?php
print "<a href=";
print "http://www.rabota/userpanel.php?main=v&mail=$email_user"."&hidestat=$hidestat"."&vip=$value";
print "><img src=\"template/images/services/hide.gif\" /></a>";
?>
|
| |
|
|
|
|
|
|
|
для: alebronn
(07.08.2009 в 15:35)
| | Перед занесением в базу делать проверку на наличие аналогичной записи в базе. | |
|
|
|
|
|
|
|
для: Sergeich
(07.08.2009 в 15:51)
| | Так запись там по любому есть, то есть пользователь может хоть десять раз жмакать книпатку и данные в базе должны меняться. То есть нада както сделать чтоб книпатка "забывала" о том, что её перед этим жмакали. | |
|
|
|
|
|
|
|
для: alebronn
(07.08.2009 в 16:03)
| | вот такую проверочку нужно сделать вверху скрипта
гдето сдесь нашол
подправите под свои нужды
<?php
//Проверка
$rus = array("А","а","В","Е","е","К","М","Н","О","о","Р","р","С","с","Т","Х","х");
// Массив латинских букв
$eng = array("A","a","B","E","e","K","M","H","O","o","P","p","C","c","T","X","x");
// Заменяем русские буквы латинскими
$eng_nick = str_replace($rus, $eng, $nick);
// Заменяем латинские буквы русскими
$rus_nick = str_replace($eng, $rus, $nick);
// Формируем SQL-запрос
$query = "SELECT * FROM fspt
WHERE nick LIKE '$nick' OR
nick LIKE '$eng_nick' OR
nick LIKE '$rus_nick'";
$ath = mysql_query($query);
if($ath)
{
if(mysql_num_rows($ath)>0)
{
echo "Ник \"$nick\" уже зарегистрирован.";
exit();
}
}
?>
|
| |
|
|
|
|
|
|
|
для: XoLoD
(07.08.2009 в 16:46)
| | Извиняюсь, не понял как это можно использовать, чтото не вижу ничего похожего на то что мне нада.
Кстати если я перехожу на другую страницу и потом возвращаюсь опять на эту (с кнопкой) то всё работает нормально, то есть $_GET['vip'] стал пустым, и в базу данных заносится новое значение (только при нажатии кнопки) , но дальше при обновлении $_GET['vip'] уже со значением, и условие выполняется сразу.. Ну вот как значение в базе заставить меняться с каждым нажатием кнопки (рисунка)???? с 1 на 0 и наоборот... | |
|
|
|