« 1 2 »
Autor Zpráva
mersi
Profil
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 *
server může mit zapnuty safe mod a to může zpusobit že nahravaní nebude fungovat..
mersi
Profil
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
ake nahrávanie? idem pozriet ci safe mod je zapnuty
mersi
Profil
safe mod je OFF
tiso
Profil
mersi: vyzerá to na register_globals, miesto $akt používaj v skriptoch $_GET['akt'], pri spracovaní formulára podobne $_POST
mersi
Profil
vo vsetkych premennych ???
tiso
Profil
mersi: preštuduj si o tom niečo viac...
mersi
Profil
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
radas: sorry som pozrel teraz na nastavenia na houstingu a tam je safe_mod - ON o akom nahravani si to pisal?
radas
Profil *
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
ale co myslis pod pojmom nahravanie pls?
radas
Profil *
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
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
nemáš tam náhodou niečo ako
mysql_query('SELECT .....') or die()
?
mersi
Profil
jj, samozrejme vela toho SELECTUJEM z DB
fajzen
Profil
ale či tam máš to or die()
fajzen
Profil
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
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
pri vsetkych query mam die ( mysql_error() )

htmlentities() nepouzivam
fajzen
Profil
aha, no, viac ti bez tvojho kódu nepoviem...
tiso
Profil
mersi: ťažko hádať bez konkétnych skriptov kde je chyba...
mersi
Profil
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
<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
chyba je zrovna v tom, čo chýba zo search_panel.php :)
mersi
Profil
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
skús si nechať vypísať $sql1 na riadku 80
fajzen
Profil
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
register_globals su povolene na houstingu potvrdzujem
mersi
Profil
a ako to mam osetrit mam premenovat premene?
predpokladam ze register_globals sa daju vypnut len v konfiguracnom subore Apache
« 1 2 »

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: