Шпора по php

.htaccess файл

Показать »

Задание кодировки utf-8

AddDefaultCharset UTF-8

Задание кодировки cp1251

AddDefaultCharset WINDOWS-1251

Подключение БД в php

Показать »

код подключения к БД

<?php 
//настройки базы данных
$dbHost='localhost';// чаще всего это так, но иногда требуется прописать ip адрес базы данных 
$dbName='expert';// название вашей базы 
$dbUser='root';// пользователь базы данных 
$dbPass='';// пароль пользователя


//соединение с БД
$db = mysql_connect($dbHost,$dbUser,$dbPass);//соединяемся с БД
mysql_select_db($dbName,$db);//выбираем БД
mysql_set_charset('utf8');//устанавливаем кодировку
?>

Запросы к БД

Показать »

SELECT использование псевдонимов

$sql="SELECT user.id,(game.id)AS id_game FROM game, user WHERE user.name = game.name ORDER BY game.id DESC LIMIT 10";

 

Добавить в таблицу expert данные INSERT

$sql = "INSERT INTO expert (fam, name, sename, tell, email) 
VALUES('".$_POST['fam']."', '".$_POST['name']."', '".$_POST['sename']."', '".$_POST['tell']."', '".$_POST['email']."')";
echo "sql=$sql<br>";
//добавление данных
if(!mysql_query($sql))
{
	echo "<center><p><b>Ошибка при добавлении данных!".mysql_error()."</b></p></center>";} 
else 
{
	echo '<center><p><b>Данные успешно добавлены!</b></p></center>';
	//делаем переадресацию и в сесию добавляем айди пользователя
}

Выбрать из таблицы expert строки SELECT

//проверяем существования email в БД
echo "проверка mail<br>";
$sql="SELECT * FROM `expert` WHERE `email` = '".$_POST['email']."'";
echo "sql=$sql<br>";
$res=mysql_query($sql);
echo mysql_num_rows($res)."<br>";
if(mysql_num_rows($res)>0)
{
	echo "email: ".$_POST['email']." уже существует в БД<br>";
}
else
{
	//добавляем данные в БД
	echo "Добавляем данные<br>";
}

SELECT с сортировкой в обратном порядке по id

$sql="SELECT * FROM `criterion` ORDER BY `id` DESC";

Обновить строку в таблице expert UPDATE

$sql = "UPDATE `expert` SET fam='".mysql_real_escape_string($_POST['fam'])."', name='".mysql_real_escape_string($_POST['name'])."', sename='".mysql_real_escape_string($_POST['sename'])."', tell='".mysql_real_escape_string($_POST['tell'])."', email='".mysql_real_escape_string($_POST['email'])."', pass='".mysql_real_escape_string($_POST['pass'])."' WHERE `id`=".$_POST['id'];
echo "sql=$sql<br>";
if(!mysql_query($sql))
{
	echo "error = ".mysql_error()."<br>";
}

Удалить строку из таблицы expert DELETE

$sql="DELETE FROM `expert` WHERE `id`=".$_GET['id'];
if(!mysql_query($sql))
{
	echo "<p style='color:red'>error: ".mysql_error()."</p>";
}
else
{
	header("Location: admin.php");
	exit(1);//убедитесь что последующий код не выполнится
}

Делаем запрос на выборку в две таблицы SELECT, запрос вообще простой, я для примера приведу, просле FROM идет название таблиц criterion и rank, а дальше идут условия, где id_expert из таблицы rank= переменной сесии (id_experta) и rank.id_criterion=criterion.id из таблицы criterion, то есть берется первая строка из таблицы criterion и затем с условиям выбирается строка из таблицы rank, если находится  таблице ранк строка удовлетворяющая условию, то сохраняется результат, выбираются все строки с двух таблиц. И так продолжается пока не закончатся строки в criterion

$sql="SELECT * FROM criterion, rank WHERE rank.id_expert = ".$_SESSION['user']." AND rank.id_criterion = criterion.id ORDER BY criterion.id DESC";
	echo "sql=$sql<br>";
	if(!($res=mysql_query($sql)))
	{
		echo mysql_error()."<br>";
	}
	else
	{
		echo "удачно<br>";
		$row=mysql_fetch_array($res);
		echo "<pre>";
		print_r($row);
		echo "</pre>";
		$row=mysql_fetch_array($res);
		echo "<pre>";
		print_r($row);
		echo "</pre>";
		$row=mysql_fetch_array($res);
		echo "<pre>";
		print_r($row);
		echo "</pre>";
	}

