<?xml version="1.0"?>
<rss version="2.0"><channel><title>Po stronie serwera Latest Topics</title><link>https://unit1.pl/f/5-po-stronie-serwera/</link><description>Po stronie serwera Latest Topics</description><language>en</language><item><title>Poradnik ABC web developera</title><link>https://unit1.pl/topic/4733-poradnik-abc-web-developera/</link><description><![CDATA[
<p>Witam, </p>
<p> </p>
<p>chciałbym podzielić się z poradnikiem mojego autorstwa: <a href="https://f4wst53dd.gitbooks.io/abc/content/" rel="external nofollow">https://f4wst53dd.gitbooks.io/abc/content/</a></p>
<p> </p>
<p>Jest oparty na moich doświadczeniach, oraz przemyśleniach. Być może komuś się on może przydać, żeby mieć sugestię na jakich elementach, technologiach warto skupić się w pierwszej kolejności. Niektóre rozdziały mogą być przydatne także dla nie-web developerów. </p>
<p> </p>
<p>Zawiera on m.in.: </p>
<p> </p>
<p>- listę przydatnych/wymaganych umiejętności technicznych i nietechnicznych </p>
<p>- co powinien zawierać projekt na rekrutację </p>
<p>- jak pisać cv, jak wygląda proces rekrutacji </p>
<p>- jak wygląda praca w metodyce SCRUM </p>
<p>- na jakim sprzęcie pracować </p>
<p>- gdzie szukać wiedzy/newsów z branży IT </p>
<p>- słowniczek najważniejszych pojęć z programowania/web developmentu </p>
<p> </p>
<p>Poradnik był pisany jako poradnik stosunkowo uniwersalny, nie zawiązany z konkretnym językiem/frameworkiem. Nie jest on jeszcze ukończony, zatem poproszę o opinie, uwagi itp. <img src="https://unit1.pl/applications/core/interface/js/spacer.png" alt=":)" data-src="https://unit1.pl/uploads/emoticons/default_smile.png"></p>
]]></description><guid isPermaLink="false">4733</guid><pubDate>Sun, 11 Dec 2016 17:14:12 +0000</pubDate></item><item><title>Jak zrobi&#x107; panel logowania w PHP , &#x17C;eby user by&#x142; zalogowany na ka&#x17C;dej podstronie .</title><link>https://unit1.pl/topic/4691-jak-zrobi%C4%87-panel-logowania-w-php-%C5%BCeby-user-by%C5%82-zalogowany-na-ka%C5%BCdej-podstronie/</link><description><![CDATA[
<p>Witam, mam pytanie zrobiłem prosty system logowania z poradnika z pewnej strony smile.gif następnie "podpiąłem" ten panel logowania do mojej strony , która napisałem w html , działa OK ale pytanie jak zrobić żeby działało na każdej podstronie serwisu .. tzn. żeby użytkownik był zalogowany cały czas nawet jeśli przejdzie na podstronę (obecnie jak kliknę w inna podstronę to się wylogowuje , nawet jak przejdę na stronę główną zaraz po zalogowaniu) jak to napisać w php? Jestem początkującym , proszę o wyrozumiałość smile.gif P.S. wiem , że nikt nie napisze tego za mnie , nie tego oczekuje , tylko proszę o jakieś wskazówki , pokazanie jak to zrobić..</p>
<p> </p>
<p></p>
<pre class="ipsCode">&lt;?php

   	session_start();

   	if((!isset($_POST['login'])) || (!isset($_POST['haslo'])))
   	{
       	header('Location: index.html');

       	exit();
   	}
   	require_once "connect.php";

   	$polaczenie = new mysqli($host, $db_user, $db_password, $db_name);

   	if ($polaczenie-&gt;connect_errno!=0)
   	{
       	echo "Error:".$polaczenie-&gt;connect_errno;
   	}
   	else

   	{
    	$login = $_POST['login'];
    	$haslo = $_POST['haslo'];

     	$login = htmlentities($login,ENT_QUOTES, "UTF-8");
     	$haslo = htmlentities($haslo,ENT_QUOTES, "UTF-8");


   	if($rezultat = @$polaczenie-&gt;query(
   	sprintf("SELECT * FROM uzytkownicy WHERE user='%s' AND pass='%s'",
   	mysqli_real_escape_string($polaczenie,$login),
   	mysqli_real_escape_string($polaczenie,$haslo))))
   	{
       	$ilu_userow = $rezultat-&gt;num_rows;
       	if($ilu_userow&gt;0)
       	{
           	$_SESSION['zalogowany'] = true;

           	$wiersz = $rezultat-&gt;fetch_assoc();
           	$_SESSION['id'] = $wiersz['id'];
           	$_SESSION['user'] = $wiersz['user'];
           	$_SESSION['email'] = $wiersz['email'];
           	$_SESSION['kontovip'] = $wiersz['kontovip'];


           	unset($_SESSION['blad']);
           	$rezultat-&gt;free_result();

           	header('Location: profile.php');

       	}else{

           	$_SESSION['blad'] = '&lt;span style="color:red"&gt; Nieprawidłowy login lub hasło!&lt;/span&gt;';
           	header('Location: index.php');
       	}

   	}
   	$polaczenie-&gt;close();

   	}

?&gt;


dalsza cześć kod plik profile.php

&lt;?php

session_start();

if (!isset($_SESSION['zalogowany']))
   	{
       	header('Location: index.html');
       	exit();
   	}

?&gt;

logout.php


   	&lt;?php

   	echo "&lt;p&gt;Witaj ".$_SESSION['user'].'![&lt;a href="logout.php"&gt;Wyloguj się&lt;/a&gt;]';
   	echo "&lt;p&gt;&lt;b&gt;E-mail&lt;/b&gt;:".$_SESSION['email'];
   	echo "|&lt;b&gt;Konto Vip&lt;/b&gt;:".$_SESSION['kontovip']."&lt;/p&gt;";
