Искам да уча PHP и да правя сайтове сам

От: Искам да уча PHP и да правя сайтове сам

Майлеее... това print_r е много яко!
Схванах! Значи с това print_r направо си е дебъгер :). С него ми вади всичко в $_GET, $_SESSION, $_POST.
Торбалане, кажи какво пиеш?! Отвори ми очите, сега е доста по-ясна работата.
 
От: Искам да уча PHP и да правя сайтове сам

print_r просто ти връща в сравнително разбирам вид с какво ти е пълен масива.
В случая - глобалния масив $_GET, $_SESSION, $_POST.
 
От: Искам да уча PHP и да правя сайтове сам

Майлеее... това print_r е много яко!
Схванах! Значи с това print_r направо си е дебъгер :). С него ми вади всичко в $_GET, $_SESSION, $_POST.
Торбалане, кажи какво пиеш?! Отвори ми очите, сега е доста по-ясна работата.
Пия всичко без нафта, ама нея колата я гълта по 15/100 :D

А дебъгера и профайлера нищо не може да ги замени. Само дето 99% от "уеб програмистите" не са чували, че съществуват.
 
От: Искам да уча PHP и да правя сайтове сам

Подредих си кода, че изглеждаше ужасно. И си поиграх малко с CSS-а.
Това ми е php-файла:
PHP:
<?php session_start();
if(isset($_GET['out'])){
  $_SESSION['lg']=false;
  header("Location: index.php");
}
if(!isset($_SESSION['lg'])) $_SESSION['lg']=false;
if(
  isset($_POST['user']) && $_POST['user'] &&
  isset($_POST['pass']) && $_POST['pass']
 ){
    $error = array();
    if($_POST['user']!=='potrebitel'){
      $error[] = "Няма такъв потребител!";
    }
    if($_POST['pass']!=='parola'){
      $error[] = "Грешна парола!";
    }
    if(!$error){
      $_SESSION['lg']=true;
    }
} else $error[] = "Попълнете полетата!";
?>

<!DOCTYPE html>
<html lang="en" class="no-js">
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">


  <link rel="stylesheet" href="style.css">
  <script src="js/modernizr.js"></script>
</head>
<body>
<div class="container">

<div class="col col-3 leftp"> <!-- Liav panel -->
<?php if($_SESSION['lg']!==true){ ?>
<h4>Login Form</h4>
<form action="" method="post">
  <fieldset>
    <legend>Вход за потребители</legend>

      <!-- Input[type=text] -->
      <div class="row clear">
        <div class="col col-1">
          <label for="name">User</label>
          <input type="text" name="user" cols="60" placeholder="Your username..." />

          <label for="name">Password</label>
          <input type="password" name="pass" cols="60" placeholder="Your password..." />
        </div>
      </div>
      <input type="submit" value="Send Form" class="button grey-button smb" />
  </fieldset>
</form>

<?php if(isset($error) && $error) foreach ($error as $key) {
        echo "$key<br />";
      }
} else { ?>
  <h3>Здравей потребител</h3>
  <a href="index.php?out">Изход</a>
<?php } ?>

</div><!-- ./col-4 -->


<div class="col col-9 rightp"><!-- Desen panel -->
  <h2>Добре дошли в нашият сайт!</h2>
  <?php if(!$_SESSION['lg']===true){ ?>
  <p>Моля да се логнете в системата!</p>
  <?php } else { ?>
    <p>Вие се логнахте успешно!</p>
  <?php } ?>
</div><!-- ./col-8 -->



</div><!-- ./container -->

<script src="js/jquery.min.js"></script>
<script src="js/default.js"></script>
</body>
</html>
А в основния код на Base-фреймуорка добавих това:
Код:
.smb {
  padding: 0.3em 0.8em;
  border: 1px solid #ddd;
}
.leftp {
  background: #E2F6FF;
  border-right: 1px solid #fff;
}
.rightp {
  background: #F4F4F4;
}
:) Кеф ми е! :)
phpprobi.byethost10.com/learning/login/index.php
 
От: От: Искам да уча PHP и да правя сайтове сам

:) Кеф ми е! :)
phpprobi.byethost10.com/learning/login/index.php
Няма ли за почивка да пуснеш някое мнение в законните спам теми, та да даваш живи връзки? :wink:

Вход за потребители
Моля да се логнете в системата!
 
От: От: Искам да уча PHP и да правя сайтове сам

Няма ли за почивка да пуснеш някое мнение в законните спам теми, та да даваш живи връзки? :wink:
Никаква почивка! Тая нощ няма да спя! Набелязал съм си още поне 10 видео урока. Мисля да се пробхвам и с базите данни, само не съм решил дали SQLite или MySQL.
Имам 2 дни отпуска + събота и неделя. PHP-time! :)
 
От: Искам да уча PHP и да правя сайтове сам

