LINUXSOFT.cz
Nazwa użytkownika: Hasło:     
    CZ UK PL

> Komentarze :: článek PHP (40) - PHP a vkládání záznamů do databází

Header - location 21.8.2004 11:25
Petr Zajíc

Rád bych se zkritizoval sám - vůbec jsem nevysvětlil, proč tak složitě na konstrukci url v hlavičce location. Je to proto, že dle normy by url mělo býti absolutní. A jestliže by mělo, proč to tak neudělat, že?

Re: Header - location 3.10.2008 23:22
Petr Stodůlka

Chtěl byhc upozornit, že tento zápis bude funkční pouze pokud budete mít povoleny globální proměnné(zmínka je o nich i někde v pozdější fázi seriálu). Jde o to, že je lepší je mít vypnuty. Takže :

$path=SubStr($SCRIPT_NAME, 0, StrRPos($SCRIPT_NAME,"/"))."/40_select.php";
Header("Location: http://".$_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$path);

nahradíte například:

$host = $_SERVER['HTTP_HOST'];
$uri = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
$soubor = '40_select.php';
header("Location: http://$host$uri/$soubor");

xhtml a php 22.8.2004 03:32
Pavel Bařina

Dobry den, mel bych otazku trosku mimo tema tohohle dilu. Nemuzu prijit na to jak pouzit v php xhtml. Konkretne mam soubor index.php slozeny pomozi require ze dvou dalsich souboru header.inc a footer.inc. Problem je s :
<?xml version="1.0" encoding="iso-8859-2"?>
Php hlasi parse error pokusimli se tento uvodni tag vlozit do php souboru. Dekuji moc za pomoc.

Re: xhtml a php 22.8.2004 09:28
Pavel Kácha

Dobry den.
Pokud jsem dobre pochopil Vas dotaz, vkladate do php souboru radek <?xml version="1.0" encoding="iso-8859-2"?>. To ani projit nemuze, protoze php povazuje znaky <? a ?> za zacatek a konec casti sveho scriptu.
Pokud chcete, aby ve vystupnim souboru byla xml hlavicka zkuste použít

echo "<?xml version=\"1.0\" encoding=\"iso-8859-2\"?>";

Re: xhtml a php 22.8.2004 12:48
Jan Houštěk

Já to asi pochopil. Nastavte si v php.ini short_open_tag=Off. PHP pak bude parsovat jen <?php, ?>, což je zpusob kombatibilní s XML (resp. XHTML). Ostatně slušní lidé toto používají již dávno, od <?, ?> se postupně ustupuje (např. kvuli XML a proto, že to někdy je vypnuté), <?php, ?> má tu výhodu, že jednak funguje vždy, a jednak je na první pohled jasné, o jaký jazyk se jedná.

Re: xhtml a php 22.8.2004 13:44
Pavel Bařina

Dekuji moc za odpovedi. Uz jsem to vyresil pomoci echo a zpetneho lomitka. Nicmene reseni pomoci php.ini se mi zda nejrozumnejsi. Bude jen taky zalezet jak to ma nastavene muj poskytovatel webhostingu :-)

Re: xhtml a php 22.8.2004 22:43
Petr Zajíc

Už jsem za to byl jednou plísněn. <?php ?> je opravdu lepší, budu se to snažit používat. Je pravda, že donutit webmastery některých serverů přenastavit php.ini je výkon, ale tohle bude fungovat i když se php.ini nepřenastaví.

Pozn.: Pokud se s webmasterem dohodnete, pozor na to, abyste neměl <??> ještě v době, kdy už bude parsování přepnuto... to byl lidi viděli vaše zdrojové kódy, což asi není to, co chcete.

Re: xhtml a php 26.8.2004 22:50
Michal Kubeček

Promiň, ale tento postoj nemohu při nejlepší vůli označit jinak než jako pozérství. Přísnost k sobě má něco do sebe tam, kde je k ní důvod, třeba u XHTML oproti HTML, nastavení error_reporting na E_ALL apod., ale tohle opravdu není ten případ. Nutit se psát zbytečně po všech skriptech asymetrické '<?php' místo přehlednějšího a symetrického '<?' jen proto, abych si ušetřil jedno echo (a podotýkám, že u mne by to obvykle bylo jedno echo na web, ne jedno na skript), v tom opravdu žádný přínos nevidím. Pokud "slušnost" spočívá v tomto, pak se nestydím za to, že jsem "neslušný".

Re: xhtml a php 4.10.2008 08:12
Jakub 'NOclipus' Lédl

Proč psát asimetrické "<?php ?>" ? Kvůli důvodům nahoře - XML, nastavení php.ini( přemluvit jednoho webmástra jde, ovšem pokud programujete open-source redakční systém, který budou používat různí lidé na různých hostinzích...) Nechápu, proč je varinata s php "přehlednější" než "<? ?>"? Vždyť většina slušných editorů typu PSPad, Bluefish vám dává možnost označit si barevně bloky PHP od bloků HTML. Navíc, pokud se snažíte psád kód přehledně, odsazovat apod. neí v přehlednosti mezi "<?php ?>" a "<? ?>" žáný rozdíl.