?&gt;

w indeksie mam wklejone to :

&lt;?php
   	session_start();

   	if ((isset($_SESSION['zalogowany'])) &amp;&amp; ($_SESSION['zalogowany']==true))
   	{
       	header('Location: profile.php');
       	exit();
   	}
?&gt;

&lt;?php
                   	if(isset ($_SESSION['blad'])) echo $_SESSION['blad'];

                       	?&gt;
	formularz logowania w html:

Zaloguj się: &lt;br /&gt;
                   	&lt;br /&gt;

                    	&lt;form action="zaloguj.php" method="post"&gt;
                       	Login: &lt;br/&gt; &lt;input type="text" name="login" /&gt; &lt;br /&gt;
                       	Hasło: &lt;br /&gt; &lt;input type="password" name="haslo" /&gt;

                       	&lt;input type="submit" value="Zaloguj" /&gt;

                   	&lt;/form&gt; </pre>
<div></div>
<p></p>
]]></description><guid isPermaLink="false">4691</guid><pubDate>Thu, 18 Feb 2016 15:02:53 +0000</pubDate></item><item><title>Specyficzne &#x15B;cie&#x17C;ki do kategorii w Wordpressie</title><link>https://unit1.pl/topic/4667-specyficzne-%C5%9Bcie%C5%BCki-do-kategorii-w-wordpressie/</link><description><![CDATA[
<p>Chciałbym mieć na stronie dwie kategorie postów pisanych w Wordpressie: newsy i artykuly. Chciałbym, żeby te kategorie miały takie adresy:</p>
<p><a href="http://strona.pl/newsy" rel="external nofollow">http://strona.pl/newsy</a></p>
<p><a href="http://strona.pl/artykuly" rel="external nofollow">http://strona.pl/artykuly</a></p>
<p> </p>
<p>Teraz mam tak to ustawione:</p>
<p><a href="http://strona.pl/category/newsy" rel="external nofollow">http://strona.pl/category/newsy</a></p>
<p><a href="http://strona.pl/category/artykuly" rel="external nofollow">http://strona.pl/category/artykuly</a></p>
<p> </p>
<p>Czy da się to "category" jakoś usunąć z adresów kategorii?</p>
]]></description><guid isPermaLink="false">4667</guid><pubDate>Tue, 24 Nov 2015 13:11:52 +0000</pubDate></item><item><title>[php] Liczba filar&#xF3;w proste zad. mat. i b&#x142;&#x105;d do wykrycia</title><link>https://unit1.pl/topic/4495-php-liczba-filar%C3%B3w-proste-zad-mat-i-b%C5%82%C4%85d-do-wykrycia/</link><description><![CDATA[
<p>Mam oto taki kod:</p>
<p></p>
<pre class="ipsCode">
class Filary {

 private $wys;
 private $dl;
 private $coile;

 public function __construct($wys,$dl,$coile) {//Pobiera wysokość, długość i odległość między filarami w mm
   $this-&gt;wys = (int)$wys;
   $this-&gt;dl = (int)$dl;
   $this-&gt;coile = (int)$coile;
 }

 private function wezIle() {//Oblicza ile filarów
   $wynik = floor($this-&gt;dl/$this-&gt;coile);
   if ($this-&gt;dl%$this-&gt;coile != 0) {
     $wynik++;
   }
   return $wynik;
 }

 private function wezStNachylenia() {//Oblicza stopień nachylenia korzystając że 1 to 45st.
   return ($this-&gt;wys/$this-&gt;dl)*45;
 }

 public function wezWys($filar) {//Oblicza wysokość z zależności że tg(a) = L/odległość od początku drogi z filarami
   return round(tan(deg2rad($this-&gt;wezStNachylenia()))*($this-&gt;coile*$filar),2);
 }

