| | |
| Stránka: 1 z 1
| [ Príspevkov: 18 ] | |
Autor | Správa |
---|
Registrovaný: 28.02.09 Prihlásený: 19.02.18 Príspevky: 241 Témy: 56 |
cafte mohol by mi z vas niekto pomoct?
neviem preco ale odosiela to aj pri refreshi aj ked myslim ze hore sa porovnavaju polia..neni to tak?..kde to treba opravit a osetrit proti nevyplneniu inputu ? za odpoved diks
Kód: <table> <tr> <td valign="top"> <form name="kniha" action="kniha_navstev.php" id="formular" method="post"> <b>Meno:</b><br /> <input name="meno" size="40"><br /> <br /> <b>Správa:</b><br /> <textarea name="sprava" rows="5" cols="40" wrap="soft"></textarea><br><br> <script language="Javascript" type="text/javascript"> <!-- function add(data) { document.getElementById('formular').sprava.value = document.getElementById('formular').sprava.value + data + ""; } //--> </script> <a href="javascript:add('2D')"><img src="smilikovia/20.png" border="0" alt="2D"></a> <a href="javascript:add('2P')"><img src="smilikovia/21.png" border="0" alt="2P"></a> <a href="javascript:add('2frajer')"><img src="smilikovia/22.png" border="0" alt="2frajer"></a> <a href="javascript:add('2zmurk')"><img src="smilikovia/23.png" border="0" alt="2zmurk"></a> <a href="javascript:add('2smejo')"><img src="smilikovia/24.png" border="0" alt="2smejo"></a> <a href="javascript:add('2nic')"><img src="smilikovia/25.png" border="0" alt="2nic"></a> <a href="javascript:add('2ooops')"><img src="smilikovia/26.png" border="0" alt="2ooops"></a> <a href="javascript:add('2fnuk')"><img src="smilikovia/27.png" border="0" alt="2fnuk"></a> <a href="javascript:add('2heh')"><img src="smilikovia/28.png" border="0" alt="2heh"></a> <a href="javascript:add('2placko')"><img src="smilikovia/29.png" border="0" alt="2placko"></a> <a href="javascript:add('2ta...')"><img src="smilikovia/30.png" border="0" alt="2ta..."></a> <a href="javascript:add('2diablik')"><img src="smilikovia/31.png" border="0" alt="2diablik"></a> <a href="javascript:add('2cmuuk')"><img src="smilikovia/32.png" border="0" alt="2cmuuk"></a> <br> <font size="1" face="verdana" color="gray">- smilikov vybrať klikom </font><br> <input type="submit" name="submit" value="Odoslat" width="50" > <input type="reset" value="Obnovit polia" /> <br> <font size="1" face="verdana" color="gray">- vulgárne alebo neformálne príspevky budu zmazané</font> </form> </td> <td valign="top" style="padding-left: 30px;"> <?php function generateURL(){ //Nasledujuca funkcia sluzi na zmenu, pridanie ci vymazanie // parametrov a ich hodnot nachadzajucih sa v aktualnej URL adrese. Umoznuje zmenit // viacero parov (parameter-hodnota) naraz. Ak sa funkcii nepreda ziadny parameter, //vracia sa vsetko od nazvu aktualne spracovavaneho skriptu vratane. $GET = $_GET; $QUERY_STRING = ''; $SCRIPT_NAME = substr(strrchr($_SERVER["SCRIPT_NAME"],"/"),1); //substr-pracuje s podretazcami,vyhladava v retazcoch //strrchr-najde posledny vyskyt znaku v retazci $num_args = func_num_args(); //func_num_args - vracia pocet argumentov aby zlozil funkciu if($num_args>0 && $num_args%2==0) { $args = func_get_args(); //func_get_args - vrati pole obsahujuce zoznam argumentov foreach($args as $index => $paramName) { //foreach-prvy riadok prechadzanie prvkov pola //druhy riadok prikaz ktory sa prevedie pre kazdy prvok pola $paramName = trim($paramName); if($index%2==0 && !empty($paramName)) { $paramValue = trim($args[$index+1]); if(array_key_exists($paramName, $GET) && empty($paramValue)) { //array_key_exists-kontrola ci dany kluc existuje v poli unset($GET[$paramName]); //unset - mazanie } elseif(!empty($paramValue)) { $GET[$paramName] = $paramValue; } } } } foreach($GET as $param => $value) { $QUERY_STRING .= $param."=".$value."&"; } return $SCRIPT_NAME.((empty($QUERY_STRING)) ? '' : "?".substr($QUERY_STRING,0,-5)); } //Nasledujuca funkcia vytvara odkazy na jednotlive stranky s tym, ze je mozne obmedzit, kolko cisiel stranok sa zobrazi. Tato hodnota sa uvadza ako //nepovinny 3. parameter funkcie, pricom default hodnota je 15. Tzn. ak bude stranok 40, vzdy sa zobrazi len 15 cisiel, ktore sa budu postupne menit posuvanim sa v zozname stranok. //$numRows urcuje celkovy pocet zaznamov (clankov, vysledkov vyhladavania, ...) a $rowsPerPage predstavuje pocet zaznamov zobrazenych na jednej stranke. function pagination($numRows, $rowsPerPage, $maxPages=15) { global $page, $numPages;
$ret = "";
if($numPages>0) { if(!isset($page)) { $page = 1; //cislo aktivnej stranky (default=1) } $from = 1; //cislo stranky, od ktoreho sa zacina strankovanie $to = $numPages; //cislo stranky, kde strankovanie konci $padd_a = ceil($maxPages/2); //pre pozicovanie cisla aktivnej stranky v strankovani $padd_b = floor($maxPages/2); //pre pozicovanie cisla aktivnej stranky v strankovani //vypocitanie prveho a posledneho cisla stranky v strankovani (pre potreby for cyklu) if($page >= $maxPages) { $from = $page - $maxPages + $padd_a; $to = $from + $maxPages - 1; if($page == $numPages || $page + $padd_b >= $numPages) { $to = $numPages; $from = $to - $maxPages + 1; } } //odkaz na prvu stranku $ret .= (($page > 1) ? '<a href="'.generateURL(PAGEVAR,1).'"><<</a>' : '<<').' '; //odkaz na predoslu stranku $ret .= (($page > 1) ? '<a href="'.generateURL(PAGEVAR,$page-1).'"><</a>' : '<').' '; //strankovanie for($i = $from; $i <= $to; $i++) { if(--$maxPages >= 0) { if($page == $i) { $ret .= $i; //aktivna stranka } else { $ret .= '<a href="'.generateURL(PAGEVAR,$i).'">'.$i.'</a>'; //ostatne stranky } $ret .= DELIMITER; } else { break; } } //odstranenie oddelovaca za poslednou strankou $ret = substr($ret,0,-strlen(DELIMITER)).' '; //odkaz na nasledujucu stranku $ret .= (($page < $numPages) ? ' <a href="'.generateURL(PAGEVAR,$page+1).'">></a>' : '>').' '; //odkaz na poslednu stranku $ret .= (($page < $numPages) ? '<a href="'.generateURL(PAGEVAR,$numPages).'">>></a>' : '>>'); return $ret; } return false; }
$db_spojenie = mysql_connect("server", "meno", "heslo"); mysql_select_db("databaza");
define("PAGEVAR", "page"); //nazov parametra v GET, kde sa uchovava cislo stranky define("DELIMITER", " | "); //oddelovac cisiel stranok $page = 1; //cislo aktivnej stranky (default=1)
$rowsPerPage = 5; $maxPages = 9;
$res = mysql_fetch_assoc(mysql_query("SELECT count(*) as pocet FROM kniha_navstev")); $numRows = $res['pocet'];
$numPages = ceil($numRows/$rowsPerPage); //pocet stranok v strankovani
if(!empty($_GET[PAGEVAR]) && $_GET[PAGEVAR]>0 && intval($_GET[PAGEVAR])<=$numPages) { $page = $_GET[PAGEVAR]; }
$offset = ($page - 1) * $rowsPerPage;
$sql = "SELECT * FROM kniha_navstev ORDER BY datum DESC LIMIT $offset,$rowsPerPage"; $res = mysql_query($sql); if($res!==false) { while ($riadok = mysql_fetch_assoc($res)) { echo '<table border="0" width="500px"><tr><td><font color="#9B3042">',$riadok['meno'],'</td><td align="right">',$riadok['datum'],'</td></tr>'; echo '<tr><td colspan="2">',$riadok['zapis'],'</td></tr>'; echo '<tr><td colspan="2"><center>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .</center></td></tr></table>'; } } echo "<center>"; echo pagination($numRows, $rowsPerPage, $maxPages); echo "</center>";
// správne nastavenie slovenčiny. $objekt_vysledku = mysql_query("SET NAMES 'cp1250'", $db_spojenie); if (!$objekt_vysledku) { echo 'Poslání SQL příkazu se nepodařilo, sorry'; echo '<br />'; echo 'Popis chyby: ', mysql_error($db_spojenie); exit(); }
// -- vlož nový zápis, ak bol odoslaný formulárom --
// test, ci prisli data z formulara. if (isset($_POST['sprava'])) { // vytvorenie SQL príkazu typu INSERT. $sql_prikaz = "INSERT INTO kniha_navstev(datum,meno,zapis) " ."VALUES(NOW(),'" .mysql_real_escape_string($_POST['meno'],$db_spojenie) ."','" .mysql_real_escape_string($_POST['sprava'],$db_spojenie) ."')" ;
// zaslánie SQL príkazu do databázy. $objekt_vysledku = mysql_query( $sql_prikaz,$db_spojenie); if (!$objekt_vysledku) { echo 'Poslanie SQL príkazu sa nepodarilo, sorry'; echo '<br />'; echo 'Popis chyby: ', mysql_error($db_spojenie); exit(); } } ?> </td> </tr> </table>
| Nazov temy je nepresny, nabuduce skus vymysliet lepsi. Ďuri
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 Bydlisko: Brno | Napísal Ďuri: 10.01.2010 13:47 | |
|
Co sa tyka odosielania aj pri refreshi, mozes to zabezpecit tymto, daj to na uplny zaciatok skriptu:
Kód: <?php if (!empty($_POST)) { header('Location: nazovsuboru.php'); } ?> Pytas sa, kde to treba zabezpecit, no to snad vies ty, nie? Ako mame vediet, ktore polia su povinne a ktore nie? Co chces spravit?
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
na zaciatok urcite nie, lebo mu to presmeruje vzdy, ked budu odoslane nejake data z formularu... treba to dat za uspesne vlozenie dat do db + kontrolu POST si presun na zaciatok skriptu, aby si mohol bez problemov pouzit header()...
Naposledy upravil stenley dňa 10.01.2010 13:57, celkovo upravené 1
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 28.02.09 Prihlásený: 19.02.18 Príspevky: 241 Témy: 56 | Napísal autor témy DeeJay3: 10.01.2010 13:56 | |
|
Citácia: kde to treba opravit a osetrit proti nevyplneniu inputu ?
myslel som to tak aby mi vyhodilo upozornenie ze polia musia byt vypisane...ked dam na zaciatok
Kód: if($meno=="" || $sprava==""){ echo "<div id='upozornenie'><font color='red' size='2' face='verdana'>!!Zadaj svoje meno a vypíš správu!!</font></div>";} else{ tak mi to nezobrazi prispevky chcem aby to zobrazilo aj prispevky ale aby neposlalo spravu z nevypisanymi obidvoma inputmi
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 Bydlisko: Brno | Napísal Ďuri: 10.01.2010 14:00 | |
|
stenley
Nie, pretoze Location hlavicka presmeruje az vtedy, ked sa natiahne cela stranka. Za uspesnym vlozenim mu to uz bude prd platne, lebo tam uz nejake veci vypisuje. Moja rada by mala fungovat.
DeeJay3
Tak daj to tam, kde sa INSERTuju data do DB, v pripade ze premenne su prazdne, nech neuklada. Premenne $meno a $sprava si odkial vycaroval?
Naposledy upravil Ďuri dňa 10.01.2010 14:00, celkovo upravené 1
|
|
Registrovaný: 28.02.09 Prihlásený: 19.02.18 Príspevky: 241 Témy: 56 | Napísal autor témy DeeJay3: 10.01.2010 14:00 | |
|
Ďuri píše: Co sa tyka odosielania aj pri refreshi, mozes to zabezpecit tymto, daj to na uplny zaciatok skriptu: Kód: <?php if (!empty($_POST)) { header('Location: nazovsuboru.php'); } ?> Pytas sa, kde to treba zabezpecit, no to snad vies ty, nie? Ako mame vediet, ktore polia su povinne a ktore nie? Co chces spravit? stenley píše: na zaciatok urcite nie, lebo mu to presmeruje vzdy, ked budu odoslane nejake data z formularu... treba to dat za uspesne vlozenie dat do db + kontrolu POST si presun na zaciatok skriptu, aby si mohol bez problemov pouzit header()...
Dakujem vam obom vlozim som to co si napisal duri a tam kde to napisal stenley krasne dakujem pekne a kde esetrit to co som pisal pred chvilou??
edit:ved s formulara nie?
oprava: ked som to dal tam kde povedal stenley vypisalo chybu ze sa neda zmenit header
Ďuri mal pravdu....DIIIK...
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
Ďuri píše: stenley Nie, pretoze Location hlavicka presmeruje az vtedy, ked sa natiahne cela stranka. heh, ale to nie je celkom pravda - vyskusaj si spustit cyklus s velkym poctom opakovani a uvidis, ze nikdy sa nevykona rovnaky pocet iteracii tj stranka sa presmeruje skor, ako sa cyklus dokonci... Ďuri píše: Za uspesnym vlozenim mu to uz bude prd platne, lebo tam uz nejake veci vypisuje. Moja rada by mala fungovat.
preto som mu napisal, aby si to presunul na zaciatok skriptu, a dokonca je to aj praktickejsie a prehladnejsie...
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 28.02.09 Prihlásený: 19.02.18 Príspevky: 241 Témy: 56 | Napísal autor témy DeeJay3: 10.01.2010 14:15 | |
|
oks posielanie pri refreshi us ide
teras to osetrenie
pozzri na ten script co som postol hore na koniec a pozri kde som vlozil osetrenie
Kód: // -- vlož nový zápis, ak bol odoslaný formulárom -- $meno = $_POST['sprava']; $sprava = $_POST['meno']; // test, ci prisli data z formulara. if($meno=="" || $sprava==""){ echo "<div id='upozornenie'><font color='red' size='2' face='verdana'>!!Zadaj svoje meno a vypíš správu!!</font></div>";} else{ if (isset($_POST['sprava'])) { // vytvorenie SQL príkazu typu INSERT. $sql_prikaz = "INSERT INTO kniha_navstev(datum,meno,zapis) " ."VALUES(NOW(),'" .mysql_real_escape_string($_POST['meno'],$db_spojenie) ."','" .mysql_real_escape_string($_POST['sprava'],$db_spojenie) ."')" ;
// zaslánie SQL príkazu do databázy. $objekt_vysledku = mysql_query( $sql_prikaz,$db_spojenie); if (!$objekt_vysledku) { echo 'Poslanie SQL príkazu sa nepodarilo, sorry'; echo '<br />'; echo 'Popis chyby: ', mysql_error($db_spojenie); exit(); } } } ?> spravu neposiela ak su input sprava a meno prazdne ale echo vypisuje stale aj ked to je vyplnene
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
ty chces vypisovat chybovu hlasku na koniec stranky, aj ked mas formular na zaciatku? trosku odveci nakoniec pride na moje slova...
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 28.02.09 Prihlásený: 19.02.18 Príspevky: 241 Témy: 56 | |
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
pozri si tento principialny kod a nemusis "carovat" s css:
Kód: <?php $required = array('meno' => 'Meno', 'sprava' => 'Sprava');
if($_POST) { $errMsg = array(); foreach($required as $fieldName => $fieldTitle) { if(empty($_POST[$fieldName])) { $errMsg[] = 'Je potrebne vyplnit aj polozku '.$fieldTitle; } } if(empty($errMsg)) { //INSERT + HEADER } }
//vypis pripadnych chybovych hlasok z $errMsg //VYPIS FORMULARA A KOMENTOV ?>
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 28.02.09 Prihlásený: 19.02.18 Príspevky: 241 Témy: 56 | Napísal autor témy DeeJay3: 10.01.2010 15:48 | |
|
a mosete mi este pomoct ako nahradzovat znaky ktore potrebujem?
akym sposobom by som aj vedel len neviem kam to dat
a spravym cez to aj smilikov
Kód: $pattern = array( '/:D/', '/:P/'); $replace = array(' <img src="smilikovia/01.gif" border="0"> ', ' <img src="smilikovia/02.gif" border="0"> ',); $sprava = preg_replace($pattern, $replace, $sprava);
poradteee
//ked uz zverejnujes zdrojovy kod funkcii na inom fore, je dobrym zvykom nevymazavat z nich zmienku o autorovi! (stenley)
|
|
Registrovaný: 28.02.09 Prihlásený: 19.02.18 Príspevky: 241 Témy: 56 | Napísal autor témy DeeJay3: 10.01.2010 16:13 | |
|
o ktorom kode hovoris?...o celej knihe alebo o tomto poslednom?
a hm nic som z kodu nevymazal iba doplnil
ale ak to robi problem tak kniha je od tominokk a nahradzovanie mi pomohol audiotrack
takto ti to vyhovuje?
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 28.02.09 Prihlásený: 19.02.18 Príspevky: 241 Témy: 56 | Napísal autor témy DeeJay3: 10.01.2010 16:23 | |
|
tak srry stenley ale ja som to od teba vazne nebral
pozri sa sem poprosil som spravcu aby mi poslal knihu nic ine som nevymazal....
http://www.infinity.yw.sk/kniha_navstev.php?page=1
takze tak....ak je to tvoje ja som o tom nevedel a nikde to v kode nebolo
//jj, viem o tom, jemu som vtedy tiez pisal, podobne ako teraz tebe... poprosim ta teda o doplnenie chybajucej casti... (stenley)
|
|
Registrovaný: 28.02.09 Prihlásený: 19.02.18 Príspevky: 241 Témy: 56 | Napísal autor témy DeeJay3: 10.01.2010 16:27 | |
|
oki vasne srry nevedel som...ja to vlozim naspet...;-)
a s tym nahradzovanim mi nevies pomoct?
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
mozes pouzit preg_replace, co je v tomto pripade asi zbytocne "tazky kaliber", alebo str_replace
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 28.02.09 Prihlásený: 19.02.18 Príspevky: 241 Témy: 56 | Napísal autor témy DeeJay3: 10.01.2010 17:05 | |
|
preg_replace funguje len som musel zmenit
Kód: $meno = $_POST['meno']; $sprava = $_POST['sprava']; $pattern = array(''/:D/', '/:P/', '/:cool/'); $replace = array( ' <img src="smilikovia/01.gif" border="0"> ', ' <img src="smilikovia/02.gif" border="0"> ', ' <img src="smilikovia/03.gif" border="0"> ',); $text = preg_replace($pattern, $replace, $sprava);
a na miesto $_POST[sprava] do celej knihy dat $text.....
dakujem za pomoc vsetko vyriesene
ak tak este mi niekto mose poradit preco mam tu diakritiku zblbnutu ale iba v tej knihe
http://www.oskbudkovce.xf.cz/index.php?obsah=2
|
|
| Stránka: 1 z 1
| [ Príspevkov: 18 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| zabezpečenie knihy navstev [ Choď na stránku: 1, 2 ] v PHP, ASP | 53 | 2163 | 13.06.2008 20:47 chrono | | Kniha návštev v PHP, ASP | 5 | 755 | 07.02.2008 16:21 pedro91 | | Kniha Návštev v HTML, XHTML, XML, CSS | 1 | 389 | 06.03.2013 20:32 shaggy | | Kniha navstev - zobrazovanie komentarov v PHP, ASP | 6 | 755 | 23.12.2016 0:22 Miso122 | | kniha navstev, pokazene vkladanie prispevkov v PHP, ASP | 6 | 878 | 04.12.2007 21:35 emer | | P/V: Kniha AdobePhotoshopCS - Kniha Plna Triku v Predám | 4 | 600 | 30.04.2013 8:19 pajros | | php po refreshi v PHP, ASP | 6 | 338 | 22.12.2011 10:08 walther | | Odosielanie po refreshi webu v PHP, ASP | 6 | 353 | 15.08.2012 10:46 stenley | | odosiela len prvý form v JavaScript, VBScript, Ajax | 0 | 326 | 15.09.2011 14:14 Pablo Montero | | STratene data pri preinstalvani OS Windows v Operačné systémy Microsoft | 3 | 343 | 05.02.2012 13:09 shiro | | PC odosiela X gb dát . v Antivíry a antispywary | 10 | 695 | 18.04.2012 12:46 Macekov | | pomoooc nieco odosiela moje informacie na net v Antivíry a antispywary | 6 | 357 | 06.12.2012 19:36 personal compuper | | E-mail odosiela len na @gmail.com v PHP, ASP | 7 | 2742 | 04.12.2008 23:04 jtomcik | | Telekom pri Easy kartách už internet nespomaľuje, ďalšie dáta spoplatnil v Novinky | 6 | 657 | 03.09.2016 22:46 ac.milan | | Zobrazovanie návštev v Redakčné systémy | 0 | 532 | 20.08.2007 16:06 dodi | | Pocitanie navstev v JavaScript, VBScript, Ajax | 4 | 995 | 29.03.2007 18:20 Tominator |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|