Какъв редактор ползваш за да пишеш кода?
Netbeans, Eclipse, Notepad++
SublimeText 2. Него го ползвах преди за HTML и C, но се оказва идеален и за php. Не можах да намеря крак за 3-ката.
А ти?
 
От: Искам да уча PHP и да правя сайтове сам

Какво е Symfony?
Netbeans го знам , ползвахме го в училище. Даскала по програмиране пишеше Java само на Netbeans и казваше, че е най-добрия редактор. Аз обичам да експериментирам и до сега не съм се спирал на нищо повече от SublimeText.
 
От: Искам да уча PHP и да правя сайтове сам

нещо до което ще стигнеш (най-вероятно) когато се справиш и с обектно ориентираното програмиране. Но първо научи основните конструкции в PHP. И се пробвай да си пишеш кода сам. Не само да прекопираш.
 
От: Искам да уча PHP и да правя сайтове сам

Дано стигна и до обектното програмиране!
Сега ми се иска да захвана следващата стъпка. Чудя се каква задача да си поставя. Иска ми се да направя прост сайт с ъплоад на някаква информация... може би картинки и текст. И да го вържа с база данни.
 
От: Искам да уча PHP и да правя сайтове сам

За тренировка и учене на PHP ти трябва професионална среда с Debugger. Така ще можеш да пускаш кода ред по ред, да следиш как се променят стойностите на променливите, да видиш на къде тръгва кода след IF и т.н. Много е полезно и важно. Забрави "уроците" от училище и университета - там преподават хора, които не си вадят хляба с програмиране.

Свали си NuSphere 9 - не е идеално, но е всичко в едно - PHP писане на код, Debugger, и вграден Web Server за тестовете.
 
От: Искам да уча PHP и да правя сайтове сам

Така с тия парчета код които пишеш се научаваш по-малко естествено но моят съвет е да си изтеглиш или закупиш някоя книга и да започнеш по нея за да видиш как реално се случва планиране и разработка на някакво приложение и е важно да се придържаш към някакви стандарти които могат да ти се сторят абсурдни отначало но с времето когато кода нарасне ще разбереш че са много важно нещо ;)

И един съвет от мен. Ако някой ден искаш да си изкарваш прехраната от backend не използвай frameworks като cake и тем подобни докато не се научиш да програмираш. Да лесни са за използване по малко код се пише доста работа ти спестяват но те учат на мързеливост и така ти пропускаш доста важни неща.

Хората са пропуснали тук да ти дадът линк към най-ценния сайт за програмистите http://stackoverflow.com/. Ако имаш някакъв въпрос то там вече е зададен и е решен проблема.

За тренировка и учене на PHP ти трябва професионална среда с Debugger. Така ще можеш да пускаш кода ред по ред, да следиш как се променят стойностите на променливите, да видиш на къде тръгва кода след IF и т.н.

Това не е вярно. Ти сам трябва да прецениш на къде ще отидат нещата след if или else или каквото и да било.В смисъл препоръчелно е пък всеки може да ползва каквото му е кеф. Просто трябва да се мисли когато се пише а не да се пише на общо основание.За тренировка на php ти трябва web server,редактор и error.log (just in case)
 
Последно редактирано:
От: От: Искам да уча PHP и да правя сайтове сам

Това не е вярно. Ти сам трябва да прецениш на къде ще отидат нещата след if или else или каквото и да било.В смисъл препоръчелно е пък всеки може да ползва каквото му е кеф. Просто трябва да се мисли когато се пише а не да се пише на общо основание.За тренировка на php ти трябва web server,редактор и error.log (just in case)

Системата на преподаване в България залага точно на този подход - не ползвайте дебъгери, не гледайте как стават на практика нещата, пишете код на лист с химикал :) Започнал съм да програмирам много преди да се срещна и с тази система и за мен тя не помага. За научаване трябва практика и много debug-ване. За взимане на изпити и конкурси по програмиране е без значение. Лошият навик да не се ползват debug-ери си личи в хилядите ужасни творения на "софтуер" в малката ни страна :) Съвета ми си остава - debug-вай до дупка и се учи - с практиката сам ще станеш debug-ер :)
 
От: Искам да уча PHP и да правя сайтове сам

Много благодаря на всички за предложенията и съветите! Не се съмнявайте, че внимателно чета, всичко, което сте ми написали.
@alabalist, търсих за NuSphere 9, но не я намерих кракната. Намерих 7-ма версия, която се инсталира доста проблемно на Win7 64bit. А после въобще не искаше да се стартира. Проверих кои други редактори поддържат дебъгване на PHP и открих в пиратебей друга много хубава програма - Zend Studio 11. Сега се опитвам да се оправя с нея. Пробвах да настроя и SublimeText да дебъгва, но не ми се получи.