 public function wezSlupy($szer,$warstw) {//Zwraca tabelę z powierzchnią słupa filarowego, jego wysokością oraz szerokością i liczbą wartstw (do obliczenia całkowitej powierzchni materiału pod filar)
   $tab = array();
   for ($i=1;$i&lt;=$this-&gt;wezIle();$i++) {
     $wys = $this-&gt;wezWys($i);
     $tab[$i] = array('S'=&gt;$wys*$szer,'wys'=&gt;$wys,'szer'=&gt;$szer,'ile'=&gt;$warstw);
   }
   return $tab;
 }

}
$f = new Filary(65,1700,100);
print_r($f-&gt;wezSlupy(18,5));
echo $f-&gt;wezWys(18);
</pre>
<div></div>
<p></p>
<p>No i gdzieś tu jest błąd, bo filar 18 ma wysokość 51.07 a nie zbliża się do wartości 65mm i co tu jest źle, bardzo byłbym wdzięczny za wskazówki,</p>
<p> </p>
<p>pozdrawiam,</p>
<p>Marek</p>
<p> </p>
<p>P.S. A i nie pytajcie po co to jest. Mogę zapewnić, że nie jest to ze szkoły czy studiów ale zamiast liczyć na kalkulatorze postanowiłem by policzyło php napisałem i po chwili okazało się, że nie działa bo przecież ostatni filar powinien mieć wysokość równą podanej także jeszcze raz dzięki za info gdzież to ja źle zrobiłem.</p>
]]></description><guid isPermaLink="false">4495</guid><pubDate>Sun, 08 Dec 2013 20:10:53 +0000</pubDate></item><item><title>Instalacja Wordpressa na portalu</title><link>https://unit1.pl/topic/4666-instalacja-wordpressa-na-portalu/</link><description><![CDATA[
<p>Chciałbym skorzystać z Wordpressa, ale nie na blogu, tylko na portalu, w którym oprócz nowości i artykułów do pisania i komentowania których chciałbym użyć Wordpressa, mam jeszcze cały portal z wieloma innymi opcjami, który ma już swój własny szablon. Jest to strona troszkę podobna pod względem układu do tej:</p>
<p><a href="http://pclab.pl/" rel="external nofollow">http://pclab.pl/</a></p>
<p> </p>
<p>tylko o zupełnie innej tematyce, no i oczywiście nie tak popularna <img src="https://unit1.pl/applications/core/interface/js/spacer.png" alt=":)" data-src="https://unit1.pl/uploads/emoticons/default_smile.png"></p>
<p> </p>
<p>W takim przypadku chciałbym do tego podejść w ten sposób, że skopiuję kod mojej głównej strony index.php do plików Wordpressa: Szablon strony głównej (index.php) oraz Pojedynczy wpis (single.php) (i tylko wstawię tam kod Wordpressa w odpowiednie miejsca), ponieważ chcę, żeby działy nowości i artykuły miały ten sam szablon jak strona główna, a z wielu innych stron Wordpressa typu Stopka (footer.php), czy Panel boczny (sidebar.php) usunąłbym całkowicie kod, bo tak jak mówię, to nie jest typowy szablon Wordpressa (szablon nie pod bloga, tylko pod portal) i większość rzeczy, które są w tym szablonie nie są mi tam potrzebne. Chciałbym to zrobić jak najprościej, po linii najmniejszego oporu, ale czy takie podejście będzie dobre?</p>
]]></description><guid isPermaLink="false">4666</guid><pubDate>Mon, 23 Nov 2015 09:42:07 +0000</pubDate></item><item><title>Integracja Wordpressa i phpBB</title><link>https://unit1.pl/topic/4665-integracja-wordpressa-i-phpbb/</link><description><![CDATA[
<p>Do integracji Wordpressa i phpBB użyję albo jakiegoś mostu dedykowanego do integracji tych dwóch systemów:</p>
<p><a href="https://wordpress.org/plugins/tags/phpbb" rel="external nofollow">https://wordpress.org/plugins/tags/phpbb</a></p>
<p> </p>
<p>albo skryptu który pozwoli na logowanie do Worpdressa z bazy danych z <strong>DOWOLNEGO</strong> zewnętrznego systemu:</p>
<p><a href="https://pl.wordpress.org/plugins/external-db-auth-reloaded/" rel="external nofollow">https://pl.wordpress.org/plugins/external-db-auth-reloaded/</a></p>
<p> </p>
<p>Nigdy nie używałem czegoś takiego i na prawdę nie wiem, które z tych rozwiązań będzie lepsze? Drugie rozwiązanie wydaje się kuszące (chociażby dlatego, że można zintegrować Wordpressa z <strong>najnowszą</strong> wersją phpBB, a w przypadku tych mostów dedykowanych różnie z tym bywa, większość nie obsługuje najnowszej wersji phpBB), ale czy nie ma jakichś ograniczeń?</p>
]]></description><guid isPermaLink="false">4665</guid><pubDate>Fri, 20 Nov 2015 13:33:55 +0000</pubDate></item><item><title>[CakePHP] Blowfish i b&#x142;&#x105;d podczas logowania</title><link>https://unit1.pl/topic/4427-cakephp-blowfish-i-b%C5%82%C4%85d-podczas-logowania/</link><description><![CDATA[
<p>Problem jak w temacie. Załączam poniżej pełny kod.</p>
<p>Kod AppControllera</p>
<p></p>
<pre class="ipsCode">
class AppController extends Controller {

 public $helpers = array('Html','MojHtml','Opcje1');
 public $components = array(
'Session',
'Auth' =&gt; array(
 	'loginRedirect' =&gt; array('controller'=&gt;'Profil','action'=&gt;'index'),
 	'logoutRedirect' =&gt; array('controller'=&gt;'Start','action'=&gt;'index'),
 	'autheticate' =&gt; array(
   	'Blowfish' =&gt; array(
     	'fields' =&gt; array('username'=&gt;'login','password'=&gt;'haslo'),
     	'userModel' =&gt; 'Profil'
   	)
 	),
)
 );

}
</pre>
<div></div>
<p></p>
<p></p>
<pre class="ipsCode">
//Kod Kontrolera Profil

App::uses('Security','Utility');
class ProfilController extends AppController {

 public $uses = array('Profil');

 public function beforeFilter() {
parent::beforeFilter();
$this-&gt;Auth-&gt;allow('dolacz','zaloguj');
 }

 public function zaloguj() {
if ($this-&gt;request-&gt;is('post')) {
 	//$this-&gt;request-&gt;data['Profil']['haslo'] = Security::hash($this-&gt;request-&gt;data['Profil']['haslo'],'blowfish');
 	if ($this-&gt;Auth-&gt;login()) {
   	return $this-&gt;redirect($this-&gt;Auth-&gt;redirectUrl());
 	}
 	else {
   	$this-&gt;Session-&gt;setFlash(__('Nieprawidłowe hasło lub login!'));
 	}
}
 }

 public function wyloguj() {
$this-&gt;redirect($this-&gt;Auth-&gt;logout());
 }

}
</pre>
<div></div>
<p></p>
<p></p>
<pre class="ipsCode">
//Kod Modelu Profil

App::uses('AppModel','Model');
App::uses('Security','Utility');
class Profil extends AppModel {

 public $name = 'Profil';
 public $useTable = 'uzytk';

