[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: php и mysql
L.A.Ver
вобщем, проблема в том, что я не могу из mysql передать значение в переменную .
суть заключается в 3ой авторизации.т.е когда человек в 1й раз отправляет смс в базу записывается его номер телефона и кол-во смс=1. во второй раз кол-во смсменяется на 2, в 3ий запись удаляется из таблицы

PHP
<?php
include_once("connect.php");



error_reporting(0);

function 
code_generator($long 5)
{
    
$hash "1234567890abcdefgheklmnoprstopqrstuwyz";
    
$code "";
    
    for(
$i 0$i $long;$i++)
        
$code .= $hash[rand(0strlen($hash))];
    
    return 
$code;
}
$num $_REQUEST['num'];
$nomer=$_REQUEST['user_id'];
$messages['ok'] = "Ваш код: %code%";
$messages['error'] = "Некорректный запрос";


//Список рабочих номеров
$allowedNums = array('8055''8355''7517');

//Пин-код
$code code_generator(8);
$query "SELECT `nomer`, `sms` FROM `nomera` WHERE nomer = '$nomer' AND sms = '$sms'";
$sql mysql_query($query);
while(
$record mysql_fetch_array($query))
   { 
$kont=$record['nomer'];
        
$sim=$record['sms'];
   }
if (
$kont==$_REQUEST['user_id'] and $sim=="")
    {    
$sms=1;
    
$query "INSERT INTO nomera(`nomer` , `sms`)
        VALUES ('$nomer', '$sms')"
;
        
$result mysql_query($query) or die(mysql_error());
        
$msg="Подтвердите, что вас есть 18 лет. Отправьте ответ с текстом vkd";
            }
    

elseif (
$kont==$_REQUEST['user_id'] and $sim==1)
    {    
$msg="Активируйте вашу страницу. Отправьте ответ с текстом vkd";
         
$sql =mysql_query ("UPDATE `nomera` SET `sms` = '2'  WHERE `nomer` ='$nomer'");
    }
elseif (
$kont==$_REQUEST['user_id'] and $sim=='sms')
    {    
$msg str_replace("%code%"$code$messages['ok']);
         
$sql =mysql_query ("DELETE FROM `nomera` WHERE  `nomer` ='$nomer'");
    }
    
    
else 
        
$msg $messages['error'];
    echo 
"$kont, $sim";
echo 
"status: reply\n";
echo 
"\n";
echo 
$msg;


в таблице всего 2 поля nomer и sms
целый день сижу и не могу разобраться.



Спустя 49 минут, 53 секунды (19.06.2009 - 22:54) FatCat написал(а):
Цитата (L.A.Ver @ 19.06.2009 - 23:05)
в таблице всего 2 поля

Цитата (L.A.Ver @ 19.06.2009 - 23:05)
$query = "SELECT `nomer`, `sms` FROM `nomera` WHERE nomer = '$nomer' AND sms = '$sms'";

Смысл искать известное?

Спустя 1 час, 4 минуты, 33 секунды (19.06.2009 - 23:59) L.A.Ver написал(а):
даже если беру AND sms = '$sms' ,то все равно в

Цитата (L.A.Ver @ 19.06.2009 - 19:05)
while($record = mysql_fetch_array($query))
{ $kont=$record['nomer'];
$sim=$record['sms'];


$kont и $sim не заносятся значения из базы.
а искать, чтобы занести из базы в эти переменные, если в базе есть такие записи, если нет, то записать в базу




Спустя 1 час, 14 минут, 40 секунд (20.06.2009 - 01:14) L.A.Ver написал(а):
все, разобрался сам.
если интересно код

PHP
<?php
include_once("connect.php");



error_reporting(0);

function 
code_generator($long 5)
{
    
$hash "1234567890abcdefgheklmnoprstopqrstuwyz";
    
$code "";
    
    for(
$i 0$i $long;$i++)
        
$code .= $hash[rand(0strlen($hash))];
    
    return 
$code;
}
$num $_REQUEST['num'];
$nomer=$_REQUEST['user_id'];
$messages['ok'] = "Ваш код: %code%";
$messages['error'] = "Некорректный запрос";


//Список рабочих номеров
$allowedNums = array('8055''8355''7517');

//Пин-код
$code code_generator(8);
$query "SELECT `nomer`, `sms` FROM `nomera` WHERE nomer = '$nomer'";
$sql mysql_query($query);
while(
$record mysql_fetch_array($sql))
   { 
$kont=$record['nomer'];
        
$sim=$record['sms'];
   }
if (
$kont=="" && $sim=="")
    {    
$sms=1;
    
$query "INSERT INTO nomera(`nomer` , `sms`)
        VALUES ('$nomer', '$sms')"
;
        
$result mysql_query($query) or die(mysql_error());
        
$msg="Подтвердите, что вас есть 18 лет. Отправьте ответ с текстом vkd";
            }
    

elseif (
$kont==$_REQUEST['user_id'] and $sim==1)
    {    
$msg="Активируйте вашу страницу. Отправьте ответ с текстом vkd";
         
$sql =mysql_query ("UPDATE `nomera` SET `sms` = '2'  WHERE `nomer` ='$nomer'");
    }
elseif (
$kont==$_REQUEST['user_id'] and $sim=='2')
    {    
$msg str_replace("%code%"$code$messages['ok']);
         
$sql =mysql_query ("DELETE FROM `nomera` WHERE  `nomer` ='$nomer'");
    }
    
    
else 
        
$msg $messages['error'];
    echo 
"$kont, $sim";
echo 
"status: reply\n";
echo 
"\n";
echo 
$msg;

Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.