Перейти к содержимому


Фотография
- - - - -

Передать member_id своему php скрипту


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 15

#11 Оффлайн   zerobot

    Новичок


  • Пользователи
  • Репутация
    0
    • Cообщений: 12
    • Форум:3.3.х

Отправлено 27 Март 2013 - 18:18

Попробовал, но почему-то снова ошибка, не знаю что делать:

 

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '>memberData['member_id']}' at line 1
 

 

Т.е $iduser = '>memberData['member_id']}' получается  :prostite:


Сообщение отредактировал zerobot: 27 Март 2013 - 18:18

  • 0

Заработок и обучение заработку

#12 Оффлайн   zerobot

    Новичок


  • Пользователи
  • Репутация
    0
    • Cообщений: 12
    • Форум:3.3.х

Отправлено 28 Март 2013 - 00:01

Кто знает в чём проблема???


  • 0

#13 Оффлайн   Law AC vs. Finch

    Гуру


  • Пользователи
  • Репутация
    887
    • Cообщений: 3 004
    • Форум:Нет

Отправлено 28 Март 2013 - 12:27

Кто знает в чём проблема???

6 пост прочтите и Ваш ответ на него.


  • 1

#14 Оффлайн   zerobot

    Новичок


  • Пользователи
  • Репутация
    0
    • Cообщений: 12
    • Форум:3.3.х

Отправлено 28 Март 2013 - 19:42

6 пост прочтите и Ваш ответ на него.

Хорошо, расскажу всё что есть, ооочень надеюсь что поможете.

У меня есть страница на IPB созданная с помощью хука Easy Pages. У неё такое содержимое:

<form action="http://тут мой сайт.ru/id.php" method="post" name="form1">
	<p><strong><span style="font-size:18px;"><span>Your ID</span><span style="color:#ff0000;"><span style="">*</span></span><span>:</span></span></strong></p>
	<p> </p>
<input type="hidden" name="member_id" value="$this->memberData['member_id']">
	<p><input name="hwidtext" size="60" style="height:20px" type="text" /></p>
	<p> </p>
	<p><input style="width:150x;height:30px" type="submit" value="Generate File!" />     </p>
</form>

 

 

И Php скрипт который лежит в корне сайта (id.php):

<?php

if (!function_exists('hex2bin')) {
    function hex2bin($d) {
        return pack("H*" , $d);
    }
}

function pkcs5_pad ($text, $blocksize=16)
{ // by duerra (http://us3.php.net/manual/en/ref.mcrypt.php#69782)
    $pad = $blocksize - (strlen($text) % $blocksize);
    return $text . str_repeat(chr($pad), $pad);
}

function pkcs5_unpad($text)
{ // by duerra (http://us3.php.net/manual/en/ref.mcrypt.php#69782)
    $pad = ord(substr($text, -1));
    if ($pad > strlen($text)) return false;
    if (strspn($text, chr($pad), strlen($text) - $pad) != $pad) return false;
    return substr($text, 0, -$pad);
} 


$key = "тут пароль для зашифровки"; // 32 byte key --> AES-256


// Verschlusselte Daten von AutoIt
$enc = $_POST['hwidtext'];
$iduser = $_POST['member_id'];


// Standard IV setzen
/*
$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC);
$iv = str_repeat(chr(0), $iv_size); // MS Crypto API hat standardma?ig CBC mit NULL-IV
*/

// hier aber IV manuell gesetzt fur MS Crypto API und mcrypt
$iv = '1234567890123456';




$enctext = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, pkcs5_pad($decrypttext), MCRYPT_MODE_CBC, $iv);


/* Соединяемся с базой данных */
$hostname = "****"; // название/путь сервера, с MySQL
$username = "****"; // имя пользователя (в Denwer`е по умолчанию "root")
$password = "****"; // пароль пользователя (в Denwer`е по умолчанию пароль отсутствует, этот параметр можно оставить пустым)
$dbName = "****"; // название базы данных
 

/* Таблица MySQL, в которой хранятся данные */
$table = "activemembers";

/* Создаем соединение */
mysql_connect($hostname, $username, $password) or die ("Не могу создать соединение");
 
/* Выбираем базу данных. Если произойдет ошибка - вывести ее */
mysql_select_db($dbName) or die (mysql_error());
 

 
/* Заносим в переменную $res всю базу данных */
$query = "SELECT * FROM $table WHERE `member_id`=$iduser";
/* Выполняем запрос. Если произойдет ошибка - вывести ее. */
$res = mysql_query($query) or die(mysql_error());
/* Узнаем количество записей в базе данных */
$row = mysql_num_rows($res);

$query = "SELECT name, hwidnumber, hwiiid FROM $table WHERE `member_id`=$iduser";
$res = mysql_query($query) or die(mysql_error());
$hwnd = mysql_result($res,0,'hwidnumber');
$hwnd2 = mysql_result($res,0,'hwiiid');

if ($hwnd == "0") {
$hwidid = "" . bin2hex($enctext). "";
$Test = mysql_query("update $table set `hwidnumber`='1' where `member_id`=$iduser") or die (mysql_error());
$Test2 = mysql_query("update $table set `hwiiid`='$hwidid' where `member_id`=$iduser") or die (mysql_error());
echo $hwidid;
header('Content-Disposition: attachment; filename="License.lic"');
} else {
echo $hwnd2;
header('Content-Disposition: attachment; filename="License.lic"');
}



?>

 

 

Эта страница сделана чтобы генерировать специальные лицензионные файлы для моей программы.

Доступ на страницу есть у спец. группы.

Пользователь вводит свой ID(hwid своего пк) в форму и нажимает кнопку.

Php скрипт шифрует ID пользователя специальным ключём и скачивает пользователю файл с этими данными.

А также PHP скрипт устанавливает значение hwidnumber этого пользователя в таблице mysql на 1, чтобы пользователь мог использовать генерацию лицензии всего 1 раз.

Ещё заполняется поле hwiiid (в него устанавливается сгенерированный текст) для того чтобы пользователь всегда мог скачать свою лицензию.

 

И всё уже работает идеально, единственное чего мне не хватает, это узнать $iduser который нажимает на кнопку чтобы произвести все эти действия.

 

Это всё что я имею в распоряжении, помогите мне пожалуйста, я нигде не могу найти помощи кроме как здесь  :prostite:


  • 0

#15 Оффлайн   Law AC vs. Finch

    Гуру


  • Пользователи
  • Репутация
    887
    • Cообщений: 3 004
    • Форум:Нет

Отправлено 29 Март 2013 - 16:49

единственное чего мне не хватает, это узнать $iduser который нажимает на кнопку чтобы произвести все эти действия.

Добавьте в начало скрипта 

require_once( './initdata.php' );
require_once( IPS_ROOT_PATH . 'sources/base/ipsRegistry.php' );
$registry = ipsRegistry::instance();
$registry->init();
	

$member = $registry->member()->fetchMemberData();
		
$member_id = $member['member_id'];

  • 1

#16 Оффлайн   zerobot

    Новичок


  • Пользователи
  • Репутация
    0
    • Cообщений: 12
    • Форум:3.3.х

Отправлено 29 Март 2013 - 19:34

Добавьте в начало скрипта 

require_once( './initdata.php' );
require_once( IPS_ROOT_PATH . 'sources/base/ipsRegistry.php' );
$registry = ipsRegistry::instance();
$registry->init();
	

$member = $registry->member()->fetchMemberData();
		
$member_id = $member['member_id'];

Спасибо ОГРОМНОЕ!
Очень меня выручили, не знаю как и отблагодарить!  :spasibo:


  • 0