 public $validate = array(
'login' =&gt; array(
 	'required' =&gt; array(
   	'rule' =&gt; array('notEmpty'),
   	'message' =&gt; 'Login jest polem wymaganym!'
 	)
),
'haslo' =&gt; array(
 	'required' =&gt; array(
   	'rule' =&gt; array('notEmpty'),
   	'message' =&gt; 'Hasło jest polem wymaganym!'
 	)
)/*,
'mejl' =&gt; array(
 	'required' =&gt; array(
   	'rule' =&gt; array('email'),
   	'message' =&gt; 'Mejl jest polem wymaganym!'
 	)
)*/
 );

 public function beforeSave($options = array()) {
if (isset($this-&gt;data['Profil']['haslo'])) {
 	$this-&gt;data['Profil']['haslo'] = Security::hash($this-&gt;data['Profil']['haslo'],'blowfish');
}
$this-&gt;data['Profil']['status'] = 1;
return true;
 }

}
</pre>
<div></div>
<p></p>
<p>No na wszystkich możliwych miejscach sprawdzałem ten kod tak jak podaje ichże książka kucharska i w ogóle na innych wątkach poświęconych temu promlemowi i mi się wydaje że niczego nie zrobiłem źle ale dlaczego nie działa to nie wiem dlatego byłbym bardzo wdzięczny jeżeli ktoś pomoże. Dzięki</p>
<p> </p>
<p>P.S.</p>
<p>Kod widoku:</p>
<p></p>
<pre class="ipsCode">
&lt;div&gt;
&lt;p class="naglowek"&gt;Logowanie&lt;/p&gt;
&lt;?php
echo $this-&gt;Form-&gt;create('Profil');
echo $this-&gt;Form-&gt;input('login');
echo $this-&gt;Form-&gt;input('haslo');
echo $this-&gt;Form-&gt;end(__('Zaloguj'));
?&gt;
&lt;/div&gt;
</pre>
<div></div>
<p></p>
]]></description><guid isPermaLink="false">4427</guid><pubDate>Sun, 28 Apr 2013 14:44:46 +0000</pubDate></item><item><title>[php] Zaawansowane zapytania sql a Modele w frameworkach</title><link>https://unit1.pl/topic/4424-php-zaawansowane-zapytania-sql-a-modele-w-frameworkach/</link><description><![CDATA[
<p>Witam!</p>
<p> </p>
<p>Poza zdobyciem wiedzy co i jak to jednak jeszcze kolejna sprawa nie daje mi spokoju odnośnie ogólnego zagadnienia frameworków, które od niedawna staram się oswoić.</p>
<p> </p>
<p>Otóż czytam pewną książkę, która traktuje o symphony zendzie oraz o cake-u. I z tego co widzę, to wszystkie są oparte na modelach co oczywiście nie dziwi w końcu MVC ale zastanawia mnie jak z użyciem tych modeli ,,zamodelować'' jakieś skomplikowane zapytanie sql nie tylko takie, które jest powiązane z jedną tabelą niezależnie od tego czy to jest tabela produkty czy kategorieproduktow (dalej wybiera się dane z jednej tabeli)</p>
<p> </p>
<p>Zatem jak tu zastosować zapytanie:</p>
<p></p>
<pre class="ipsCode">
SELECT prod.opis, prod.id, plikiprod.plik
FROM prod
INNER JOIN katprod
ON katprod.idprod = prod.id
INNER JOIN plikiprod
ON plikiprod.idprod = prod.id
</pre>
<div></div>
<p></p>
<p>No a najlepiej połączyć to z tym że przy pewnych parametrach bierze się dane nie ze wszystkimi złączeniami.</p>
<p> </p>
<p>Mam nadzieję że dobrze myślę, że trzeba stworzyć dobrze ,,zamodelowany'' model ale jak, bo to co jest w tej książce zawsze bazuje na rozszerzeniu klasy np. AppModel (jak to jest w cake) ale nigdy nie wspomniano w tej pozycji, żeby łączyć wiele tabel na raz w modelu lub modele w jeden no nie mam o tym pojęcia także wierzę, że ktoś rozumie o co chodzi.</p>
]]></description><guid isPermaLink="false">4424</guid><pubDate>Thu, 18 Apr 2013 20:41:38 +0000</pubDate></item><item><title>[php] Domkni&#x119;cia i self</title><link>https://unit1.pl/topic/4373-php-domkni%C4%99cia-i-self/</link><description><![CDATA[
<p>Witam!</p>
<p></p>
<pre class="ipsCode">
//Klasa statyczna Opis
static private function regexp($tekst,$typ) {
return preg_replace_callback(self::$$typ,function($zna) use ($typ) {
return Opis::span($zna[0],$typ);
},$tekst);
}
</pre>
<div></div>
<p></p>
<p>I problem pojawia się taki: jak w klauzuli use umieścić referencję do self, ponieważ inaczej metoda Opis::span musi być publiczna.</p>
<p> </p>
<p>Bardzo będę wdzięczny za pomoc, pozdrawiam serdecznie!</p>
]]></description><guid isPermaLink="false">4373</guid><pubDate>Sun, 30 Dec 2012 18:24:10 +0000</pubDate></item><item><title>Problem</title><link>https://unit1.pl/topic/4343-problem/</link><description><![CDATA[
<p><strong>Warning</strong>: mysql_connect() [<a href="http://infraction.xaa.pl/install/function.mysql-connect" rel="external nofollow">function.mysql-connect</a>]: Access denied for user 'infracti_serv'@'localhost' (using password: YES) in <strong>/home/infracti/public_html/install/step06.php</strong> on line <strong>130</strong></p>
<p><strong>ERROR:</strong></p>
<p>No connection to MySQL</p>
<p> </p>
<p>Mam taki blad przy instalowaniu webspella ... Ktos pomoze?</p>
]]></description><guid isPermaLink="false">4343</guid><pubDate>Thu, 18 Oct 2012 17:31:46 +0000</pubDate></item><item><title>[php] Array i wyszukiwanie po klasie</title><link>https://unit1.pl/topic/4149-php-array-i-wyszukiwanie-po-klasie/</link><description><![CDATA[
<p>Jak zrobić wyszukiwanie elementów tablicy, które zwierają obiekty klasy JakaśKlasa:</p>
<p></p>
<pre class="ipsCode">array_keys($tabela,JakaśKlasa);</pre>
<div></div>
<p>Tak nie działa....</p>
<p> </p>
<p>dzięki z wszelkie sugestie i pozdr,</p>
]]></description><guid isPermaLink="false">4149</guid><pubDate>Wed, 09 Nov 2011 19:15:35 +0000</pubDate></item><item><title>Forum i chat</title><link>https://unit1.pl/topic/4659-forum-i-chat/</link><description><![CDATA[
<p>Chciałbym, żeby na głównej stronie był shoutbox, a w subdomenie było forum, tzn:</p>
<p>shoutbox - strona.pl</p>
<p>forum - forum.strona.pl</p>
<p>Zależy mi, żeby formularz logowania był zarówno na stronie głównej, jak i w subdomenie forum i gdy użytkownik zaloguje się na stronie głównej (i może wówczas pisać w shoutbox), to jest również automatycznie zalogowany na podstronie forum (i może wówczas pisać posty na forum) i odwrotnie. Czyli jedno konto użytkownika będzie to pisania w shoutbox i forum.</p>
<p>Czy moglibyście polecić jakieś forum, które posiada również shoutbox, który da się przenieść z subdomeny na stronę główną?</p>
<p> </p>
<p>Z tego co patrzyłem, to phpBB ma coś takiego jak "MINI-CHAT" (który wygląda po prostu na zwykły shoutbox) i jest on oczywiście na stronie forum. Czy z przeniesieniem tego shoutboxa na stronę główna serwisu byłoby dużo pracy?</p>
]]></description><guid isPermaLink="false">4659</guid><pubDate>Tue, 27 Oct 2015 14:43:15 +0000</pubDate></item><item><title>Czy dodawanie komentarzy w systemie news&#xF3;w phpns jest bezpieczne?</title><link>https://unit1.pl/topic/4660-czy-dodawanie-komentarzy-w-systemie-news%C3%B3w-phpns-jest-bezpieczne/</link><description><![CDATA[
<p>Korzystam na stronie z systemu newsów phpns:</p>
<p><a href="http://sourceforge.net/projects/phpns/" rel="external nofollow">http://sourceforge.net/projects/phpns/</a></p>
<p>Do samych newsów system spisuje się dobrze, ale chciałbym włączyć komentarze pod newsami i nie jestem pewny co do bezpieczeństwa. Phpns nie wykorzystuje bowiem PDO tylko zwykły MySQL do operacji na bazach danych.</p>
<p>Czy Waszym zdaniem phpns jest na tyle bezpieczny, żeby np. ktoś nie skasował mi któregoś dnia całej bazy danych za pomocą SQL Injection? A może lepszym wyjściem będzie wykorzystanie zewnętrznego systemu komentarzy np. Disqus (który pewnie korzysta z PDO)?</p>
]]></description><guid isPermaLink="false">4660</guid><pubDate>Wed, 28 Oct 2015 11:21:42 +0000</pubDate></item><item><title>Problem UPLOAD na serwer HOME</title><link>https://unit1.pl/topic/4045-problem-upload-na-serwer-home/</link><description><![CDATA[
<p>Witam </p>
<p>
Otóż wczoraj dostałem dane do serwera klienta na HOME - aplikację napisałem i testowałem na swoim serwie na Netmarku ale nie działa mi na HOME UPLAD plików - czyli ze strony wrzucam coś na serwer do folderu(prawa są OK).</p>
<p>
Już z nimi się kontakowałem ale jakoś mi nie potrafią pomóc - już podmieniałem skrypty, cuda na kiju już robię i nie działa.</p>
<p>
Macie tam konta o co chodzi?</p>
]]></description><guid isPermaLink="false">4045</guid><pubDate>Fri, 10 Jun 2011 08:30:24 +0000</pubDate></item><item><title>Problem z ustawieniem wirtualnych host&#xF3;w</title><link>https://unit1.pl/topic/4416-problem-z-ustawieniem-wirtualnych-host%C3%B3w/</link><description><![CDATA[
<p>Witam!</p>
<p> </p>
<p>Tym razem pomyślałem, że fajnie byłoby sobie założyć wirualne hosty na komputerze w celu zgrabniejszego korzystania z kilku projektów które mam na dysku.</p>
<p>Poszukałem sobie poradnika (mimo że identycznie do niego jest napisane w książce, którą mam przed sobą) A poradnik pod adresem: <a href="http://blog.kowalczyk.cc/2010/05/07/apache-tworzenie-wirtualnych-hostow-w-systemie-windows/" rel="external nofollow">http://blog.kowalczy...stemie-windows/</a> No i zrobiłem wszystko co trzeba, czyli:</p>
<p> </p>
<p>1.</p>
<p>Zedytowałem plik konfiguracji Apache czyli usunąłem sobie # spod instrukcji include  do postaci </p>
<pre class="ipsCode">Include conf/extra/httpd-vhosts.conf</pre>
<div></div>
<p></p>
<p> </p>
<p>2.</p>
<p>Dodałem wirutalny host w tymże dołączanym pliku do postaci</p>
<p>NameVirtualHost *:80</p>
<p>. . .</p>
<p><virtualhost></virtualhost></p>
<p>  ServerName zf.localhost</p>
<p>  DocumentRoot D:/Dokumenty/Witryna/zf/</p>
<p>  SetEnv APPLICATION_ENV "development"</p>
<p>  <directory d:></directory></p>
<p>   DirectoryIndex index.php</p>
<p>   AllowOverride All</p>
<p>   Order allow,deny</p>
<p>   Allow from all</p>
<p>  </p>
<p></p>
<p> </p>
<p>3.</p>
<p>Naturalnie nie zapomniałem o pliku hosts z C:\Windows\System32\drivers\etc gdzie zmiany są takie: </p>
<pre class="ipsCode">127.0.0.1 zf.localhost
127.0.0.1 localhost</pre>
<div></div>
<p></p>
<p> </p>
<p>4.</p>
<p>Restart serwera apache jak i systemu windows (wer. 7)</p>
<p> </p>
<p>A wynik jest taki, że działa mi po staremu, czyli po wpisaniu 127.0.0.1/ jest wyświetlony index.php z folderu Witryna/ natomiast po wpisaniu np. 127.0.0.1/projekt/ jest wyświetlona witryna z folderu projekt.</p>
<p>Z kolei chcąc wejść na adres zf.localhost pojawia się komunikat Nie można odnaleźć serwera.</p>
<p> </p>
<p>Dlatego moje pytanie jest takie: Co robię nie tak i co jeszcze może mieć wpływ na to że zmiany które poczyniłem nie przynoszą żadnego efektu i wszystko jest po staremu?</p>
]]></description><guid isPermaLink="false">4416</guid><pubDate>Thu, 04 Apr 2013 10:00:22 +0000</pubDate></item><item><title>Jedna konfiguracja dla kilku wersji aplikacji</title><link>https://unit1.pl/topic/4521-jedna-konfiguracja-dla-kilku-wersji-aplikacji/</link><description><![CDATA[
<p>Hej,</p>
<p> </p>
<p>Mam mały dylemat w pracy. Posiadam 4 wersje aplikacji które muszę dość często podgrywać i denerwuje mnie ciągłe pamiętanie o nie podmnienianiu pliku konfiguracyjnego. Dlatego wykombinowałem sobie żeby zastąpić plik konfiguracyjny klasą konfiguracyjną która sama będzie się dostosowywać do wersji na której pracuje.</p>
<p> </p>
<p>Wszystko było by ok gdyby nie jestem malutki problem. Chodzi o hasła do bazy danych. O ile użytkowników rozwiązałem poprzez zastosowanie suffixu dla nazwy np. <strong>application</strong>, <strong>application_alpha</strong>, <strong>application_beta</strong>, <strong>application_developer</strong> o tyle ich haseł tak nie mogę zapisywać bo jak ktoś przejmie mi kontrolę na jednej z wersji to polegną wszystkie z góry na dół.</p>
<p> </p>
<p> </p>
<p>Pytanie brzmi jak wam się wydaje jak powinienem przechowywać hasła do bazy danych dla konkretnego użytkownika ? Żeby nie było sam wymyśliłem kilka rozwiązań</p>
<p> </p>
<p> </p>
<p>1. Przechowywanie części hasła, a pozostałą część dynamicznie dopisywać i hashować za pomocą jakiegoś algorytmu,</p>
<p>2. Przechowywać 1 hasło dla wszystkich kont,</p>
<p>3. Dopisywać suffix jak dla użytkowników.</p>
<p> </p>
<p> </p>
<p>Jedyne co chce osiągnąć to zabezpieczenie jednej wersji w przypadku zdobycia hasła do innej z wersji. Oczywiście wiem że będą one podatne na te same sztuczki. Jednak to temat na inny wątek.</p>
<p> </p>
<p> </p>
<p>Aha byłbym zapomniał. Aplikacja jest jedna i kolejne wersje to jedynie jej etapy przed wdrożeniem które musi przejść.Aplikacja jest dedykowana i nie rozpatrujemy przypadku wielu jej duplikacji z wersji produkcyjnej.</p>
<p> </p>
<p>1. Developerska</p>
<p>2. Beta</p>
<p>3. Alpha</p>
<p>4. Produkcja</p>
]]></description><guid isPermaLink="false">4521</guid><pubDate>Tue, 11 Feb 2014 12:41:01 +0000</pubDate></item><item><title>[php]PDO pobieranie &#x142;a&#x144;cucha znak&#xF3;w przetworzonego zapytania</title><link>https://unit1.pl/topic/4473-phppdo-pobieranie-%C5%82a%C5%84cucha-znak%C3%B3w-przetworzonego-zapytania/</link><description><![CDATA[
<p>Jak w PDO pobrać całe zapytanie, które po podpięciu parametrów jest bezpieczne do wykonania w postaci jakiej jest, czyli normalnie w formie tekstu ale już z zabezpieczonymi i unieszkodliwionymi znakami. Jednym zdaniem już po spreparowaniu wartości.</p>
<p> </p>
<p>Czy jest to pole klasy <strong>PDOStatement</strong>:</p>
<pre class="ipsCode">readonly string $queryString;</pre>
<div></div>
<p></p>
<p>A jeśli tak, to kiedy zawiera żądaną wartość łańcucha znaków odpowiadającemu przygotowanym wartościom przy pomocy np. bindValue?</p>
<p>Bo nie ma tu metody typu getTextStatement()...</p>
]]></description><guid isPermaLink="false">4473</guid><pubDate>Thu, 19 Sep 2013 13:01:33 +0000</pubDate></item><item><title>[php] Bezpieczne zalogowanie, a SESSION</title><link>https://unit1.pl/topic/4440-php-bezpieczne-zalogowanie-a-session/</link><description><![CDATA[
<p>Pomyślałem sobie, żeby sprawdzać przy każdym wykonaniu skryptu, jakie użytkownik ma uprawnienia. (zmieniają się powiedzmy, szybko i często)</p>
<p>No i jak zrobić, żeby użytkownik tylko raz podał hasło i swój login, a potem system sam sprawdzał na podstawie użytkownika i hasła jakie ma uprawnienia. Ale chodzi mi tutaj w jaki sposób (czyli jakie i jak przetworzone) przechować dane w sesji. Bo jedną rzecz słyszałem, żeby hasło w sesji kodować np. crypt() ale pojawia się tu problem, że jeżeli ktoś odkryje wartość zmiennej sesyjnej przez włam, to taka wartość będzie mogła być wykorzystana za każdym razem i za każdym razem będzie mógł zmienną sesyjną ustawić na tą wartość i być jak gdyby zalogowany z pełnią praw.</p>
<p> </p>
<p>Jak zatem rozwiązać to by sprawdzanie uprawnień było w każdym wykonaniu skryptu jednocześnie bez konieczności podawania hasła, a jedynie korzystania z zapisanego w sesji?</p>
]]></description><guid isPermaLink="false">4440</guid><pubDate>Mon, 27 May 2013 12:35:21 +0000</pubDate></item><item><title>[php] Przechwytywanie wyj&#x105;tk&#xF3;w w do&#x142;&#x105;czanych plikach</title><link>https://unit1.pl/topic/4439-php-przechwytywanie-wyj%C4%85tk%C3%B3w-w-do%C5%82%C4%85czanych-plikach/</link><description><![CDATA[
<p>Witam!</p>
<p> </p>
<p>Chciałbym się dowiedzieć jak możliwe jest przechwycenie błędów, które występują w pliku dołączanym przez dyrektywę np. include, bo</p>
<p></p>
<pre class="ipsCode">
try {
 { include 'plik.php'; }
}
catch (Exception $e) {
 { include 'blad.php'; }
}
</pre>
<div></div>
<p></p>
<p>Działa tak jak wiadomo, czyli catch wykona się dopiero kiedy to instrukcja include będzie zgłaszać błąd o sobie, że nie może załadować pliku, a ja chciałbym, żeby to zadziałało w przypadku kiedy błąd pojawi się wewnątrz pliku 'plik.php', bo np. jest tam odwołanie do nieistniejącego obiektu lub niezadeklarowanej funkcji. Oczywiście chciałbym wykluczyć modyfikowanie pliku 'plik.php'</p>
<p> </p>
<p>Można zatem to zrobić? W jaki sposób?</p>
]]></description><guid isPermaLink="false">4439</guid><pubDate>Sat, 25 May 2013 10:51:57 +0000</pubDate></item><item><title>Dost&#x119;p do narz&#x119;dnych publicznych p&#xF3;l klasy</title><link>https://unit1.pl/topic/4425-dost%C4%99p-do-narz%C4%99dnych-publicznych-p%C3%B3l-klasy/</link><description><![CDATA[
<p></p>
<pre class="ipsCode">
class Jedna {

