-
PHP для идиотов
→ kohana 3.2.2 • Окт. 11, 2012, 8:20 п.п.
-
Вебсервер
→ RewriteRule • Июнь 28, 2012, 5:45 п.п.
-
PHP для идиотов
→ как правельно составить sql запрос • Фев. 5, 2012, 6:29 п.п.
-
PHP для идиотов
→ как правельно составить sql запрос • Фев. 4, 2012, 7:57 п.п.
Приветы…Помогите составить sql запрос…index.php подгружает менюшку из базы,a также Ajax-сом контент..меню и контент в разных таблицах.Так вот вопрос: по моему мнению дважды обращаться к базе не разумно (?)поэтому может лучше подгрузить меню и контент ajax-сом.index.php<?php//sessio...
Приветы…
Помогите составить sql запрос…
index.php подгружает менюшку из базы,
a также Ajax-сом контент..
меню и контент в разных таблицах.
Так вот вопрос: по моему мнению дважды обращаться к базе не разумно (?)
поэтому может лучше подгрузить меню и контент ajax-сом.
index.php
<?php
//session start ();
include_once "../scr/sqldb.php";
$sql = "SELECT name, pos
FROM menu
WHERE lang = 'ru'
LIMIT 0 , 10";
$res = mysql_query($sql);
$rows = mysql_num_rows($res);
//Create menu links
$x=0;
for($x < $rows; $row[] = mysql_fetch_assoc($res);$x++ ){
$link[] = "\t<a href='#' class='menu_cl' name='{$row[$x]['pos']}'>{$row[$x]['name']}</a>";
}//Links created
mysql_free_result($res);
mysql_close($connect_db);
?><!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<!–[if IE]><script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script><![endif]–>
<title></title>
<meta name="keywords" content="" />
<meta name="description" content="" />
<link rel="stylesheet" href="http://<?=$_SERVER['SERVER_NAME']?>/css/style.css" type="text/css" media="screen, projection" />
<script type="text/javascript" src="http://<?=$_SERVER['SERVER_NAME']?>/scr/lib/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="http://<?=$_SERVER['SERVER_NAME']?>/scr/lib/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="http://<?=$_SERVER['SERVER_NAME']?>/scr/.ajax.js"></script>
</head>
<script type="text/javascript">
$(document).ready(function(){
$("#preloader").append("<img src = '/css/loader.png' alt = 'Загрузка…' id='loading' />");
$("body").fadeIn(800);
$(".langs_cl").click(function(){
$("body").fadeOut(800,function(){
window.location = "../fi";
});
});
//menu clicked
$(".menu_cl").click(function(){
$("#preloader").show();
ajaxContent(page = $(this).attr("name"));
});
//AJAX RUN
function ajaxContent(){
$.ajax({
global: false,
cache:false,
type: "POST",
url: "../scr/ajax.php",
data: "page="+page,
dataType: "html",
success: function(data){
//$("#cont").html(msg );
$("#cont").html(data);
$("#preloader").hide();
}
});
};
ajaxContent(page = "home");
//AJAX END
});//END
</script>
<body>
<div id="wrapper">
<header id="header">
<div id="logo_d">
<a id="logo_p" href="http://<?= $_SERVER['SERVER_NAME']?>">
<img src="http://<?= $_SERVER['SERVER_NAME']?>/css/1123.png" />
</a>
</div>
<div id="langs">
<a href="#">
<img class="langs_cl" src="http://<?=$_SERVER['SERVER_NAME']?>/css/fi.png" alt='Suomeksi'/></a>
</div>
<div id="name_d">
</div>
<div id="menu">
<?php
// PRINT RUS MENU
foreach($link as $key => $val){echo "\t{$val}\n";}
?>
</div>
</header><!– #header–>
<section id="middle">
<div id="container">
<div id="content"><br /><br />
<!– ajax content + preloader picture –>
<div id="preloader"></div>
<div id="cont"></div>
<!– END ajax content + preloader picture –>
</div><!– #content–>
</div><!– #container–>
<aside id="sideRight">
<strong>Фотоггалерея</strong>
</aside><!– #sideRight –>
</section><!– #middle–>
</div><!– #wrapper –>
<footer id="footer">
<strong>Footer:</strong>
</footer><!– #footer –>
<div id="bgfooter"></div>
</body>
</html>
ajax.php
<?php
if($_SERVER['REQUEST_METHOD'] === 'GET'){
header("Location : http://".$_SERVER['SERVER_NAME']);
exit;
}else{
//BUG : ПРОВЕРКУ НА POST ЗАПРОС
$link = $_POST["page"];
//BUG : ПРОВЕРКУ НА POST ЗАПРОС
include_once "sqldb.php";
$sql = "SELECT content
FROM content
WHERE PAGE = '$link'
LIMIT 0 , 30";
$res = mysql_query($sql);
$row = mysql_fetch_assoc($res);
echo $row['content'];
}
mysql_free_result($res);
mysql_close($connect_db)
-
PHP для идиотов
→ маленькая задачка :) • Окт. 8, 2010, 9:41 д.п.
-
PHP для идиотов
→ маленькая задачка :) • Окт. 7, 2010, 3:23 п.п.
-
PHP для идиотов
→ маленькая задачка :) • Окт. 7, 2010, 3:18 п.п.
Вообшем… запутали вы меня.Или я не до понел …master,ты говориш, что file.html доступен по http://mysite/file.html, а otherfile.html не доступен никак…но почему то когда я ввожу в http://somefolder.mysite/otherfile.html (если смотреть ту сруктуру, что ты описывал выше),то пожалу...
Вообшем… запутали вы меня.
Или я не до понел …
master,
ты говориш, что
file.html доступен по
http://mysite/file.html, а otherfile.html не доступен никак…
но почему то когда я ввожу в
http://somefolder.mysite/otherfile.html (если смотреть ту сруктуру, что ты описывал выше),
то пожалуйста он у тебя как на ладони, а если просто ввести
http://somefolder.mysite/выводит весь список файлов в каталоге. (может это и не беда если никто незнает что такая папка есть и от туда все инклуды, с точки зрения безопастности)
Может на самом сервере т.е на реальном хосте подругому настройки… (по этому подумал про атрибуты)
На денвере именно так как я тебе описал…
ps
master, спасибо.
-
PHP для идиотов
→ маленькая задачка :) • Окт. 6, 2010, 3:15 п.п.
-
PHP для идиотов
→ маленькая задачка :) • Окт. 6, 2010, 1:43 п.п.
-
PHP для идиотов
→ маленькая задачка :) • Окт. 5, 2010, 2:25 п.п.
-
PHP для идиотов
→ маленькая задачка :) • Окт. 5, 2010, 1:54 п.п.
-
PHP для идиотов
→ маленькая задачка :) • Окт. 5, 2010, 12:50 п.п.
-
PHP для идиотов
→ маленькая задачка :) • Окт. 1, 2010, 11:43 д.п.
-
PHP для идиотов
→ вопрос по безопастности. • Сен. 3, 2010, 12:03 п.п.
Ааа… помагите плз я медведко….Заэкрониравол я все пременные и все, рухнуло… как я тольне пробовал менять местами то mysql_num_rows выводит 0, то ошибка…Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in W:\home\tutorials\www\exp\test.ph...
Ааа… помагите плз я медведко….
Заэкрониравол я все пременные и все, рухнуло… как я тольне пробовал менять местами то mysql_num_rows выводит 0, то ошибка…
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in W:\home\tutorials\www\exp\test.php on line 29
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in W:\home\tutorials\www\exp\test.php on line 30
// $id = $_POST['id'];
// Функция экранирования переменных
function quote_smart($id)
{
// если magic_quotes_gpc включена - используем stripslashes
if (get_magic_quotes_gpc()) {
$id = stripslashes($id);
}
// Если переменная - число, то экранировать её не нужно
// если нет - то окружем её кавычками, и экранируем
if (!is_numeric($id)) {
$id = "'" . mysql_real_escape_string($id) . "'";
}
return $id;
}
// Соединяемся
$connection = mysql_connect('localhost','root','',$connection)
OR die(mysql_error());
mysql_select_db('menu');
// Составляем безопасный запрос
$result = sprintf("SELECT * FROM menu WHERE class='%s'",
quote_smart($_POST['id']));
mysql_query($result);
$fetch_aray = mysql_fetch_array($result);
$numrows = mysql_num_rows($result);
if ($numrows >= 1)
{
while($numrows–)
{
printf
("<li class='subMenu'><a href='http://%s' class='subLink'>%s</a></li>
",$fetch_aray['link'],$fetch_aray['name'] );
$fetch_aray = mysql_fetch_array($result);
}
}else
{
}
-
PHP для идиотов
→ вопрос по безопастности. • Сен. 1, 2010, 6:59 п.п.
-
PHP для идиотов
→ вопрос по безопастности. • Авг. 24, 2010, 1:10 п.п.
-
PHP для идиотов
→ вопрос по безопастности. • Авг. 24, 2010, 12:53 п.п.
-
PHP для идиотов
→ вопрос по безопастности. • Авг. 24, 2010, 12:50 п.п.
-
PHP для идиотов
→ вопрос по безопастности. • Авг. 24, 2010, 12:29 п.п.
-
PHP для идиотов
→ вопрос по безопастности. • Авг. 24, 2010, 5:47 д.п.
Всем привет.Вопрос по поводу безопасности т.к начитался что не правильно написанный ajax может привести к большой проблеме… так вот собственно убился на все выходные сделать вывод менюшки из MySQL, средвствами ajax… Мой "гавноКод" как все ща скажут работает, но я очень мал...
Всем привет.
Вопрос по поводу безопасности т.к начитался что не правильно написанный ajax может привести к большой проблеме… так вот собственно убился на все выходные сделать вывод менюшки из MySQL, средвствами ajax…
Мой "гавноКод" как все ща скажут работает, но я очень маловато понимаю в безопасности…
может кто то добавит исправления, добавления, коменты….
<?php
$id = $_POST['id'];
if ($id == 1)
{
include_once 'sql.php'; //MySQL connenect
}
else
{
// А если id != 1, то что ?
}
$result = mysql_query("SELECT * FROM menu WHERE class='subMenu'",$connection);
$fetch_aray = mysql_fetch_array($result);
$numrows = mysql_num_rows($result);
if ($numrows >= 1)//БД цыкл вывод.
{
while($numrows–)
{
printf
("<li class='subMenu'><a href='http://%s' class='subLink'>%s</a></li>
",$fetch_aray['a'],$fetch_aray['name'] );
$fetch_aray = mysql_fetch_array($result);
}
}else
{
// да нихуя Ёпть !
}
?>
<?php echo "
<script type='text/javascript'>
$(document).ready(function(){// Hello World
$('#load').hide(); // Прачем ПреЛоад
$('#link').click( // Клик
function(){
$('#load').show(); // грузим прилоад и показываем.
$.ajax({global:false}); // тупой не разберется
$('#load').ajaxStart(function(){ $(this).show();
});
$('#load').ajaxStop(function(){ // Все заебок прячем картинку/текст прелодера
$(this).hide();
});
$.post( //hello POST
'test.php', // ПОЛёТ на УРЛ
{
//переменые для POST полета !!!
id:'1',
},
showPHP); // return varibles
function showPHP(data){
$('.box').html(data) // ВЫВОД
}; //showPHP
});//клик fn
}); //HEPPY END !!;
</script>
";
?>
<style type="text/css">
#blockDiv {background: #FFCC99; width: 300px; height: 150px;}
#div {background: red; width: 300px; height: 150px;}
#phptester {background:#000000; width: 300px; height: 350px; color:white}
</style>
<?php include_once 'test2.php'?> // JS скрипт в PHP обертке.
<body>
<div id="blockDiv">
<ul id="ul">
<li><a href='#' id="link">AJAX it! 2</a><br /></li>
<li id="load">Loading…</li>
<li class="box"></li>
<a href="http://www.ya.ru">ya.ru</a>
</ul>
</div>
</body>