Jump to content

V1RUS

წევრი
  • Content count

    372
  • Joined

  • Last visited

  • Days Won

    34

V1RUS last won the day on May 25 2015

V1RUS had the most liked content!

Community Reputation

160 ძალიან მაგარი

About V1RUS

  • Rank
    ელიტარული წევრი

Recent Profile Visitors

1.837 profile views
  1. <?php define('_WBLIB',1); require_once ('../inc/core.php'); if ($level < 0) {exit('აქ არ შეიძლება');} $title = 'პროფილის შეცვლა'; require_once ('../inc/head.php'); echo '<div class="title"><a href="index.php">პროფილი</a> | ანკეტის შეცვლა</div>'; $re = mysql_query("SELECT * FROM `users` WHERE `id` = '$usr_id' LIMIT 1"); $user = mysql_fetch_assoc($re); if (isset($_POST['go'])) { if (empty($_POST['name'])) $error = 'სახელის ველი ცარიელია<br/> <a href="profile.php">უკან</a>'; if (empty($_POST['email'])) $error = 'მაილის ველი ცარიელია<br/> <a href="profile.php">უკან</a>'; if ($error) { echo '<div class="error">'.$error.'</div>'; require_once ('../inc/foot.php'); exit(); } ///////////////////////////////////////////////////////////////////////// $result = mysql_query("SELECT * FROM `users` WHERE `name` = '".$name."'LIMIT 1"); $num_rows = mysql_num_rows($result); if ($num_rows>0) { echo '<div class="error">'."eseti saxelit momxmarebeli ukve arsebobs !!! ".'</div>'; require_once ('../inc/foot.php'); exit(); } ///////////////////////////////////////////////////////////////////////// $name = mysql_real_escape_string(htmlspecialchars(trim($_POST['name']))); if (!empty($_POST['icq'])) $icq = intval($_POST['icq']); else $icq = null; if (!empty($_POST['email'])) $email = mysql_real_escape_string(htmlspecialchars(trim($_POST['email']))); else $email = null; mysql_query("UPDATE `users` SET `name`='$name' , `icq` = '$icq' , `email` = '$email' WHERE `id` = '$usr_id'"); if (!empty($_POST['old_ps']) && !empty($_POST['new_ps'])) { if (md5($_POST['old_ps']) == $usr_ps) { mysql_query("UPDATE `users` SET `pass` = '".md5($_POST['new_ps'])."' WHERE `id` = $usr_id"); if (isset ($_COOKIE['cusr_id']) && isset ($_COOKIE['cusr_ps'])) setcookie('cusr_ps', base64_encode($_POST['new_ps']), time() + 3600 * 24 * 365); } else { echo '<div class="error">მიმდინარე პაროლი არასწორია ! პაროლის შეცვლა ვერ მოხერხდა.<br/> <a href="profile.php">უკან</a></div>'; require_once ('../inc/foot.php'); exit(); } } $re = mysql_query("SELECT * FROM `users` WHERE `id` = '$usr_id' LIMIT 1"); $user = mysql_fetch_assoc($re); echo '<div class="error">პროფილი შეიცვალა!</div>'; } echo '<div class="link">'; echo '<form action="profile.php" method="post" name="set"> *სახელი :<br/> <input name="name" type="text" value="'.$user['name'].'"><br/> ICQ ნომერი :<br/> <input name="icq" type="text" value="'.$user['icq'].'"><br/> მაილი :<br/> <input name="email" type="text" value="'.$user['email'].'"><br/> მიმდინარე პაროლი:<br/> <input name="old_ps" type="text"><br/> ახალი პაროლი:<br/> <input name="new_ps" type="text"><br/> <input name="go" type="submit" value="შენახვა"/> </form>'; echo '</div>'; echo '<div class="bar"><a href="index.php">პროფილი</a></div>'; require_once ('../inc/foot.php'); ?> 2. შეგიძლია კიდევ უნიკალური ინდექსი დაადო თვითონ მომხმარებლის სახელის ველს და განახლებისას თვითონ ბაზა იყვირებს და არ შეგაცვლევინებს ისეთზე რომელიც უკვე არსებობს. ზოგადად კიდე mysql php 5.5.0 დაწყებული მომდევნო ვერსიებში ამოიღებული იქნება ამიტომ ჯობია სამომავლოდ MySQLi ან pdo_MySQL იხმარო. კომენტარებში ჩაგისვი ის ნაწილი მე რაც ჩაგიმატე მომხმარებლის სახელის შესამოწმებლად.
  2. V1RUS

    პროექტი keygen

    ვირუსის ტიპს რას წერს? რა ტიპისაზე გაყავხარ?
    • სალამი V1RUS. თუ სწორად მახსოვს ადრე ერთ ერთ პოსტში დაწერე რომ აზარტული თამაშებისთვის წერ პროგრამულ უზრუნველყოფას. შემთხვევით აჭარაბეთში ხომ არ ხარ ან ხომ არ იყავი ? PM ვერ გწერ

    • Send
  3. მაქვს თავის დროზე დაწერილი ეხლაც მუშაობს მაგრამ დელფია, და კონკრეტული ფუნქციონალია რეალიზებული. c# პორტირება არა რთული უბრალოდ დროის ამბავია :-(
  4. კი დავაგვიანე პასუხი მაგრამ ახალი წლის დღეები მაინც თავისას შვება :-(, სამწუხაროდ არავინ ვიცი, ვინც თავისუფალია და შემიძლია რომ გირჩიო.
  5. ეგ ბაზარი არაა პირველი მიკროპროცესორი ინტელის იყოს, ამდს პირველი მიკროპროცესორიც ინტელის ლიცენზიით იყო, მე არცერთს არ უკარგავ თავის დამსახურებას ამ სფეროში. შედეგი კიდე ცუდი არ აქვს, სასერვერო ბაზარზე ამდს სერვერული გრეიდის მიკროპროცესორებს, ფასი რა ფასიც ადევს ამდს მე თვლი რომ ამართლებს. უფრო მეტი რა თქმა უნდა ინტელთან მაქ შეხება მაგრამ ის მცირე პროცენტი რაც ამდსთან მქონია შეხება საჭირო დონის მოვლისას ამართლებს თავის ფასს. დღესაც მიმუშავებს ამდ ოპტერონებზე სანის სერვერები მერამდენე წელი უკვე უპრობლემოდ.. ასარჩევად და რჩევის პონტშიც რა თქმა უნდა ინტელს ურჩევ ყველას რადგან ამდს ყველა ვერ მოუვლის და შეხედავს ისე როგორც საჭიროა.. საბოლაო ჯამში ყველაფერი დადის ფასზე და ფასთან მიმართებაში ხარისხზე.. მე რაც შეხება მქონია თავის ფასს რა ხარისხსაც იძლევა ამართლებს. მეორე უკვე მომხმარებელს რამდენად უღირს ეგ ფასი და ხარისხი. პ.ს შედეგი და მომხმარებელი იყო ნახსენები xbox და ps მშვენივრად გრძნობს თავს ამდ და არანაირად არ იძლევა ცუდ შედეგს, პირიქით..
  6. ვინც გააკეთა ეგ პროგრამა თავისი დრო ეგრე ღირს, მაგიტო ვთქვი არვიცი შეიძლება უფრო იაფადაც აკეთებს სასტავი, მაგრამ ხარისხის პონტში გადაიხადეს ძვირი და შეუკვეთეს. არადა ეგ კი იძახდა მაგარი იაფად გაუკეთეო და რავიცი აბა არა ვებზე ძვირი და კაი შემოსავალი ნამდვილად არის მანდ, ვებში ძაან დააგდეს ფასები ჩვენთან. პ.ს მთავარი დამავიწყდა მიმეწერა მაგ პროექტების სერვერიც თვითონ დაწერა. მულტი tier აპლიკაცია იტოგში
  7. გაიხარე. კარგია თუ გააკეთე.. დრო თუ მოვძებნე განვავრცობ. და დავდებ.. თუ დააკვირდებით შიგადაშიგ ვიჩითები თავისუფალ დროს როგორც კი დავიჭერ.
  8. რომ AMD არის სტრუქტურულად უხარისხო<<< და ის რატომ გვავიწყდება რომ 64 ბიტიანი პროცესორი მაგათი შექმნილია რომ არის? ამიტომ არის amd 64 ყველგან და არა ინტელ 64. და დღესდღეობით ინტელი თუ სხვა ნებისმიერი სხვა ხმარობს მაგ სტრუქტურას (ყველამ თავისზე მოირგო რა თქმა უნდა) რასაც ასე ვთქვათ "უხარისხოს" ვეძახით გრუბად რომ ვთქვათ მხოლოდ ამდ "კეთილი ნების წყალობით" რადგან პატენტი ამდს ქონდა. პ.ს ამდს პროდუქციის და კომპანიის დიდი ფანი არ ვარ, არც მომხმარებელი მაგრამ რაც დამსახურებები აქვს არ უკარგავ)) ბოლოს და ბოლოს პიონერი იყო ამ სფეროში
  9. მარტივად გააკეთებ თუ კი იცი ტრიგერები რა არის. მაგალითად თუ გაქვს ცხრილი news ,აკეთებ ცხრილს news_log (რომელის ველებიც იქნება old_news_ცხრილის ველები და new_news_ცხრილის ველები ) და news ცხრილზე აკეთებ ტრიგერს before insert or update or delete ამ ტრიგერებზე შესაბამისად ინახავ new და old მნიშვნელობებს news_log ცხრილში. შესაბამისად ღებულობ მთელ სურათს ვინ სად როდის როგორ და რანაირად და რა შეცვლა. ისე რომ არ ერევი გარედან ბაზის დონეზევე აკეთებ მაგ ყველაფერს. მაგალითად გვაქ ცხრილი news და გვინდა ამ ცხრილზე ყველა ცვლილების და ისტორიის შენახვა. news აქვს 3 ველი პირობითად id,news_text,user_id ამ ცხრილის ისტორიის შესანახად ვაკეთებთ ცხრილს news_log 7 ველი გვექნება id <<log ის უბრალოდ id old_id,old_news_text,old_user_id << აქ შევინახავთ ძველ მნიშვნელობებს ჩანაწერის news ცხრილიდან. new_id,new_news_text,new_user_id << აქ შევინახავთ ახალ მნიშვნელობებს ჩანაწერის news ცხრილიდან. ვაკეთებთ ტრიგერს BEFORE UPDATE ON `news` სადაც ვახდენთ news ცხრილის ძველი და ახალი მნიშვნელობის ლოგერში ჩასმას. ანუ ვღებულობთ სურათს რა იყო და რა გახდა. ქვემოთ ჩემს მოყვანილ მაგალითს თუ შეხედავ მაქ ესეთი ჩანაწერი ლოგერში ( 1, 1, 'test', 5 <<ძველი, 1, 'xaxa', 6<< ახალი) ანუ ეს ნიშნავს რედაქტირების წინ იყო 1, 'test', 5 ჩანაწერი და დაარედაქტირეს და გახდა 1, 'xaxa', 6. ანალოგიურად შეგიძლია ტრიგერი დაადო before delete ოღონდ delete ში new მნიშვნელობა იქნება ცარიელი ხოლო რა წაიშალა შესაბამისად შეივსება. ლოგავ უკვე ყველანაირა მოძრაობებს ცხრილში ისე რომ გარედან არანაირი ჩარევა არ უნდა ბაზის დონეზე ხდება, შემდეგ ეს ისტორია ლამაზად შეგიძლია დაუხატო გაუფორმო. აქ ეხლა პრიმიტიული მაგალითია ლოგერს შეგიძლია ცხრილს მიუმატო თარიღი თუ როდის მოხდა ცვლილება მომხმარებლის სახელი თუ ვინ გააკეთა ცვლილება, კომპიუტერი საიდანაც მოხდა ეს ცვლილება მოკლედ ფანტაზიაზეა უკვე დამოკდიებული შენს. მთავარია სკრიპტზე არ ხარ დამოკიდებული რაიმე რომ შეინახოს და დალოგო ბაზა აკეთებს თავისით. მარტივად ეგრე ხდება ლოგირება, და თან ხარისხიანად, ეგრე ვაკეთებ ხოლმე , MYSQLს არ ვხმარობ მაგრამ ამ შემთხვევაში ეს მიდგომა ყველა ბაზაზე ერთია მხოლოდ სინტაქსია სხვა CREATE TABLE IF NOT EXISTS `news` ( `id` int(11) NOT NULL AUTO_INCREMENT, `news_text` text NOT NULL, `user_id` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ; INSERT INTO `news` (`id`, `news_text`, `user_id`) VALUES (1, 'xaxa', 6); DROP TRIGGER IF EXISTS `test`; DELIMITER // CREATE TRIGGER `test` BEFORE UPDATE ON `news` FOR EACH ROW BEGIN insert into news_log set old_id=OLD.id,old_news_text=OLD.news_text,old_user_id=OLD.user_id,new_id=NEW.id,new_news_text=NEW.news_text,new_user_id=NEW.user_id; END // DELIMITER ; CREATE TABLE IF NOT EXISTS `news_log` ( `id` int(11) NOT NULL AUTO_INCREMENT, `old_id` int(11) NOT NULL, `old_news_text` text NOT NULL, `old_user_id` int(11) NOT NULL, `new_id` int(11) NOT NULL, `new_news_text` text NOT NULL, `new_user_id` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ; INSERT INTO `news_log` (`id`, `old_id`, `old_news_text`, `old_user_id`, `new_id`, `new_news_text`, `new_user_id`) VALUES (1, 1, 'test', 5, 1, 'xaxa', 6);
  10. ენის ბარიერის ბრალი ნაკლებად უფრო გამოცდილების ამბავია, ანუ ამ ეტაპზე შენსთვის საკმარისია იცოდე რომ არსებობს ინტერფეისები და როცა მაგის აუცილებლობა დაგიდგება თვითონვე მოისაზრებ რა დროს დაგჭირდება და რა დროს არა, ან ცოტა მეტ გამოცდილებას რომ მიიღებ გაკეთებული ამოცანებიდან შემდეგ რო თვალს რო გადაავლებ უკვე მიხვდები ინტერფეისი სად გაგიმარტივებდა სიცოცხლეს, ანუ დოგმა არ არის ესა თუ ის მიდგომების გამოყენება, ყველას აინტერესებს პროგრამა მუშაობდეს გამართულად და ხარვეზის გარეშე, შენ თუ ამას მიაღწევ ინტერფეისის გარეშე სულ ნუ გამოიყენებ, მოდაც არ არის რომ მიყვე და ინტერფეისები ტენო უაზროდ იქ სადაც შეიძლება გვერდი აგევლო. ინტერფეისები უბრალოდ დიდ პროექტებში ამარტივებს პროგრამის წერას, გიზოგავს დროს და ენერგიას, ეს რომ შეაფასო ცოტა გამოცდილება გჭირდება სხვისი გადმოსახედიდან რომ შეხედო ცოტათი მაინც გაუგებრად მოგეჩვენება. თეორია როცა იცი კარგია მაგრამ პრაკტიკაში როცა იყენებ მერე ხდება ცხადი თეორიის ნაწილები, ესე რაც არ უნდა თეორიულად მაგალითები მოგიყვანონ შეიძლება საერთოდ არ შეგხვდეს მსგავსი მაგალითი შენს პრაკტიკაში.. თეორიული მაგალითები გეხმარება რაღაც ცოდნის და გამოცდილების დონეს რომ დააგროვებ მერე, ყველაფერს რო ნათელი მოფინოს მანამ კარგია ცოტატი შენ რომ იწვალო უფრო საფუძვლიანად აღიქვამ. get set რაც შეხეება აქაც მსგავსი მომენტია, ანუ გრუბად შენ ახდენ ცვლადდთან წვდომის ცენტრალიზებას, ანუ get set მარტივად შეგიძლია შემდეგ გაფილტრო მნიშვნელობა ცვლადის და რაღაც პირობები დაუწერო, ეს ერთი შეხედვით გაიფიქრებ რაში უნდა დაგჭირდეს მაგრამ აქაც იგივეა, დიდ პროექტში როცა ცვლადს წვდობი 200 ადგილიდან, რამე ცვლილება და ფილტრი რო მოგინდეს დაადო ცვლადს ან ცვლადის მნიშვნელობას 200 ადგილზე ხო არ დაიწყებ მიწერას ფილტრში ამას გააკეთებ get set ით მარტივად. თემა არის ესეთი რომ ჯერ უნდა ისწავლო ჩვეულებრივად მარტივი პროგრამირების ელემენტები ციკლი მასივები და ა.შ პრიმიტიული ტიპები და მათი გამოყენებით რაიმე მარტივი თემების კეთება, და შემდეგ უნდა გადახვიდე ოოპ ზე, ოოპს გაგება ცოტათი რთული პირველი დონის საფეხური თუ არ გაქვს კარგი, პირველი დონე როცა იცი კარგად, შენ უკვე მოთხოვნა გიჩნდება ოოპს თვითონვე იაზრებ მარტივად, და თეორიულად როცა სწავლობ ყველაფერს ცოტა რთულია აღქმა ამ ყველაფრის რადგან პრაკტიკა უნდა ყველაფერს. პ.ს ჩემი გამოცდილებიდან კიდე პროგრამებს ისე ვწერდი და ვაკეთებდი დასაწყისში ოოპს საერთოდ ცოდნაც კი არ მჭირდებოდა როგორც ასეთი ანუ არ მქონია ისეთი ამოცანები რაშიც შეიძლება გამომეყენებინა, რაც უფრო გართულდა ამოცანები და დავაგროვე გამოცდილება მით უფრო მოთხოვნა გამიჩნდა მსგავსი თემის ათვისების და გამოყენების რადგან დროსაც და ენერგიასაც ზოგავს. მაგრამ ისევ და ისევ განვმეორდები თუ ამოცანა მაგას არ მოითხოვს რაც არ უნდა ცოდნა და გამოცდილება გქონდეს ტყუილად არ უნდა ჩატენო, ყვეალფერს აქვს თავისი ადგილი და დანიშნულება, თუ რამეს არადანიშნულებისამებრ ხმარობ ყოველთვის ირთულებ საქმეს თითქოს სიმარტივის გამო...
  11. პოლიტექნიკურის მეტროს გადასასვლელზე, ერთი ბიჭია ტელეფონების პახოდუ საათების მოხელე ალექსა ქვია, მაგასთან მიდი და დაგაკვალიანებს თუ რამე მარტივია და არაფერია გასაკეთებელი ისეც გაგისწორებს არაფერს გამოგართმევს. თუ არა დაგაკვალიანებს მაინც როგორ და ვისთან შეიძლება. პ.ს ძველი პოსტია მართალია მაგრამ იქნება მომავალში ვინმეს გამოადგეს.
  12. გაუთვალისწინებიათ მაშინ ეგ ყველაფერი საინტერესოა შესახედად. გაიხარე.
  13. ფასებში ძაან ვერკვევი თქო არა მაგრამ დაახლოებით ელექტრონული რესტორნის მენიუ, მენიუდან შეკვეთის საშუალებით, ჩათვალე ოფიციანტს რო გიცვლის ეგეთი ანდროიდ დევაისისთვის პროგრამას 4000 ად დაუწერა. დანარჩენი შენ თვითონ გადახედე, ტაქსი ფაის მსგავსი პროგრამა სადღაც 5-6 მდე ანდროიდისთვის უკეთებს..
  14. ყველანაირი დაცვის მუღამიც და მიდგომა არის ის რომ იმდენად გაგირთულოს საქმე და იმდენი დანახარჯები გაგაკეთებინოს რომ შენ იქ შეღწევა მაგ ფასად არ გიღირდეს. ეგ ყველაზე ცნობილი ფაქტია, ჯავშანი და იარაღის შეჯიბრების თემაა
×