  public $tab = array('a');

  public function wez() {
    return $this-&gt;tab;
  }

}

class Druga extends Jedna {

  public $tab = array('b');

  public function wez() {
   return parent::wez()+$this-&gt;tab;
  }

}

$druga = new Druga();
print_r($druga-&gt;wez());
</pre>
<div></div>
<p></p>
<p>I niestety zwraca tabelę array('b'), a nie oczekiwaną tabelę array('a','b')</p>
<p> </p>
<p>Co zatem zrobić by pole tab z podrzędnej klasy pobrać i wzbogacić o nie klasę nadrzędną?</p>
<p>Dzięki za pomoc, pozdr,!</p>
]]></description><guid isPermaLink="false">4425</guid><pubDate>Tue, 23 Apr 2013 10:29:37 +0000</pubDate></item><item><title>[php] Nowy projekt w ZF2</title><link>https://unit1.pl/topic/4419-php-nowy-projekt-w-zf2/</link><description><![CDATA[
<p>Witam!</p>
<p> </p>
<p>Mam oto taki adres do przykładu jak to zrobić: <a href="http://framework.zend.com/manual/2.1/en/user-guide/skeleton-application.html" rel="external nofollow">http://framework.zend.com/manual/2.1/en/user-guide/skeleton-application.html</a></p>
<p> </p>
<p>I wszystko byłoby fajnie gdyby nie to:</p>
<pre class="ipsCode">To install Zend Framework 2 into our application we simply type:
php composer.phar self-update
php composer.phar install