Относно PHP-то - хем е много лесно, хем е много трудно. Спъва ме много най-вече липсата на опит. Примерно - изтеглих си много книги за PHP и започнах да чета. Оказа се, че повечето предлагат код за MySQL, а пък в новите уроци пише, да не се използва MySQL-функциите, а да се ползва PDO или MySQLi. Разбрах как да си разделям кода на файлове и защо скрипта ми вади грешка, когато използвам include, вместо require_once. Разбрах, че е пълно с класове, които можеш да ползваш, без да разбираш и капка от това, което пише в тях. Сега тренирам с един такъв клас за качване и преоразмеряване на картинки. Искам да стигна нивото, да мога да пиша и аз такива класове.
Безкрайно ми е интересно и всяка свободна минута чета, гледам видео уроци или пиша някакъв код. Програмирането на PHP може да те погълне.
Скоро ще стигна до създаването на първия ми сайт с ъплудване на интересни картинки. Иска ми се да добавя коментари и гласуване, но още ми е твърде далече подобен код. Но щом някой друг го е научил и аз ще го науча, чак много прост не съм, така че ще се справя.
 
От: Искам да уча PHP и да правя сайтове сам

Научи основата, как да оперираш с масиви, цикли и оператори, а след това се преориентирай към някой ООП фреймуърк, като zend, codeigniter, symfony, Yii..

Много по лесно се работи. Аз примерно пиша с codeigniter, а ако нещо липсва, намирам решение и го преправям да работи с него. После вече си знам как става, ако потрябва пак :).
 
От: Искам да уча PHP и да правя сайтове сам

Ще се включа и аз. Напомняш ми на мен, когато започнах преди няколко години. Беше доста трудно в началото поради липса на добри уроци. Имаше доста хора, които не си разбираха съвсем нещата, но правеха уроци колкото да покажат, че знаят нещо, или просто да сложат повече инфо в някъв форум, сайт, етц.
Уроците на gatakka са ок долу-горе. Ще научиш разни неща около езика. Mysql уроците са ок долу-горе, но за да го научиш добре ти трябва някоя книга, където се започва с информация за relational algebra / calculus. Без нея няма да можеш да правиш добри ефикасни заявки или поне да знаеш как работи базата данни на основно ниво без оптимизации.
Прочети ето тази книга Ramakrishnan r. & Gehrke J.: Database Management Systems, 3rd. ed, McGraw-Hill, 2003 до страница ~173. Всичко друго ще ти е в помощ, но задължително я прочети до там поне.
Та, както казах, напомняш ми на мен. Започнах с PHP, но след известно време разбрах, че няма смисъл да продължавам с него. Не е интересен, не можеш да правиш кой знае какво с него, други езици предлагат същото за уеб, но пък имат и други страни. Примерен езици биха били Python, Java, Ruby, Javascript.
С тези 4 спокойно можеш да се занимаваш с уеб разработка (с някоя библиотека в случая) и съответно програмисти за точно тези езици се търсят много, защото това означава качество. Сериозни фирми търсят и са готови да плащат добри заплати. От друга страна при PHP има доста програмисти особено в България. Спомням си как всички масово го учиха и пишеха на него, но просто няма смисъл. Не предлага нищо и не е езикът на бъдещето със сигурност. Ще губи популярност лека-полека и по някое време ще се задържи заради code base-a, който вече е налице.
Ако не гониш високи цели, то PHP ще е добре за теб. Проблемът е, че по някое време ще стигнеш тавана и ще трябва да почнеш отначало. PHP също ще те е научиш вече на много лоши практики и ще ти е трудно да мигрираш към по-нормален език и да научиш нещата правилно.
Аз лично бих ти препоръчал да почнеш Java. Езикът е сравнително лесен, приятен и има много възможности - десктоп, уеб, мобилни приложения. Има и някакво количесто игри, които са дори писани на него. Овен това учи на добри практики. Няма да те научи на всичко, но ще те научи на много повече от php.
Ето ти добри уроци за Java:

http://mooc.cs.helsinki.fi/programming-part1
http://mooc.cs.helsinki.fi/programming-part2

Онлайн безплатни уроци. Това е материалът, по който учат студенти в Uni of Helsinki. Доста са добри. На английски са, но като програмист се изисква от теб да знаеш английски. Ще те научат на основни идеи в програмирането и изрази, ооп, структури от данни, доста прост GUI и т.н.
След тях ще можеш да продължиш с бази данни - тези, които ти пратих. И после може да продължиш с уеб дев с Java или евентуално към нещо друго.
Това ще те доведе до никъде. Ще има още много да учиш. Просто помни, че да подхождаш "алчно" (грийди) няма да ти даде най-добрия отговор в твоя житейски път.
Но дори да си кажеш. че Java не е за теб, пак ще си научиш полезни неща за следващия ти език или интерес или там квото ще да е.
 

Горе