Do rozmieszczania rzeczy na stronie (css) używacie flexa, floatów i postionów czy czegoś jeszcze innego?
Wersja do druku
Do rozmieszczania rzeczy na stronie (css) używacie flexa, floatów i postionów czy czegoś jeszcze innego?
float do struktury, position do poprawy o kilka px np wyrownanie checkboxa z labelem.
Tutaj panuje jedna ogolna zasada: nigdy nie ufaj danym ktore dostajesz od uzytkownika.
Przydadza ci sie rowniez takie metody/funkcje i inne* jak:
- mysqli::real_escape_string
- filter_var
- podstawowa znajomosc regular expression w polaczeniu z filter_var
- htmlentities przy wyswietlaniu danych dla uzytkownika
- przy grzebaniu w bazie jezeli to tylko mozliwe uzywaj prepared statements
- mialem wkoncu robic swoj kod w oparciu o PDO ale wciaz mi sie odwleka; przepraszam - nie bijcie
- powinenes jeszcze zwrocic uwage na ataki XSS
- tutaj powinno byc cos jeszcze, ale nie pamietam
z lenistwa poczyniłem takie szkaradzieństwo :p (byleby nie zapomnieć zmienić catcha przed wypuszczeniem kodu w świat...)
htmla w bazie nie będzie, bbcode poleci i parse w trakcie wyświetlania chybaKod:class DBO extends PDO
{
public function query($q, $t=0)
{
try
{
$z = $this->prepare($q);
$z->setFetchMode(PDO::FETCH_OBJ);
$z->execute();
switch($t)
{
case QT::SINGLE:
return $z->fetch();
case QT::MULTI:
return $z->fetchAll();
case QT::NR:
return NULL;
}
return $z->fetch();
}
catch(PDOException $e)
{
echo $e->getMessage();
}
return NULL;
}
public function __construct($a, $b, $c)
{
parent::__construct($a, $b, $c);
$this->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
}
}
abstract class QT
{
const SINGLE = 0;
const MULTI = 1;
const NR = 2;
}
regex :/ co prawda mod_rewrite mnie cośtam nauczył, ale no... (ale chyba napisałem tak regułki, że nie ma bata żeby przeszło w $_GET coś co bym umiał regexem zablokować)
jak będę wszelki user input obierać z tagów html i xml to chyba mam z głowy? bez <script> chyba przeglądarka nie potraktuje js jako js tylko jako plaintext?
jak sobie przypomnisz to krzycz :D
real escape string na PDO nie poleci ale mamy prepare right?
czytałem też o parametryzowanych kwerendach coś, że niby używać to będzie lepiej, ale emm... chyba nawet czytałem kiedyś co to za ustrojstwo...
da się zrobić chyba... ale nie wiem no, nie ogarnę żeby to ta klasa robiła raczejKod:$stmt = $dbh->prepare("INSERT INTO REGISTRY (name, value) VALUES (:name, :value)");
$stmt->bindParam(':name', $name);
$stmt->bindParam(':value', $value);
wyszukiwanie podciągów i ... nie, nawet nie, da radę :f ale nie będzie to zbyt zabawne, na pewno mniej, niż teraz
najstarsza metoda jaką znam jest, ta druga, "fajniejsza" chyba już też
PDO też nie jest bezpieczne w sensie "zmień kod na to będzie fajnie" bo no się nie da po prostu, rajt?
wracając doja swój gotowy działający kod (gdzieś połowa projektu) przepisywałem, PDO jest mocno irytujące(chociaż klepanie co chwila real_escape_string niby jest mniej? :p), ale ma być dobrze t już trudno
przestawienie się ze strukturalnego na obiektowy nie mając pojęcia ani co to klasy/obiekty, ani że w ogóle jest obiektowy może być irytujące
teraz jakoś mi się fajnie używa, ale first contact to było nieprzyjemnie
w sensieto?Kod:$stmt = $dbh->prepare("INSERT INTO REGISTRY (name, value) VALUES (:name, :value)");
$stmt->bindParam(':name', $name);
$stmt->bindParam(':value', $value);
a to da się tego nie robić i mamy podatność, bo klasa nie jest całkowicie idiotoodporna
ale wiadomo, próba zrobienia jej taką pewnie i tak by się zakończyła niepowodzeniem
(a ja chyba muszę przepisać spory fragment, przynajmniej z user inputem :/ lenistwo nie popłaca jak nagle się okazuje, że ktoś zaczyna je wykorzystywać przeciw tobie lub chcesz temu jednak zapobiegać)
jak zrobię
i zbinduję to dostajęKod:SELECT *, EXTRACT(YEAR from date) as Y, EXTRACT(MONTH from date) as M, EXTRACT(DAY from date) as D FROM posts ORDER BY date DESC LIMIT 10 OFFSET ?
a jak wlepię tam na sztywno 10 to śmiga, wut?Cytuj:
SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''10'' at line 1
wpadłem na to, że tu może by intval() pomogło, ale akurat chcę zrobić właśnie sobie veri izi mołd i wtedy nie będę mógł, bo co jeśli string? chociaż... wiem, meh
ale nie pomogło :/ @Alex Fortune ; @szulak ; @Malpa of Hell ; @Rollercoster ; @Cybuch ; thehell :c nienawidzę pdo
przypomniałem sobie: try catcha trzeba dodawać, co irytuje
+ to: czasmi all jest piknie, ale nieeeee, traktuje inta jak stringa bo mu się tak podoba i EOT
edit: meh, wpadłem na to jak gugla zapytać i mam
ale muszę mieć pewność, ze to int ale spokoKod:$sth->bindParam(':limit', $limit, PDO::PARAM_INT);
Kolejne pytanie.
Robiłem to zadanie.
http://prntscr.com/3lcb1s
I oto kody do tego zadania, które działają tak jak powinny według treści.
I oto moje pytanie.Kod:#include <iostream>
#include <cstdlib>
int main ()
{
wchar_t nieznana;
nieznana = 123;
std::cout << "Liczba = " << nieznana << std::endl;
system ("pause");
return 0;
}
Chciałem początkowo użyć zmiennej "unsigned char" ale zamiast "Liczba=123" wyświetlało mi się "Liczba= {", pomimo tego, że jest napisane w rozpisce zakresu wartości tej zmiennej, że obejmuje ona od 0 do 255, potem chciałem użyć zmiennej "char" i dzieje się to samo, dopiero, gdy użyłem zmiennej "wchar_t" wszystko wyszło jak należy. Może mi ktoś wytłumaczyć dlaczego pierwsze zmienne nie zadziałały jak powinny? pzdr
char NIE JEST liczbą, a znakiem
MOŻE, ALE NIE MUSI być w PEWNYCH SYTUACJACH traktowany jako liczba(kod ASCII znaku przechowywanego, w pamięci znajduje się ta liczba, ale "header" zmiennej jest char)
przy okazji: typu zmiennej, a nie zmiennej
a wchar_t pewnie jest w jakimś nagłówku zdefiniowana jako liczba całkowita 0<=x<=255 i te funkcje, które ją przyjmują wiedzą, że tą liczbę traktować jak znak, a kompilator nie wie o tym ani stdlib ani nic
std::cout uznaje char za znak, a wchar_t za to, jak jest zdefiniowana gdzieśtam
chyba
@Tatasek ;
tja, w sumie nie umiem tłumaczyć :D
ale akurat strumienie będą przyjmować znak o kodzie ascii zawartym w zmiennej typu char, anie wartość tegoż kodu, tak jest wygodniej w większości wypadków
możesz spróbować std::cout<<(int)zmiennatypuchar; chyba zadziała
Gdy już wydaje mi się, że zaczynam wszystko powolutku łapać przychodzić zakius i wyprowadza mnie z tego błedu xD
no ja to jestem pod wrażeniem jak na aż tak prostych rzeczach można się wykładać :D Sam udzielam korków z WDP i C++ debilom i żaden aż tak nie nie ogarnia ;D
kuzwa powiedz mi jak zamiast najprostszego typu na świecie int, można dać typ wchar_t, którego nigdy na oczy nie widziałem xDDD
@down
gdzie ktoś napisał, ze char jest liczbą? W poradniku tego na bank nie ma
możliwe, ale skoro to wbudowany typ to dlaczego cout nie rozumie tego? @Gray ;
<3 cpp logic
@Kusterek ; akurat jak ktoś napisał, że char jest liczbą i chcesz się do tego stosować, a wypisuje co coś innego (czego kodu ascii nie znasz do tego) to możesz nie ogarnąć (o ile samo "char" nic ci nie mówi :/)
no jak się uprzeć
a bo ja wiem? xDDDD @Kusterek ;
zaczalem sie uczyc c++ z 2-3 dni temu wiec, juz skończ pisac jaki to ze mnie ciemniak. Więc, jak nie masz jakieś pomocnej rady dla kogoś takiego jak ja to lepiej nic nie pisz.
A na liscie z kursu typ "int" jest w chuj dalej, niz reszta typów z mniejszymi zakresami, wiec go po prostu zlałem. Pzdr