from the zf2-tutorial folder. This takes a while. You should see an output like:
</pre>
<div></div>
<p></p>
<p>Nie rozumiem tutaj tego jak powinno wyglądać całe polecenie. Próbowałem tak:</p>
<pre class="ipsCode">D:\Dokumenty\Witryna\zf2 php composer.phar install
oraz
php composer.phar install D:/Dokumenty/Witryna/zf2 
</pre>
<div></div>
<p></p>
<p>No i tu mi się pomysły kończą jak prawidłowo napisać to polecenie ,,z katalogu zf2...''</p>
<p> </p>
<p>Jakoś niby proste a nie umiem, no a na drugiej wersji pole cmd się pojawia ale potem znika i w folderze zf2 nic się nie zmienia a jest tylko rozpakowany ten plik zip z treścią master jak zresztą to opisane w tym poradniku.</p>
]]></description><guid isPermaLink="false">4419</guid><pubDate>Mon, 08 Apr 2013 17:10:22 +0000</pubDate></item><item><title>[php] Tworzenie plik&#xF3;w w locie i zapis do *.zip</title><link>https://unit1.pl/topic/4372-php-tworzenie-plik%C3%B3w-w-locie-i-zapis-do-zip/</link><description><![CDATA[
<p>Witam!</p>
<p> </p>
<p>Chciałbym, by pewien skrypt zczytywał z bazy pewne dane i stworzył wynik w postaci treści zwróconej do przeglądarki. Jednak te pobrane dane mają wyglądać w mniej więcej taki sposób, że jeden rekord daje w wyniku jeden plik, które to pliki po wypakowaniu tego ściągniętego wygenerowanego zip-a mają się w katalogu zwyczajnie znaleźć.</p>
<p> </p>
<p>Czyli skrypt wygeneruje pliki powiedzmy o nazwach: kopia1.txt konf.txt zachowa je np. do pliku dane.zip (ale bez zapisywania nawet tego pliku zip na dysku serwera), który po rozpakowaniu da te dwa przykładowe pliki.</p>
<p> </p>
<p>Na pewno takie coś jest do zrobienia ale ja niestety nie wiem od czego zacząć i bardzo byłbym wdzięczny o chociaż wskazówki jak się do tego zabrać. Dziękuję i jednocześnie Wszystkiego Najlepszego w Nowy Roku!</p>
]]></description><guid isPermaLink="false">4372</guid><pubDate>Sun, 30 Dec 2012 16:24:50 +0000</pubDate></item><item><title>[php] Pliki .htaccess</title><link>https://unit1.pl/topic/4353-php-pliki-htaccess/</link><description><![CDATA[
<p>Witam!</p>
<p> </p>
<p>Ktoś uzna, że urwałem się z choinki. Może to i dobrze, bo Święta dość blisko ale mam pytanie jak powinno się zedytować plik .htaccess do tego np. by zmienić w php ustawienie takie jak korzystanie z biblioteki Exif., bo mój plik .htaccess ma postać</p>
<p></p>
<pre class="ipsCode">Options -Indexes</pre>
<div></div>
<p></p>
<p>Do jakiej postaci muszę doprowadzić ten plik by php czytało Exify?</p>
]]></description><guid isPermaLink="false">4353</guid><pubDate>Wed, 14 Nov 2012 20:07:41 +0000</pubDate></item><item><title>[php][sql] Aktualizacja danych (tylko tych zmienionych)</title><link>https://unit1.pl/topic/4352-phpsql-aktualizacja-danych-tylko-tych-zmienionych/</link><description><![CDATA[
<p>Potrzebuję rozbudować pewną klasę wyświetlającą pewne dane o możliwość zapisywania zmian, które dani użytkownicy robią z danymi na tej stronie. Ale marzy mi się coś takiego jak jest PhpMyAdmin, bo tam aktualizując dany rekord wyświetlają się wszystkie dane natomiast jak zmienię tylko jedno pole, to ten program jest na tyle inteligentny, że zrobi UPDATE tabela set zmienna = 'nowa treść' WHERE id=1234 Nie zrobi natomiast tego, że wszystkie dane zostaną nadpisane niezależnie od tego czy się zmieniły czy nie i to że tego nie zrobi jest jak najbardziej prawidłowe.</p>
<p> </p>
<p>Nie mam pojęcia w jaki sposób jest to w PMA zrealizowane mi podchodzi do głowy jedynie chyba niemądry sposób, a mianowicie myślę, że najpierw sprawdza się jakie dane się zmieniły (wykonując zapytanie o pobranie danych z id=1234 porównanie i aktualizację tylko tych które się zmieniły. Tylko to pewnie nie tak jest zrobione, bo żeby coś zmodyfikować trzeba użyć dwóch, a nie jednego zapytania.</p>
<p> </p>
<p>Tak więc mam pytanie: W jaki sposób PMA stwierdza, które dane się zmieniły? I czy na pewno nie potrzebuje do tego zapytania pomocniczego.</p>
<p> </p>
<p>pozdr i dzięki za czas poświęcony na zapoznanie się postem <img src="https://unit1.pl/applications/core/interface/js/spacer.png" alt=":)" data-src="https://unit1.pl/uploads/emoticons/default_smile.png"></p>
<p>Marek</p>
<p> </p>
<p>P.S. Prosiłbym o nie pisanie, że sprawdź w źródle PMA, bo ja się w nim zupełnie nie łapię.</p>
]]></description><guid isPermaLink="false">4352</guid><pubDate>Wed, 14 Nov 2012 13:48:07 +0000</pubDate></item><item><title>[php] Obs&#x142;uga b&#x142;&#x119;d&#xF3;w (niepowielanie kodu)</title><link>https://unit1.pl/topic/4342-php-obs%C5%82uga-b%C5%82%C4%99d%C3%B3w-niepowielanie-kodu/</link><description><![CDATA[
<p>Mam problem raczej łatwy ale ostatnio pojawiała się konieczność jego rozwiązania, a ja sobie z tym nie radzę.</p>
<p>Otóż mam jakiś warunek do spełnienia, a ponieważ jest on używany wielokrotnie umieszczam go w metodzie:</p>
<pre class="ipsCode">private function czyJest($elmn) {
if (in_array($elmn,array('a','b','c'))) {
return true;
}
return false;
}</pre>
<div></div>
<p>Dalej piszę:</p>
<pre class="ipsCode">public function wezDane() {
if ($this-&gt;czyJest('f')) {
// jak jest robie to i to
}
else {
return 'Nie masz uprawnień do wykonania tej operacji';
}
}</pre>
<div></div>
<p>No i pojawia się problem co zrobić by tekst i całą instrukcję else{} nie powtarzać przy każdym wywołaniu metody czyJest() tylko żeby ten sam błąd w przypadku zwrócenia false był wyświetlony w danym miejscu, czyli gdzie wykona się metodę czyJest().</p>
]]></description><guid isPermaLink="false">4342</guid><pubDate>Thu, 18 Oct 2012 10:27:01 +0000</pubDate></item></channel></rss>