php переадресация

header("Location: aut.php");
exit(1);//убедитесь что последующий код не выполнится

Переадресация на страницу с которой пришли

header("Location: ".$_SERVER['HTTP_REFERER']);
exit(1);//убедитесь что последующий код не выполнится

mysql_fetch_array – возвращает данные в виде массива

Показать »

можно вывести массив с помощью print_r и посмотреть что там внутри

$sql="SELECT * FROM `expert` WHERE `email` = '".mysql_real_escape_string(trim($_POST['email']))."'";
$res=mysql_query($sql);
$row = mysql_fetch_array($res);
if(mysql_num_rows($res)==0||$row['pass']!=md5($_POST['pass']))//количество строк
{
	echo "<p style='color:red'>Не верен email или пароль</p>";
}
else
{
	//делаем авторизацию и переадресовываем пользователя на страницу
	echo "<p style='color:green'>Авторизация пользователя прошла успешно!</p>";
}

 

php сесии $_SESSION

Показать »

небольшой код по созданию и удалению сесий

session_start();
unset($_SESSION['name']); // или $_SESSION = array() для очистки всех данных сессии
session_destroy();
header('Location: index.php');

Если у вас после session_destroy сразу идет редирект то удалять данные из глобальной переменной $_SESSION не обязательно, данные в ней будут доступны только на текущем запросе.

PHP узнать ip и user-Agent

Показать »

<?php 
$ip=$_SERVER['REMOTE_ADDR'];
echo "ip= ".$ip."<br>";
$br=$_SERVER['HTTP_USER_AGENT'];
echo "браузер= ".$br."<br>";
//возвращает адресс страницы с которой перешли
echo header("Location: ".$_SERVER['HTTP_REFERER']);    
?>

php date() и time()

Показать »

$data=time();
echo date('d.m.Y h:i:s',$data)."<br>"; 
$data+=60*3;
echo date('d.m.Y h:i:s',$data)."<br>";

Отправить Post заропс на php curl

Показать »

send_post("http://kselax.ru","name=a&fam=3");
//функция отправляет пост запрос
function send_post($url_bot,$post)
{
	$curl = curl_init();
	curl_setopt($curl, CURLOPT_URL, $url_bot);
	curl_setopt($curl, CURLOPT_HEADER, 0);
	curl_setopt($curl, CURLOPT_POST, 1);
	curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
	curl_setopt($curl, CURLOPT_POSTFIELDS, $post);
	curl_setopt($curl, CURLOPT_USERAGENT, 'Opera 10.00');
	$res = curl_exec($curl);
	curl_close($curl);
	return $res;
}

Вывод даты по дням недели

Показать »

<?php 
$month=11;
$year=2015;
$result=array();
$result1=array();

$times  = mktime(0,0,0,$month,1,$year);

$day=60*60*24;
while($month== date("m",$times) ){
	$result[date("D",($times))][]= date("d",$times);
	$times+=$day;
	$count++;
}
$result1[1]=$result["Mon"];
$result1[2]=$result["Tue"];
$result1[3]=$result["Wed"];
$result1[4]=$result["Thu"];
$result1[5]=$result["Fri"];
$result1[6]=$result["Sat"];
$result1[7]=$result["Sun"];

echo $result["Fri"][0]." ".$result["Fri"][1]."<br>";
echo "<pre>";
print_r($result);
echo "</pre>";

echo "<hr><hr>";
echo "<pre>";
print_r($result1);
echo "</pre>";

?>

Вывод даты за месяц

Показать »

<?php 
require "config.php";

//$rows = mysql_query("SELECT * FROM `calendar`");//" WHERE `createdate` = $month year");
//echo now(); exit();

$month=11;
$year=2015;
/*
$times  = mktime(0,0,0,$month,1,$year);
echo date("Y-m-d h:i:s",$times)."<br>";
//exit();
*/

$rows =mysql_query("select * from `calendar` where date_format(Data, '%Y%m') = date_format('".$year."-".$month."-11 00:00:00', '%Y%m')");
if(!$rows){
	echo "mysql_error".mysql_error()."<br>";
	exit();
}
while ($str = mysql_fetch_array($rows)){
	echo $str['CalID']." - ".$str['Data']."<br>";
}

?>

 

 

 

 

 

 

 

 

 

 

Комментарии:


Оставить комментарий

Your email address will not be published. Required fields are marked *