Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|
помогите, не могу куки установить |

20.12.2009, 02:19
|
|
Познавший АНТИЧАТ
Регистрация: 12.03.2008
Сообщений: 1,379
Провел на форуме: 5866479
Репутация:
1809
|
|
помогите, не могу куки установить
|
|
|

20.12.2009, 03:14
|
|
Познающий
Регистрация: 09.11.2009
Сообщений: 30
Провел на форуме: 311773
Репутация:
26
|
|
А как ты видишь, что куки не установлены? по echo 'куки найдены' .$_COOKIE["username"].' '.$_COOKIE["password"]; - этой строчке?
как бы массив $_COOKIE формируется в момент загрузки страницы. И данных username, password там нет. Попробуй явно их указать после setcookie(). $_COOKIE['username'] = $user_row["username"];
|
|
|

20.12.2009, 06:42
|
|
Познавший АНТИЧАТ
Регистрация: 12.03.2008
Сообщений: 1,379
Провел на форуме: 5866479
Репутация:
1809
|
|
Спс, разобрался, в начало документа скрипт закинул и всё заработало.
|
|
|
Выбранные checkbox и запись их значений в виде строки |

20.12.2009, 17:58
|
|
Познавший АНТИЧАТ
Регистрация: 12.03.2008
Сообщений: 1,379
Провел на форуме: 5866479
Репутация:
1809
|
|
Выбранные checkbox и запись их значений в виде строки
Подскажите, как грамотно выполнить вот такую задачу:
Есть форма с чекбоксами:
PHP код:
<input type="checkbox" value="'.$row["id"].'" />
Нужно значения выбранных чекбоксов записать в базу, в виде строки: 'id', 'id', 'id, 'id', 'id'

|
|
|

20.12.2009, 18:21
|
|
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
Провел на форуме: 5749763
Репутация:
1680
|
|
У кого нибудь есть функции\классы алгоритмов RSA или AES для шифровки\дешифровки с открытым ключём?
Нигде не могу найти.
Главное чтобы функции работали сами по себе и не требовали стороннего софта на сервере
|
|
|

20.12.2009, 18:22
|
|
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
Провел на форуме: 6462214
Репутация:
3171
|
|
Сообщение от Nightmarе
У кого нибудь есть функции\классы алгоритмов RSA или AES для шифровки\дешифровки с открытым ключём?
Нигде не могу найти.
Главное чтобы функции работали сами по себе и не требовали стороннего софта на сервере
наврятли такое есть.
/*add
http://www.phpclasses.org/search.html?words=AES&x=0&y=0&go_search=1
*/
|
|
|

20.12.2009, 18:24
|
|
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
Провел на форуме: 6462214
Репутация:
3171
|
|
Сообщение от mff
Подскажите, как грамотно выполнить вот такую задачу:
Есть форма с чекбоксами:
PHP код:
<input type="checkbox" value="'.$row["id"].'" />
Нужно значения выбранных чекбоксов записать в базу, в виде строки: 'id', 'id', 'id, 'id', 'id'

Вот бы по русски услышать задачу 
|
|
|

20.12.2009, 18:30
|
|
Members of Antichat - Level 5
Регистрация: 25.02.2007
Сообщений: 495
Провел на форуме: 3244717
Репутация:
1980
|
|
Сообщение от mff
Подскажите, как грамотно выполнить вот такую задачу:
Есть форма с чекбоксами:
PHP код:
<input type="checkbox" value="'.$row["id"].'" />
Нужно значения выбранных чекбоксов записать в базу, в виде строки: 'id', 'id', 'id, 'id', 'id'

PHP код:
<?php
if(isset($_POST['checkbox']))
echo "'" . implode("','", $_POST['checkbox']) . "'";
?>
<form method="POST">
<input type="checkbox" name="checkbox[]" value="1" />
<input type="checkbox" name="checkbox[]" value="2" />
<input type="checkbox" name="checkbox[]" value="3" />
<input type="submit">
</form>
|
|
|

