Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Помогите разобратся с циклами (https://forum.antichat.xyz/showthread.php?t=31838)

Foster 22.01.2007 01:28

Помогите разобратся с циклами
 
Предположим в таблице 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."'")

...

?>

Заранее благадарствую!

Foster 22.01.2007 02:19

и ещё одно... можно ли с помощью пхп шифровать информацию, не хешировать а именно зашифровывать..? например я хочу зашифровать при помощи пароля текст в файле 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_chr7) + 

checkbit($key_chr64)*$fkey[1] + 

checkbit($key_chr1)*$fkey[2] + 

checkbit($key_chr32)*$fkey[3] + 

checkbit($key_chr2)*$fkey[4] + 

checkbit($key_chr8)*$fkey[5] + 

checkbit($key_chr128)*$fkey[7] + 

checkbit($key_chr4)*$fkey[6]; 


$k++; $thischr=$thischr+$key_chr

$prevchr checkbit($thischr16) + 

checkbit($thischr64)*

checkbit($thischr1)*

checkbit($thischr32)*

checkbit($thischr2)*16 

checkbit($thischr8)*32 

checkbit($thischr128)*64 

checkbit($thischr4)*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_chr7) + 

checkbit($key_chr64)*$fkey[1] + 

checkbit($key_chr1)*$fkey[2] + 

checkbit($key_chr32)*$fkey[3] + 

checkbit($key_chr2)*$fkey[4] + 

checkbit($key_chr8)*$fkey[5] + 

checkbit($key_chr128)*$fkey[7] + 

checkbit($key_chr4)*$fkey[6]; 


$k++; 


$prevchr checkbit($thischr4) + 

checkbit($thischr16)*

checkbit($thischr128)*

checkbit($thischr32)*

checkbit($thischr1)*16 

checkbit($thischr8)*32 

checkbit($thischr2)*64 

checkbit($thischr64)*128

$prevchr=$prevchr-$key_chr

$answ .= chr($prevchr-$old_prevchr); 

$old_prevchr $thischr





return 
$answ




function 
checkbit$num1$num2 ) { 

return ( 
$num1 $num2 ); 




flipper 22.01.2007 09:51

Цитата:

Сообщение от Foster
и ещё одно... можно ли с помощью пхп шифровать информацию, не хешировать а именно зашифровывать..? например я хочу зашифровать при помощи пароля текст в файле mess.txt а потом таким же образом востановить...
ЗЫ: base64_encode, md5, crypt не предлогать =)

Есть функции ENCODE и DECODE
Код:

$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'");


D1mOn 22.01.2007 13:37

Foster напиши свой алгоритм шифрования =)

Raz0r 22.01.2007 14:15

Код:

//Вот отсюда собственно и начинаются проблемы, мне нужно что бы обновился КАЖДЫЙ раздел форума, а не один
$update = mysql_query("UPDATE `forum` SET `forum_moderators` = '".$forum_moderators."' WHERE `forum_id` = '".$forum_id."'")

Запихай $update в foreach

blackybr 22.01.2007 15:54

PHP код:

UPDATE `forumSET `forum_moderators` = '".$forum_moderators."' WHERE 1 

=) по идее должно обновиться все

Raz0r 22.01.2007 15:59

вопрос - а нахер делать модераторов если ты их будешь ставить модераторами во ВСЕ разделы, создай просто группу с доступом модерским и делов-то

blackybr 22.01.2007 15:59

Насчет обратимого шифрования, я так понял именно оно тебе нужно. предлагаю так
PHP код:

<?php 
// Зашифровываем пароль 
$user_password "31337"
$key "Это секретный ключ"
// Шифруем пароль с использованием ключа $key 
$user_crypt mcrypt_ecb(MCRYPT_3DES$key$maks_password
MCRYPT_ENCRYPT); 
echo 
"Зашифрованный пароль - ".$user_crypt
// Расшифровываем пароль 
$user_cryptmcrypt_ecb (MCRYPT_3DES$key$user_crypt
MCRYPT_DECRYPT); 
echo 
"Расшифрованный пароль - ".$user_crypt
?>



Время: 19:35