.htaccess файл
Задание кодировки utf-8
1 |
AddDefaultCharset UTF-8 |
Задание кодировки cp1251
1 |
AddDefaultCharset WINDOWS-1251 |
Подключение БД в php
код подключения к БД
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<?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 использование псевдонимов
1 |
$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
1 2 3 4 5 6 7 8 9 10 11 12 |
$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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
//проверяем существования 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
1 |
$sql="SELECT * FROM `criterion` ORDER BY `id` DESC"; |
Обновить строку в таблице expert UPDATE
1 2 3 4 5 6 |
$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
1 2 3 4 5 6 7 8 9 10 |
$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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
$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 переадресация
1 2 |
header("Location: aut.php"); exit(1);//убедитесь что последующий код не выполнится |
Переадресация на страницу с которой пришли
1 2 |
header("Location: ".$_SERVER['HTTP_REFERER']); exit(1);//убедитесь что последующий код не выполнится |
mysql_fetch_array — возвращает данные в виде массива
можно вывести массив с помощью print_r и посмотреть что там внутри
1 2 3 4 5 6 7 8 9 10 11 12 |
$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
небольшой код по созданию и удалению сесий
1 2 3 4 |
session_start(); unset($_SESSION['name']); // или $_SESSION = array() для очистки всех данных сессии session_destroy(); header('Location: index.php'); |
Если у вас после session_destroy
сразу идет редирект то удалять данные из глобальной переменной $_SESSION не обязательно, данные в ней будут доступны только на текущем запросе.
PHP узнать ip и user-Agent
1 2 3 4 5 6 7 8 |
<?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()
1 2 3 4 |
$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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
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; } |
Вывод даты по дням недели
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
<?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>"; ?> |
Вывод даты за месяц
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
<?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>"; } ?> |