20.12.2009, 18:55
|
|
Познавший АНТИЧАТ
Регистрация: 12.03.2008
Сообщений: 1,379
Провел на форуме: 5866479
Репутация:
1809
|
|
[Raz0r], большое спасибо! То, что нужно!
|
|
|

20.12.2009, 19:18
|
|
Познающий
Регистрация: 25.10.2009
Сообщений: 54
Провел на форуме: 62271
Репутация:
9
|
|
Как сделать авторизацию на php на файлах?
Нашёл довольно подходящий скрипт :
PHP код:
<?php
#Файл-база пользователей, права доступа 766
$basemember = "data/base_avatar.dat";
#папка, где лежат картинки, права доступа 777 или 733
$papka_images = 'images';
#максимальный размер файла в байтах
$MAX_SIZE = '100000';
#ширина картинки
$fr_width = '120';
#высота картинки
$fr_height = '120';
// это функция уменьшает картинку
function small_image($path,$w_new,$h_new){
$file = @getimagesize ($path);
$w = $file[0]; $h = $file[1];
if($file[2]=='2'){ $old = @imageCreateFromJpeg($path); }
if($file[2]=='3'){ $old = @imageCreateFromPng($path); }
$new = @imageCreate($w_new, $h_new);
@imageCopyResized($new, $old, 0, 0, 0, 0, $w_new, $h_new, $w, $h);
if($file[2]=='2'){ @imageJpeg($new, $path); }
if($file[2]=='3'){ @imagePng($new, $path); }
@imageDestroy($old);
@imageDestroy($new);
return true;
}
// эта функция добавляет картинку
function add_images($arr){
global $MAX_SIZE,$basemember,$papka_images,$fr_width,$fr_height,$c_name,$c_ppass;
$ffile = $papka_images."/".$arr['file_name']['name'];
if(@file_exists($ffile)) {return print "\n<br><font class='forums'><b>Error:</b></font> файл <b>".$ffile."</b> уже существует...<br>\n";}
$bibl_ext = @dirname($_SERVER['SCRIPT_FILENAME']).'/extensions/php_gd.dll';
if(!extension_loaded('gd') and is_file($bibl_ext)){ dl("extensions/php_gd.dll");}
if(!extension_loaded('gd')){ return print "Нет файла библиотеки ".$bibl_ext;}
if($arr[file_name][name]!=''){
if(preg_match("~[^a-zA-Z0-9_\.-]~",$arr['file_name']['name'])){return print "\n<br><font class='forums'><b>Error:</b></font> недопустимые символы или пробелы в имени: <b>".$arr['file_name']['name']."</b><br>\n"; }
$type_file = $arr[file_name][type];
if(!preg_match("/jpeg|png/i",$type_file)){ return print "\n<br><font class='forums'><b>Error:</b></font> формат <b></b> недопустим...<br>\n";}
$general = @file($base_images);
for ($i = count($general)-1; $i >= 0; $i--) {
list($name_f,$size_f,$data_f)=explode("::", $general[$i]);
if($arr['file_name']['name']==$name_f){return print "\n<br><font class='forums'><b>Error:</b></font> файл <b>".$name_f."</b> уже существует...<br>\n"; }
}
$tmp = str_replace("\\","/",getcwd())."/".$papka_images;
if(@is_writeable($tmp)){
$fname = $tmp.'/'.$arr['file_name']['name'];
if(move_uploaded_file($arr['file_name']['tmp_name'],$fname)){
$type_file = $arr['file_name']['type'];
$name_file = $arr['file_name']['name'];
$size_file = $arr['file_name']['size'];
}
}
else{return print "\n<br><font class='forums'><b>Error:</b></font> на папку <b>".$tmp."</b> нет доступа на запись...<br>\n"; }
}
else{return print "\n<br><font class='forums'><b>Error:</b></font> <b>введите</b> имя файла в форму...<br>\n"; }
if(strlen($name_file)=='0'){return print "\n<br><font class='forums'><b>Error:</b></font> <b>размер</b> файла превышает допустимый ".$MAX_SIZE." байт <br>\n"; }
if(!file_exists($fname)) {return print "\n<br><font class='forums'><b>Error:</b></font> файл <b>".$fname."</b> не найден...<br>\n";}
small_image($fname,$fr_width,$fr_height);
$general = @file($basemember);
$lines = count($general);
$fp = @fopen($basemember, 'w');
for ( $i = 0; $i < $lines; $i++){
list($name_t,$ppass_t,$avatar_t)=explode('::', $general[$i]);
if($c_name==$name_t and $c_ppass==$ppass_t){
if($avatar_t!=''){$avatar_t=$papka_images."/".$avatar_t; @unlink ($avatar_t);}
@fwrite ($fp,"$name_t::$ppass_t::$name_file::\n");
}
else{@fwrite ($fp,$general[$i]);}
}
@fclose ($fp);
return print "<b>\n<br><font class='forums'>Файл:</font> ".$name_file." </b>(".$size_file." байт) успешно загружен<br>\n";
}
// эта функция печатает форму
function print_form(){
global $session_form,$MAX_SIZE,$c_name,$c_ppass,$fr_width,$fr_height,$dont_registr;
$MAX_SIZE_KB = ceil($MAX_SIZE/1000);
$aaa="
<form ENCTYPE='multipart/form-data' ACTION='set.php' METHOD='POST'>
<table border='0' cellpadding='2' cellspacing='2'><tr><td>".$session_form."
<input TYPE='hidden' name='MAX_FILE_SIZE' value='".$MAX_SIZE."'>";
if($dont_registr == 'yes'){
$aaa .= "Логин: <input type='text' name='name' value='".$c_name."'>
<br>Пароль: <input type='password' name='ppass' value='".$c_ppass."'>\n";
}
else{
$aaa .= "<br><input type='file' name='file_name' size='35'>\n";
}
$aaa .= "<input type='submit' value='добавить'>
</td></tr></table>
</form>\n";
return $aaa;
}
//работа с сессией
if(isset($HTTP_GET_VARS)) {foreach($HTTP_GET_VARS as $key => $value ) {$$key=$value;}}
if(isset($HTTP_POST_VARS)){foreach($HTTP_POST_VARS as $key => $value ){$$key=$value;}}
unset($c_ppass,$c_name);
if ( isset ($_COOKIE)) { foreach ($_COOKIE as $key => $value ) {$$key=$value;}}
if ($c_zvet=='' or !isset($c_zvet)){ setcookie('c_zvet','Стандарт',time()+33333333); }
@session_name('SID');
@session_start();
if ( isset ($_SESSION)) { foreach ($_SESSION as $key => $value ){ $$key=$value;}}
if($c_zvet!=''){
@ini_alter('session.use_trans_sid','0');
$SID=@session_id();
@session_destroy();
@setcookie('SID', $SID, time()+33333333);
}
else{
@ini_alter('session.use_cookies','0');
@session_destroy();
@session_id(@md5(@uniqid(@rand())));
$SID=@session_id();
if ( ini_get ('session.use_trans_sid')=='0'){
$session_form .="\n<input type='hidden' name='SID' value='".$SID."'>";
$session_link .="&SID=".$SID;
}
}
@session_register('c_name','c_ppass');
// вставляем верх странички, меняйте его под себя...
include("templates/index_top.htm");
// если кликнули закрыть сессию, можно убрать эту строку
if($sess=='close'){@session_unset(); @session_destroy();}
// если пришли данные из формы...
if($name!='' and $ppass!=''){ $c_name = $name;$c_ppass = $ppass; }
// если прищла картинка из формы
if(isset($HTTP_POST_FILES['file_name']['name'])){add_images($HTTP_POST_FILES); }
// если нет, значит человек регистрируется или авторизируется
elseif($name!='' and $ppass!=''){
$general = @file($basemember);
$lines = count($general);
$fp = @fopen($basemember, 'w');
for ( $i = 0; $i <= $lines; $i++ ){
list($name_t,$ppass_t,$avatar_t)=explode('::', $general[$i]);
if($name==$name_t and $ppass==$ppass_t and $name_t!=''){@fwrite ($fp,$general[$i]); $old='yes'; }
elseif($i==$lines and $old!='yes'){@fwrite ($fp,"$name::$ppass::::\n");}
else{@fwrite ($fp,$general[$i]);}
}
@fclose ($fp);
}
// проверяем есть ли человек в нашей базе, если нет то говорим что $dont_registr = 'yes'
$general = @file($basemember);
$lines = count($general);
for ( $i = 0; $i <= $lines; $i++ ){
list($name_t,$ppass_t,$avatar_t)=explode('::', $general[$i]);
if($c_name==$name_t and $c_ppass==$ppass_t and $name_t!=''){ break; }
if($i==$lines){ $dont_registr = 'yes'; }
}
// если человека в базе нет печатаем форму и предлагаем авторизацию
if($dont_registr == 'yes'){
print "<p align='justify'></p><p align='justify'>Авторизация - регистрация</p>";
print print_form();
}
// если он есть в базе приходим сюда
else{
if($avatar_t!='' and $del!='yes'){
$avatar = "<img src=".$papka_images."/".$avatar_t.">";
$message ="У Вас <font class=forums><b>Есть</b></font> аватар (<b>".$avatar_t."</b>). Вы можете его менять, удалять.";
}
else {$avatar =''; $message ="У Вас <font class=forums><b>Нет</b></font> аватара. Вы можете его добавить.";}
$MAX_SIZE_KB = ceil($MAX_SIZE/1000);
$message .= "<p align='justify'> Допустимы два формата Jpeg и Png - заменяюший формат Gif. Закачивайте файл размером не более <b>".$MAX_SIZE_KB."kб</b>. Размер картинки будет сохранен в рамках ".$fr_width."x".$fr_height." пикселей.<br><br>Для более качественной его передачи, желательно привести вашу картинку к данному размеру ".$fr_width."x".$fr_height." пикселей.</p>\n";
if($avatar_t!='' and $del!='yes'){$message .="<p align='justify'>Для того, чтобы добавить картинку с тем же именем, что уже существует, Вам надо сначала Аватар удалить.<br><br> Для удаления аватара, <a href='set.php?del=yes".$session_link."'>клинете здесь...</a></p>\n"; }
// если пользователь удаляет аватар то мы здесь
if($del=='yes'){
$general = @file($basemember);
$lines = count($general);
$fp = @fopen($basemember, 'w');
for ( $i = 0; $i < $lines; $i++){
list($name_t,$ppass_t,$avatar_t)=explode('::', $general[$i]);
if($c_name==$name_t and $c_ppass==$ppass_t){
if($avatar_t!=''){$avatar_t=$papka_images."/".$avatar_t; @unlink ($avatar_t);}
@fwrite ($fp,"$name_t::$ppass_t::::\n");
}
else{@fwrite ($fp,$general[$i]);}
}
@fclose ($fp);
print "\n<br><b>Аватар</b> удален...<br>\n";
}
print "<table width='600' border='0' cellpadding='5' cellspacing='5'><tr><td valign='top'>$avatar</td><td align='justify'>$message</td></tr></table>\n";
print print_form();
}
// это просто ссылки, типа ваших страничек
print "<a href='set.php?act=registr1'>Кликайте здесь</a>
<a href='set.php?act=registr2'>И тут тоже...</a>
<a href='set.php?sess=close'>Закрыть сессию</a>";
// вставаляем нижний шаблон
include("templates/index_end.htm");
?>
Но мне не надо печенек и даже сессий...Надо просто рег\вход и после входа передать данные в чат: ник,статус, права
Убирал лишнее сам --- после нажатия добавить нифига не происходит(
Последний раз редактировалось N2kroot; 20.12.2009 в 19:21..
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|