Предположим в таблице forum есть поля forum_id, forum_name, forum_moderators. forum_id - номер форума; forum_name - имя форума forum_moderators - модераторы форума (admin, admin2, user, lamer) Вобщем я пытался накалбасить скриптик каторый бы обновлял обновлял все разделы сразу.. но так ничего и не вышло, может быть ваша помощь мне поможет?! Вот кусок кода PHP: <? ... //Сначала получаем список форумов и их модераторов $query = mysql_query("SELECT * FROM `forum` ORDER by `forum_id` ASC"); $Xquery = mysql_fetch_array($query); $row = mysql_num_rows($query); echo '<form name=update>'; //затем используем циклы для вывода на экран всех форумов и их модеров for($y=1; $y<=$row; $y++) { echo'<tr bgcolor="000000"><td><font color="FF9900"><b>'.$Xquery['forum_id'].''; echo'<td><font color="FF9900"><b>'.$Xquery['forum_name'].'</td>'; echo'<td style="width:13"><font color="FF9900"><input type="hidden" name="forum_id" value="'.$Xquery['forum_id'].'"><input type="text" name="forum_moderators" value="'.$Xquery['forum_moderators'].'">'; $Xquery = mysql_fetch_array($query); } echo '<input type=submit value=update>'; //Вот отсюда собственно и начинаются проблемы, мне нужно что бы обновился КАЖДЫЙ раздел форума, а не один $update = mysql_query("UPDATE `forum` SET `forum_moderators` = '".$forum_moderators."' WHERE `forum_id` = '".$forum_id."'") ... ?> Заранее благадарствую!
и ещё одно... можно ли с помощью пхп шифровать информацию, не хешировать а именно зашифровывать..? например я хочу зашифровать при помощи пароля текст в файле mess.txt а потом таким же образом востановить... ЗЫ: base64_encode, md5, crypt не предлогать =) Нашол кое че, да вот помоему чето не робит PHP: // encode function - encodes text to quet sequre text // function encrypt( &$ftext, $fkey='fenyxxxx' ){ $prevchr=0; $answ=''; if ($im = strlen($ftext)) { $k=0; for($i=0;$i<$im;$i++){ $thischr = ord(substr($ftext,$i,1)) + $prevchr; if(isset($fkey[$k])){ $key_chr=ord($fkey[$k])+ord($fkey[$k+1])+ord($fkey[$k+2])-ord($fkey[$k+3]);} else{$k=0;$key_chr=ord($fkey[$k]);$fkey=substr($fkey,1).$fkey[0]; }; $key_chr=$key_chr+$old_chr^$i; $old_chr = checkbit($key_chr, 7) + checkbit($key_chr, 64)*$fkey[1] + checkbit($key_chr, 1)*$fkey[2] + checkbit($key_chr, 32)*$fkey[3] + checkbit($key_chr, 2)*$fkey[4] + checkbit($key_chr, 8)*$fkey[5] + checkbit($key_chr, 128)*$fkey[7] + checkbit($key_chr, 4)*$fkey[6]; $k++; $thischr=$thischr+$key_chr; $prevchr = checkbit($thischr, 16) + checkbit($thischr, 64)*2 + checkbit($thischr, 1)*4 + checkbit($thischr, 32)*8 + checkbit($thischr, 2)*16 + checkbit($thischr, 8)*32 + checkbit($thischr, 128)*64 + checkbit($thischr, 4)*128; $answ .= chr($prevchr); } } return $answ; } // // decode function. decodes encoded data // function decrypt( &$ftext, $fkey='fenyxxxx' ){ $prevchr=0; $old_prevchr=0; $answ=''; if ($im = strlen($ftext)) { $k=0; for($i=0;$i<$im;$i++){ $thischr = ord(substr($ftext,$i,1)); if(isset($fkey[$k])){$key_chr=ord($fkey[$k])+ord($fkey[$k+1])+ord($fkey[$k+2])-ord($fkey[$k+3]);}else{$k=0;$key_chr=ord($fkey[$k]);$fkey=substr($fkey,1).$fkey[0];}; $key_chr=$key_chr+$old_chr^$i; $old_chr = checkbit($key_chr, 7) + checkbit($key_chr, 64)*$fkey[1] + checkbit($key_chr, 1)*$fkey[2] + checkbit($key_chr, 32)*$fkey[3] + checkbit($key_chr, 2)*$fkey[4] + checkbit($key_chr, 8)*$fkey[5] + checkbit($key_chr, 128)*$fkey[7] + checkbit($key_chr, 4)*$fkey[6]; $k++; $prevchr = checkbit($thischr, 4) + checkbit($thischr, 16)*2 + checkbit($thischr, 128)*4 + checkbit($thischr, 32)*8 + checkbit($thischr, 1)*16 + checkbit($thischr, 8)*32 + checkbit($thischr, 2)*64 + checkbit($thischr, 64)*128; $prevchr=$prevchr-$key_chr; $answ .= chr($prevchr-$old_prevchr); $old_prevchr = $thischr; } } return $answ; } function checkbit( $num1, $num2 ) { return ( $num1 & $num2 ? 1 : 0 ); }
Есть функции ENCODE и DECODE Code: $CCKey="se2sdlg34ejuc4uk4tr4ic47sjm2yh7o9e80sp80r8o0d8uc7t76i6on68s"; $UpdateSQL="UPDATE $ClientsTableName SET CCNum=ENCODE('$CCNum', '$CCKey') WHERE ClientID='$ClientID'"; $rs = $conn->Execute("SELECT *, DECODE(CCNum, '$CCKey') AS DecodeCCNum FROM $ClientsTableName WHERE ClientID='$ClientID'");
Code: //Вот отсюда собственно и начинаются проблемы, мне нужно что бы обновился КАЖДЫЙ раздел форума, а не один $update = mysql_query("UPDATE `forum` SET `forum_moderators` = '".$forum_moderators."' WHERE `forum_id` = '".$forum_id."'") Запихай $update в foreach
PHP: UPDATE `forum` SET `forum_moderators` = '".$forum_moderators."' WHERE 1 =) по идее должно обновиться все
вопрос - а нахер делать модераторов если ты их будешь ставить модераторами во ВСЕ разделы, создай просто группу с доступом модерским и делов-то
Насчет обратимого шифрования, я так понял именно оно тебе нужно. предлагаю так PHP: <?php // Зашифровываем пароль $user_password = "31337"; $key = "Это секретный ключ"; // Шифруем пароль с использованием ключа $key $user_crypt = mcrypt_ecb(MCRYPT_3DES, $key, $maks_password, MCRYPT_ENCRYPT); echo "Зашифрованный пароль - ".$user_crypt; // Расшифровываем пароль $user_crypt= mcrypt_ecb (MCRYPT_3DES, $key, $user_crypt, MCRYPT_DECRYPT); echo "Расшифрованный пароль - ".$user_crypt; ?>