Há?ky a ?árky v MySQL 23.10.2005 16:50
Jan Šmucr
Zdravim. Mam balik EasyPHP s Apache 1.3.33, PHP 4.3.1, phpMyAdmin 2.6.1 a MySQL 4.1.9. Zkoušel jsem si /částečně podle návodu/ rovněž vytvořit knihu návštěv. Vše se povedlo, ale bohužel mi nefungovaly háčky a čárky u některých písmen. Chvíli jsem se hrabal v phpMyAdminovi a nakonec se mi povedlo mysql donutit, aby zapisovalo do databází veškerou diakritiku správně. Bohužel, jak jsem později zjistil, slovo "veškerou" je poněkud přehnané. Nefunguje totiž písmeno ť. Jako jediné.
Poraďte pls, co mám kde nastavit, aby úplně (!) vše fungovalo bez problémů.
tabulka v databázi 28.7.2006 22:22
spageta

PHP se teprve učím a tento díl o MySQL jsem moc nepochopila. V jakém ze tří skriptů mám založit tabulku v databázi kniha_hostů??

Re: tabulka v databázi 28.7.2006 23:09
Ondřej Čečák

Pokud vidim spravne, neni vytvarena zadnym ze zminenych tri skriptu, staci ji vytvorit SQL prikazem CREATE TABLE zminenym na zacatku.

Re: tabulka v databázi 29.7.2006 20:56
Petr Zajíc

Ano, tabulku je třeba vytvořit ručně. Může se na to jít rovněž pomocí skriptu, ale pro jednoduchost jsem to udělal takhle. Jde o to, že skript, který by tabulku vytvářel by musel taky zjišťovat, jestli už neexistuje. Prostě, kus článku by byl o něčem jiném a to se mi nechtělo.

Polozka \\ 12.3.2007 21:17
Michal Bůžek

Ted jsem si s tim hral a zjistil jsem, ze neni asi idealni zjistit pri prvnim zobrazeni kolik je prispevku a pak to dat do url (metoda GET). Potom kdyz dam aktualizovat stranku, nebo na ni znovu prejdu, tak se ten pocet nezmeni i kdyz treba mezitim nekdo prispival.

Udelal jsem to tak, ze jsem dal to zjistovani pri kazdem zobrazeni stranky. Snad to tomu serveru moc nevadi. :-)

URL je potom kratsi, ale zase kdyz nekdo da nekomu odkaz na dskuzi a mezitim tam nekolik lidi prispiva, tak se ten prispevek posune na dalsi stranku Tezko rict co je lepsi. Nejlepsi bude udelat tam tlacitko link a to vrati link primo na prispevek, ale to jeste nevim jak.

A jeste takovej detail - href odkazu "zacatek" muze byt jen "select.php" bez parametru od=1 :-]

Re: Polozka \\\\ 12.3.2007 21:50
Michal Bůžek

Ja sem si splet konec se zacatkem (v clanku pred timhle to bylo razeny opacne) takze kdyz nekdo bude prispivat a ja kliknu na "konec" tak pak se nezobrazi ty uplne posledni, protoze je spatne udanej celkovej pocet (zvysil se a v url je porad stejnej)

duplicitní vložení 5.1.2008 15:08
slune

Zdravičko,
chtěl bych Vás požádat o radu, jde o problém, kdy se mi do tabulky vkladá druhý duplicitní řádek, který tam nemá co dělat.
Schéma tabulky je:
Dovednosti (IDPostavy, TypSkillu, IDSkillu, Lvl)
Kde IDPostavy je index a IDSkillu je take index, relace nejsou nastaveny s ostatními tabulky.
Skript nevytváří smyčku, takže celý jej sem psát nebudu, jen příkaz:
$zapis = mysql_query("INSERT INTO Dovednosti (IDPostavy,TypSkillu,IDSkillu,NaLvl) VALUE ('".$_SESSION['IDPostavy']."','".$_GET['typ']."','".$_GET['id']."','1')");
A právě v tomto příkazu je problém.
Můžete mi říct, proč se vkládá druhý duplicitní řádek?

Smajlíci 27.2.2008 21:04
hynek jj
Cau jak tam pridat treba smajlíky ???
Kniha hostů a uvozovky. 6.1.2009 18:10
Pavel Zvěřina

Použil jsem Knihu hostů (po patřičném ostylování a jiných úpravách) na svých stránkách, ale pořád nemůžu přijít na to, jak zprovoznit uvozovky. I když v .htacces nastavím get_magic_quotes_gpc Off, tak se uvozovky zobrazí správně jen při náhledu. Když stisknu tl. Zpět, tak se už nezobrazí a při vložení do databáze se taky neuloží.

Re: Kniha hostů a uvozovky. 30.1.2009 21:42
Petr Stodůlka

