Autor | Zpráva | ||
---|---|---|---|
mersi Profil |
#1 · Zasláno: 16. 9. 2009, 11:43:21
Prosim poradte
Mam takyto problem mam uz dost rozpracovanu stranku, na localhoste mi bezi vsetko super no po uploadovani na server sa stranka nesprava tak ako by mala, nepouzival som globalne premenne, iba $_SESSIONs a klasicke fukcie PHP kt. musia bezat na kazdom serveri... neviete v com moze byt problem nechapem to... moze to byt nejakymi nastaveniami na serveri houstingu??? Dakujem za akukolvek radu |
||
radas Profil * |
#2 · Zasláno: 16. 9. 2009, 11:46:37
server může mit zapnuty safe mod a to může zpusobit že nahravaní nebude fungovat..
|
||
mersi Profil |
#3 · Zasláno: 16. 9. 2009, 11:48:12
mozete sa pozriet je to táto stránka
problem robi filtrovanie jednotl. objektov spolu s preklikavanim na dalsiu stranku uplne dole, na localhoste mi to slape uplne ako ma nechapem preco tam to nefunguje :( |
||
mersi Profil |
#4 · Zasláno: 16. 9. 2009, 11:49:04
ake nahrávanie? idem pozriet ci safe mod je zapnuty
|
||
mersi Profil |
#5 · Zasláno: 16. 9. 2009, 11:50:16
safe mod je OFF
|
||
tiso Profil |
#6 · Zasláno: 16. 9. 2009, 11:50:17 · Upravil/a: tiso
mersi: vyzerá to na register_globals, miesto $akt používaj v skriptoch $_GET['akt'], pri spracovaní formulára podobne $_POST
|
||
mersi Profil |
#7 · Zasláno: 16. 9. 2009, 11:51:28
vo vsetkych premennych ???
|
||
tiso Profil |
#8 · Zasláno: 16. 9. 2009, 11:52:29
mersi: preštuduj si o tom niečo viac...
|
||
mersi Profil |
#9 · Zasláno: 16. 9. 2009, 12:01:43
ved som hore napisal ze globalne premenne nevyuzivam pri predavani premennych formularom pouzivam $_POST, inak $_REQUEST cez odkazy a $_SESSION..... ja viem ze register_globals su vacsinou vypnute na houst. serveroch
a register_globals mam aj na localhoste nastavene na OFF cize ak by bol v tom problem ani tam by to neslo |
||
mersi Profil |
#10 · Zasláno: 16. 9. 2009, 12:04:17
radas: sorry som pozrel teraz na nastavenia na houstingu a tam je safe_mod - ON o akom nahravani si to pisal?
|
||
radas Profil * |
#11 · Zasláno: 16. 9. 2009, 12:10:01
zkus se spravcem servru domluvit jestli to jde vypnout...jestli ne...někde na netu jsem viděl hotové řešení nahravani a vím že to fungovalo i se zapnutym safe mode...
|
||
mersi Profil |
#12 · Zasláno: 16. 9. 2009, 12:11:54
ale co myslis pod pojmom nahravanie pls?
|
||
radas Profil * |
#13 · Zasláno: 16. 9. 2009, 12:17:24
neni potřeba prosit...pod pojmem nahravani myslim přimo hotovy file manager...navíc je spoustu navodu na netu jak to udělat...
|
||
mersi Profil |
#14 · Zasláno: 16. 9. 2009, 12:33:18 · Upravil/a: mersi
a ako moze SAFE MOD sposobit obmedzenu funkcnost skriptov?
inak nasiel som toto ale neviem ako by mi to mohlo pomoct edit// ak som spravne pochopil SAFE MOD moze sposobit ze skripty nemozu pracovat so suborovym systemom... vytvarat mazat subory atd... ale tie konretne skripty nic take nerobia |
||
fajzen Profil |
#15 · Zasláno: 16. 9. 2009, 13:49:36
nemáš tam náhodou niečo ako
mysql_query('SELECT .....') or die() |
||
mersi Profil |
#16 · Zasláno: 16. 9. 2009, 13:51:55
jj, samozrejme vela toho SELECTUJEM z DB
|
||
fajzen Profil |
#17 · Zasláno: 16. 9. 2009, 13:54:06
ale či tam máš to or die()
|
||
fajzen Profil |
#18 · Zasláno: 16. 9. 2009, 13:56:51 · Upravil/a: fajzen
pozri si zdroják tej chybnej stránky... úplne dole je
[i]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 'štát' at line 1[/i] nahraď všetky or die() za or die(mysql_error()) nech vieš, čo je zle (aj keď v tomto prípade by to nepomohlo, pretože chybová správa je vnútri selectu, takže nie je vidieť.... nedávaj výber z databázy do tagu select, ale mimo neho...) |
||
fajzen Profil |
#19 · Zasláno: 16. 9. 2009, 14:02:32
inak, tipujem to na to, že vybraté kategórie ukladáš do sessions ale predtým na nich použiješ htmlentities()... ak mám pravdu, tak to nerob :)
|
||
mersi Profil |
#20 · Zasláno: 16. 9. 2009, 14:06:39
pri vsetkych query mam die ( mysql_error() )
htmlentities() nepouzivam |
||
fajzen Profil |
#21 · Zasláno: 16. 9. 2009, 14:08:23
aha, no, viac ti bez tvojho kódu nepoviem...
|
||
tiso Profil |
#22 · Zasláno: 16. 9. 2009, 14:08:41
mersi: ťažko hádať bez konkétnych skriptov kde je chyba...
|
||
mersi Profil |
#23 · Zasláno: 16. 9. 2009, 14:19:30 · Upravil/a: mersi
jj viem len su to dost komplikovane skripty... nechapem preco to na localhoste bezi prefektne a na houstingu robi problemy
ale hodim ich tu len su dost komplikovane neviem co pomoze tu je kod index.php <?php session_start(); require 'dynamic/config.php'; require 'language.php'; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title><?php echo $title; ?> | Home</title> <link href="favicon.png" rel="icon" type="image/png" /> <link rel="stylesheet" href="styles/style_1/style_menu.css" /> <link rel="stylesheet" href="styles/style_1/general_style.css" /> <link rel="stylesheet" href="styles/style_1/navigation_search.css" /> </head> <body> <div id="all"> <div id="header"> <div id="header1"><a href="index.php"><img src="styles/style_1/img/<? echo $logo; ?>.png" border="0" /></a></div> <div id="header2"></div> <div id="header3"> <?php require 'lang_panel.php'; ?> </div> </div> <div id="menu"> <div id="menu1"></div> <div id="menu2"><?php require $menu.'.php'; ?></div> <div id="menu3"></div> </div> <div id="content"> <div id="content1"><?php require 'panel.php'; ?></div> <div id="content2"><?php require 'search_panel.php'; ?> <div id="ubytka"> <?php if( !isset( $_REQUEST['akt'] ) ) $zac = 0; else $zac = $_REQUEST['akt']; $sql = 'SELECT id, nazov, category, stat, kraj, okres FROM ubyt_zariadenie' . $podmienka . ' ORDER BY nazov LIMIT ' . $zac . ', 9 '; //echo $sql; //pocitanie stran atd $sql1 = 'SELECT COUNT(id) FROM ubyt_zariadenie' . $podmienka; //echo $sql1; $dat = mysql_query( $sql1 ) or die( mysql_error() ); $row = mysql_fetch_array( $dat ); $celk_pocet = $row[0]; $pocet_ubyt = 9; // pocet ubytiek na stranku $pocet_stranok = (int)( $celk_pocet / $pocet_ubyt); $pocet_stranok++; $dat = mysql_query( $sql ) or die ( mysql_error() ); $counter = 1; while( $row = mysql_fetch_array( $dat ) ){ if( $counter == 1 || $counter == 4 || $counter == 7 ) echo '<div id="riadok">'; ?> <div id="ubytko"> <?php $sql1 = 'SELECT COUNT(id) FROM images WHERE ubyt_zar = ' . $row['id'] . ' AND main = 1'; $dat1 = mysql_query( $sql1 ) or die( mysql_error() ); $row1 = mysql_fetch_array( $dat1 ); if ( $row1[0] == 1 ){ $sql2 = 'SELECT path FROM images WHERE ubyt_zar = ' . $row['id'] . ' AND main = 1'; $dat2 = mysql_query( $sql2 ) or die( mysql_error() ); $row2 = mysql_fetch_array( $dat2 ); echo '<a href="ubyt_zar.php?id=' . $row['id'] . '" >'; echo '<img src="images/view2/' . $row2['path'] . '" class="foto" border="0" /></a>'; } else{ echo '<img src="styles/style_1/img/nofoto.png" alt="Fotka zatiaľ nebola pridaná" class="foto"/>'; } if ( ($_SESSION['lang'] == 'en') || ($_SESSION['lang'] == 'de') ) { $name = 'name_'.$_SESSION['lang']; $nazov = 'nazov_'.$_SESSION['lang']; } else { $name = 'name'; $nazov = 'nazov'; } $sql3 = "SELECT staty.".$nazov." FROM staty WHERE id = " . $row['stat'] . ";"; $sql4 = "SELECT kraje.nazov FROM kraje WHERE id = " . $row['kraj'] . ";"; $sql5 = "SELECT okresy.nazov FROM okresy WHERE id = " . $row['okres'] . ";"; $sql6 = "SELECT ".$name." FROM subcategories WHERE id = " . $row['category'] . ";"; $dat3 = mysql_query( $sql3 ) or die ( mysql_error() ); $dat4 = mysql_query( $sql4 ) or die ( mysql_error() ); $dat5 = mysql_query( $sql5 ) or die ( mysql_error() ); $dat6 = mysql_query( $sql6 ) or die ( mysql_error() ); $row3 = mysql_fetch_array( $dat3 ); $row4 = mysql_fetch_array( $dat4 ); $row5 = mysql_fetch_array( $dat5 ); $row6 = mysql_fetch_array( $dat6 ); echo '<div id="nazov"><a href="ubyt_zar.php?id=' . $row['id'] . '">' . $row['nazov'] . '</a></div>'; echo '<div id="info">'; echo '<div class="kat"><div id="tab1">'.$kategoria1.':</div><div id="tab2">' . $row6[$name] . '</div><div style="clear: both;"></div></div>'; echo '<div class="kat"><div id="tab1">'.$stat1.':</div><div id="tab2">' . $row3[$nazov] . '</div><div style="clear: both;"></div></div>'; echo '<div class="kat"><div id="tab1">'.$kraj1.':</div><div id="tab2">' . $row4['nazov'] . '</div><div style="clear: both;"></div></div>'; echo '<div class="kat2"><div id="tab1">'.$mesto1.':</div><div id="tab2">' . $row5['nazov'] . '</div><div style="clear: both;"></div></div>'; echo '</div>'; ?> </div> <? if( $counter == 1 || $counter == 4 || $counter == 7 ) echo '</div>'; $counter++; } ?> </div> <div id="posuvnik"><?php require 'navigation.php'; ?></div> </div> </div> </div> </body> </html> |
||
mersi Profil |
#24 · Zasláno: 16. 9. 2009, 14:20:47 · Upravil/a: mersi
<div class="navigation"> <div id="navigation1"> <? if($_REQUEST['akt'] <= 0 ) echo $spat; else { ?><a href="index.php?akt=<? echo $zac - 9; ?>"><? echo $spat; ?></a><? } ?> </div> <div id="navigation2"><?php echo ($zac+$pocet_ubyt)/$pocet_ubyt . ' / ' . $pocet_stranok; ?></div> <div id="navigation3"> <? if($_REQUEST['akt']+9 >= $celk_pocet) echo $dalej; else { ?><a href="index.php?akt=<? echo $zac + 9; ?>"><? echo $dalej; ?></a> <? } ?> </div> </div> |
||
fajzen Profil |
#25 · Zasláno: 16. 9. 2009, 14:39:34
chyba je zrovna v tom, čo chýba zo search_panel.php :)
|
||
mersi Profil |
#26 · Zasláno: 16. 9. 2009, 14:45:34
search_panel.php
<div class="search_panel"> <?php if( isset( $_POST['vsetky'] ) ){ $_SESSION['kategoria'] = ''; $_SESSION['stat'] = ''; $_SESSION['mesto'] = ''; $_POST['kategoria'] = ''; $_POST['stat'] = ''; $_POST['mesto'] = ''; } if( isset( $_POST['kategoria'] ) ) $_SESSION['kategoria'] = $_POST['kategoria']; if( isset( $_POST['stat'] ) ) $_SESSION['stat'] = $_POST['stat']; if( isset( $_POST['mesto'] ) ) $_SESSION['mesto'] = $_POST['mesto']; ?> <form action="index.php" method="post"> <table> <tr> <td width="70" align="center"><? echo $vyberte; ?></td> <td> <select name="kategoria"> <option value="" ><? echo $kategoriu; ?></option> <?php if ( ($_SESSION['lang'] == 'en') || ($_SESSION['lang'] == 'de') ) { $name = 'name_'.$_SESSION['lang']; } else $name = 'name'; $sql = 'SELECT id, '.$name.' FROM subcategories WHERE id_categories = 9'; $dat = mysql_query( $sql ) or die( mysql_error() ); while( $row = mysql_fetch_array( $dat ) ){ echo '<option value="' . $row['id'] . '" '; if( $_SESSION['kategoria'] == $row['id'] ) echo 'selected="selected" '; echo '>' . $row[$name] . "</option>\n"; } ?> </select> </td> <td> <input name="odoslat" type="submit" value="<? echo $vyhladat; ?>" /> <input name="vsetky" type="submit" value="<? echo $zobrazit_vsetky; ?>" /> </td> </tr> <tr> <td align="center"><? echo $vyberte; ?></td> <td> <select name="stat"> <option value=""><? echo $stat; ?></option> <?php if ( ($_SESSION['lang'] == 'en') || ($_SESSION['lang'] == 'de') ) { $nazov = 'nazov_'.$_SESSION['lang']; } else $nazov = 'nazov'; $sql = 'SELECT id, '.$nazov.' FROM staty'; $dat = mysql_query( $sql ) or die( mysql_error() ); while( $row = mysql_fetch_array( $dat ) ){ echo '<option value="' . $row['id'] . '" '; if( $_SESSION['stat'] == $row['id'] ) echo 'selected="selected" '; echo '>' . $row[$nazov] . "</option>\n"; } ?> </select> </td> <td></td> </tr> <tr> <td align="center"><? echo $vyberte; ?></td> <td> <select name="mesto"> <option value=""><? echo $mesto; ?></option> <?php $sql1 = 'SELECT id, nazov FROM kraje '; if( $_SESSION['stat'] != '' ) $sql1 .= 'WHERE id_statu = ' . $_SESSION['stat']; $dat1 = mysql_query( $sql1 ) or die( mysql_error() ); while( $row1 = mysql_fetch_array( $dat1 ) ){ echo '<optgroup label="' . $row1['nazov'] . '">'; $sql2 = 'SELECT id, nazov FROM okresy WHERE kraje = ' . $row1['id']; $dat2 = mysql_query( $sql2 ) or die( mysql_error() ); while( $row2 = mysql_fetch_array( $dat2 ) ){ echo '<option value="' . $row2['id'] . '" '; if( $_SESSION['mesto'] == $row2['id'] ) echo 'selected="selected" '; echo '>' . $row2['nazov'] . '</option>'; } } ?> </select> </td> <td></td> </tr> </table> </form> <?php $podmienka = ''; if( ( $_SESSION['kategoria'] != '' ) || ( $_SESSION['stat'] != '' ) || ( $_SESSION['mesto'] != '' ) ) $podmienka .= ' WHERE '; if( $_SESSION['kategoria'] != '' ){ $podmienka .= 'category = ' . $_SESSION['kategoria'] . ' '; } if( $_SESSION['stat'] != '' ){ if( $_SESSION['kategoria'] != '' ) $podmienka .= 'AND '; $podmienka .= 'stat = ' . $_SESSION['stat'] . ' '; } if( $_SESSION['mesto'] != '' ){ if( ( $_SESSION['kategoria'] != '' ) || ( $_SESSION['stat'] != '' ) ) $podmienka .= 'AND '; $podmienka .= 'okres = ' . $_SESSION['mesto'] . ' '; } ?> </div> |
||
fajzen Profil |
#27 · Zasláno: 16. 9. 2009, 15:09:09
skús si nechať vypísať $sql1 na riadku 80
|
||
fajzen Profil |
#28 · Zasláno: 16. 9. 2009, 15:29:57 · Upravil/a: fajzen
už asi viem, kde je chyba... na hostingu sú zapnuté globálne premenné, takže $stat na riadku 53 a $mesto na riadku 76 znamenajú vlastne $_POST['stat'] a $_POST['mesto'], takže keď sa tieto políčka nezadajú, language.php do nich dosadí reťazce 'štát' a 'mesto', ktoré následne spôsobujú chybnú sytax SQL, pretože sa očakáva, že sú to čísla a nie sú preto v apostrofoch...
// EDIT: vlastne nie len, keď sa nezadajú, ale vždy... iba keď sa klikne na 'zobraziť všetky' tak sa z vich údaje vymažú... |
||
mersi Profil |
#29 · Zasláno: 16. 9. 2009, 15:36:51
register_globals su povolene na houstingu potvrdzujem
|
||
mersi Profil |
#30 · Zasláno: 16. 9. 2009, 15:37:38 · Upravil/a: mersi
a ako to mam osetrit mam premenovat premene?
predpokladam ze register_globals sa daju vypnut len v konfiguracnom subore Apache |
||
Téma pokračuje na další straně.
|
0