Záleží na tom jaké uvozovky teď máte na mysli. Jeslti jednoduché apostrofy nebo klasické uvozovky. Doporučil bych vám projít funkce addslashes a stripslashes. V případě, že máte na mysli klasické uvozovky se ještě podívejte na funkci htmlspecialchars.

Re: Kniha hostů a uvozovky. 1.2.2009 22:31
Pavel Zvěřina

Tak děkuji za nasměrování. Při echo jsem použil htmlspecialchars a při ukládání do databáze addslashes a už fungují jak uvozovky, tak apostrofy.

Re: Kniha hostů a uvozovky. 27.2.2010 14:56
Jan Quagmire

Rád bych věděl, jak to děláš, mě uvozovky (ani jedny) nefungují. Projel jsem to htmlspecialchars, addslashes i stripslashes a po klinutí na tlačítko Zpět se v poli nezobrazí původí text, ale text plný \.
Když do pole text napíšu =" (rovná se a za tím normální uvozovky) , tlačítko Zpět se nezobrazí.

Není tam bezpečnostní díra? 30.4.2011 15:08
Patrick "Kusoš" Kusebauch

Není problémem fakt, že to, co je odesláno jako příspěvek je kontrolováno jen ve druhém souboru, ale v souboru, kde vkládám do databáze ne? Když si zobrazím zdrojový kód 2. souboru s kontrolou, tak bych si podle něho mohl vytvořit parazitický formulář, ne? A pak díky němu poslat do databáze SQL injection, jak jste psal v jednou z minulých dílů. Navíc, když ani není ošetřeno, že obsah pole post přišel právě z druhé stránky a ne z jiné, nebo že jste nějak "neoslashoval" (jak já říkám - prostě předat to nějak v uvozovkách podle verze PHP tak, aby se nemohl provést případný kód) obsah $_POST["vzkaz"]. Jen se chci zeptat, jestli tam tu díru vidím správně, nebo to je nějak někde ošetřeno a já to tam nevidím.
Samozřejmě chápu, že jde pouze o výukové scripty, které asi toto neřeší, ale zajímalo by mě, jestli by ten script šel nasadit do ostrého provozu, protože drtivá většina scriptů napsaných v tomto seriálu by šli, za což jsem opravdu rád.


KOMENTARZE
Header - location 21.8.2004 11:25 Petr Zajíc
L Re: Header - location 3.10.2008 23:22 Petr Stodůlka
xhtml a php 22.8.2004 03:32 Pavel Bařina
|- Re: xhtml a php 22.8.2004 09:28 Pavel Kácha
L Re: xhtml a php 22.8.2004 12:48 Jan Houštěk
  |- Re: xhtml a php 22.8.2004 13:44 Pavel Bařina
  |- Re: xhtml a php 22.8.2004 22:43 Petr Zajíc
  L Re: xhtml a php 26.8.2004 22:50 Michal Kubeček
    L Re: xhtml a php 4.10.2008 08:12 Jakub 'NOclipus' Lédl
Há?ky a ?árky v MySQL 23.10.2005 16:50 Jan Šmucr
tabulka v databázi 28.7.2006 22:22 spageta
|- Re: tabulka v databázi 28.7.2006 23:09 Ondřej Čečák
L Re: tabulka v databázi 29.7.2006 20:56 Petr Zajíc
Polozka \\ 12.3.2007 21:17 Michal Bůžek
L Re: Polozka \\\\ 12.3.2007 21:50 Michal Bůžek
duplicitní vložení 5.1.2008 15:08 slune
Smajlíci 27.2.2008 21:04 hynek jj
Kniha hostů a uvozovky. 6.1.2009 18:10 Pavel Zvěřina
L Re: Kniha hostů a uvozovky. 30.1.2009 21:42 Petr Stodůlka
  L Re: Kniha hostů a uvozovky. 1.2.2009 22:31 Pavel Zvěřina
    L Re: Kniha hostů a uvozovky. 27.2.2010 14:56 Jan Quagmire
Není tam bezpečnostní díra? 30.4.2011 15:08 Patrick "Kusoš" Kusebauch
Tylko zarejestrowani użytkownicy mogą dopisywać komentarze.
> Szukanie oprogramowania
1. Pacman linux
Download: 4850x
2. FreeBSD
Download: 9044x
3. PCLinuxOS-2010
Download: 8541x
4. alcolix
Download: 10914x
5. Onebase Linux
Download: 9631x
6. Novell Linux Desktop
Download: 0x
7. KateOS
Download: 6219x

1. xinetd
Download: 2382x
2. RDGS
Download: 937x
3. spkg
Download: 4692x
4. LinPacker
Download: 9918x
5. VFU File Manager
Download: 3173x
6. LeftHand Mała Księgowość
Download: 7171x
7. MISU pyFotoResize
Download: 2775x
8. Lefthand CRM
Download: 3540x
9. MetadataExtractor
Download: 0x
10. RCP100
Download: 3087x
11. Predaj softveru
Download: 0x
12. MSH Free Autoresponder
Download: 0x
©Pavel Kysilka - 2003-2024 | mailatlinuxsoft.cz | Design: www.megadesign.cz