PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (1): [1]

> Найдено сообщений: 12
Moby Отправлено: 20 Июня, 2020 - 16:29:32 • Тема: Не получается составить запрос к БД • Форум: Вопросы новичков

Ответов: 1
Просмотров: 260
Добрый день. Я получаю на сервере параметр и мне нужно сравнить его с БД, и если там нет такого совпадения, то добавить строку в таблицу. В таблице users есть 4 столбца
u_id u_name created updated

PHP:
скопировать код в буфер обмена
  1.  
  2. $servername = "";
  3. $username = "";
  4. $password = "";
  5. $db = "";
  6. $conn = new mysqli($servername, $username, $password, $db);
  7.  
  8. if ($conn->connect_error) {
  9.   die("Connection failed: " . $conn->connect_error);
  10. }
  11.  
  12. $user_n = $_POST[name];
  13.  
  14. $sql = "SELECT * FROM `users` WHERE u_name like '%$user_n%'";
  15. $result = mysqli_query($sql);
  16.  
  17. print($result);
  18.  
  19. mysqli_close($conn);
  20.  
  21.  


и еще вопрос вдогонку, как извлечь параметр 123 из массива вида {list[1][data]: 123}
методом $_POST ? Т.е. из массива {user[id]:900} получается получить так $user_id = $_POST[user][id] , а иначе не получается
Moby Отправлено: 04 Апреля, 2019 - 07:34:24 • Тема: Создание лог файла • Форум: Вопросы новичков

Ответов: 13
Просмотров: 598
Немного изменил код, сейчас вижу что параметр select передается из этого файла
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. var app = new Vue({
  3.         el: '#myapp',
  4.         data:{
  5.                 members: [],
  6.         selected: '',
  7.                 search: {keyword: ''},
  8.                 noMember: false
  9.         },
  10.  
  11.         mounted: function(){
  12.                 this.fetchMembers();
  13.         },
  14.  
  15.         methods:{
  16.  
  17.                 searchMonitor: function() {
  18.                        
  19. var keyword = app.toFormData(app.search);
  20. axios.post('action.php?action=search&select='+this.selected, keyword)
  21.  
  22.                                 .then(function(response){
  23.                                         app.members = response.data.members;
  24.  
  25.                                         if(response.data.members == ''){
  26.                                                 app.noMember = true;
  27.                                         }
  28.                                         else{
  29.                                                 app.noMember = false;
  30.                                         }
  31.                                 });
  32.         },
  33.  
  34.  
  35.  
  36.         fetchMembers: function(){
  37.                         axios.post('action.php')
  38.                                 .then(function(response){
  39.                                         app.members = response.data.members;
  40.                                 });
  41.         },
  42.  
  43.                 toFormData: function(obj){
  44.                         var form_data = new FormData();
  45.                         for(var key in obj){
  46.                                 form_data.append(key, obj[key]);
  47.                         }
  48.                         return form_data;
  49.                 },
  50.  
  51.         }
  52. });
  53.  


во втором файле пытаюсь выловить его

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $conn = new mysqli("", "", "", "");
  3.  
  4. if ($conn->connect_error) {
  5.     die("Connection failed: " . $conn->connect_error);
  6. }
  7.  
  8. $out = array('error' => false);
  9.  
  10.         if (isset($_GET['select']))
  11. {
  12.         $sel = $_GET['select'];
  13.         $tablesArr=
  14.         [
  15.         "signups"=>"users",
  16.         "leads"=>"members",
  17.         "both"=>"users,members",
  18.         ];
  19.         $table=$tablesArr[$sel];
  20. }
  21.  
  22.  
  23. $action="show";
  24.  
  25. if(isset($_GET['action'])){
  26.         $action=$_GET['action'];
  27. }
  28.  
  29.  
  30. if($action=='show'){
  31.         $sql = "select * from $table";
  32.         $query = $conn->query($sql);
  33.         $members = array();
  34.  
  35.         while($row = $query->fetch_array()){
  36.                 array_push($members, $row);
  37.         }
  38.  
  39.         $out['members'] = $members;
  40.  
  41. }
  42.  
  43. if($action=='search'){
  44.         $keyword=$_POST['keyword'];
  45.        
  46.  
  47.         $sql="select * from $table where first_name like '%$keyword%' or last_name like '%$keyword%' or email like '%$keyword%'";
  48.         $query = $conn->query($sql);
  49.         $members = array();
  50.  
  51.         while($row = $query->fetch_array()){
  52.                 array_push($members, $row);
  53.         }
  54.  
  55.         $out['members'] = $members;
  56. }
  57.  
  58. $conn->close();
  59.  
  60. header("Content-type: application/json");
  61. echo json_encode($out);
  62. die();
  63.  
  64.  
  65. ?>


но почему-то ничего не работает
Moby Отправлено: 31 Марта, 2019 - 18:23:06 • Тема: Создание лог файла • Форум: Вопросы новичков

Ответов: 13
Просмотров: 598
Ничего не помогает... пробовал также

CODE (javascript):
скопировать код в буфер обмена
  1. if(this.searchtext != null){
Moby Отправлено: 31 Марта, 2019 - 15:17:52 • Тема: Создание лог файла • Форум: Вопросы новичков

Ответов: 13
Просмотров: 598
А, ясно, как поменять чтобы обрабатывать текст?
Moby Отправлено: 31 Марта, 2019 - 13:21:45 • Тема: Создание лог файла • Форум: Вопросы новичков

Ответов: 13
Просмотров: 598
Да, вроде то что нужно, только не пойму где вставлять searchtext?
И еще почему-то у меня ищет только численные запросы, а если ищу по тексту, то ничего не происходит. Данные принимаю из Vue файла
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. var app = new Vue({
  3.   el: '#myapp',
  4.   data: {
  5.     users: "",
  6.     searchtext: "",
  7.     select: "",
  8.   },
  9.   methods: {
  10.     allRecords: function(){
  11.  
  12.       axios.get('ajaxfile.php')
  13.       .then(function (response) {
  14.          app.users = response.data;
  15.       })
  16.       .catch(function (error) {
  17.          console.log(error);
  18.       });
  19.     },
  20.     recordByID: function(){
  21.       if(this.searchtext >0){
  22.  
  23.         axios.get('ajaxfile.php', {
  24.            params: {
  25.              searchtext: this.searchtext,
  26.              select: this.select,
  27.            }
  28.         })
  29.         .then(function (response) {
  30.            app.users = response.data;
  31.         })
  32.         .catch(function (error) {
  33.            console.log(error);
  34.         });
  35.       }
  36.     }
  37.   }
  38. })
  39.  
Moby Отправлено: 31 Марта, 2019 - 10:48:04 • Тема: Создание лог файла • Форум: Вопросы новичков

Ответов: 13
Просмотров: 598
Да, спасибо, уже разобрался. Есть еще вопрос. Есть такой код

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. include "config.php";
  4.  
  5. if (isset($_GET['select'])) {
  6.   $sel = $_GET['select'];
  7. }
  8.  
  9. $condition = "1";
  10. if(isset($_GET['searchtext'])){
  11.    $condition = " first_name=".$_GET['searchtext'];
  12. }
  13.  
  14. $userData = mysqli_query($con,"select * from users WHERE ".$condition);
  15.  
  16. $response = array();
  17.  
  18.  
  19. while($row = mysqli_fetch_assoc($userData)){
  20.  
  21.    $response[] = $row;
  22. }
  23.  
  24. echo json_encode($response);
  25. ?>
  26.  


где в качестве параметров я принимаю select и searchtext, как мне сделать так чтобы при
select = "Signups table" производился поиск по всем колонкам (а не только first_name) таблицы users. При select = "Leads table" производился поиск по всем колонкам таблицы members. При select = "Both tables" производился поиск по всем колонкам обеих таблиц. что-то не получается написать такой цикл...
Moby Отправлено: 30 Марта, 2019 - 14:41:35 • Тема: Создание лог файла • Форум: Вопросы новичков

Ответов: 13
Просмотров: 598
Да, вроде все пишет, спасибо. И еще вопрос, как этот файл положить в директорию /logs ?
Moby Отправлено: 30 Марта, 2019 - 11:09:19 • Тема: Создание лог файла • Форум: Вопросы новичков

Ответов: 13
Просмотров: 598
Господа, прошу вашей помощи. У меня есть php файл который принимает из формы данные $name и $email, мне нужно каждый раз при получении этих данных, внести их в новую строку лог файла, причем этот лог файл нужно создать каждый день в формате YYYYY-mm-dd-log.txt
Moby Отправлено: 25 Марта, 2019 - 18:49:32 • Тема: Сохранение сессии и добавление данных в БД • Форум: Вопросы новичков

Ответов: 6
Просмотров: 405
Извиняюсь, а в чем ошибка?
Moby Отправлено: 25 Марта, 2019 - 17:34:32 • Тема: Сохранение сессии и добавление данных в БД • Форум: Вопросы новичков

Ответов: 6
Просмотров: 405
Еще такой вопрос. Я получаю данные из двух форм, как мне обновить запись password в таблице, если данные из форм email и hidden_email совпадают, а если не совпадают то сделать новую запись? Пробую следующим образом, но ничего не получается:

PHP:
скопировать код в буфер обмена
  1.  
  2. if (isset($_POST['first_name'])) { $first_name = $_POST['first_name']; if ($first_name == '') { unset($first_name);} }
  3. if (isset($_POST['last_name'])) { $last_name = $_POST['last_name']; if ($last_name == '') { unset($last_name);} }
  4. if (isset($_POST['email'])) { $email=$_POST['email']; if ($email =='') { unset($email);} }
  5. if (isset($_POST['password'])) { $password=$_POST['password']; if ($password =='') { unset($password);} }
  6. if (isset($_POST['hidden_email'])) { $hidden_email=$_POST['hidden_email']; if ($hidden_email =='') { unset($hidden_email);} }
  7.  
  8. include ("bd.php");
  9.  
  10. $result3 = mysql_query("SELECT id FROM cust WHERE email='$hidden_email'",$db);
  11. $myrow = mysql_fetch_array($result3);
  12. if (!empty($myrow['id'])) {
  13. UPDATE cust SET password = $password WHERE email = $hidden_email;
  14. }
  15. else {
  16. $result2 = mysql_query ("INSERT INTO cust (datetime,first_name,last_name,email,password) VALUES(now(),'$first_name','$last_name','$email','$password')");
  17. }
  18.  
Moby Отправлено: 23 Марта, 2019 - 14:56:25 • Тема: Сохранение сессии и добавление данных в БД • Форум: Вопросы новичков

Ответов: 6
Просмотров: 405
Ок, спасибо. А как мне теперь записать пароль в нужный ID?
Moby Отправлено: 22 Марта, 2019 - 13:35:03 • Тема: Сохранение сессии и добавление данных в БД • Форум: Вопросы новичков

Ответов: 6
Просмотров: 405
Друзья, подскажите начинающему. У меня есть страница на которой есть форма с first_name, last_name, email. После отправки формы и записи данных в таблицу страница не перегружается и появляется другая форма с паролем. Как мне сохранить сессию и записать пароль в БД для ID того же юзера? Код PHP обработчика форм:

<?php
if (isset($_POST['first_name'])) { $first_name = $_POST['first_name']; if ($first_name == '') { unset($first_name);} }
if (isset($_POST['last_name'])) { $last_name = $_POST['last_name']; if ($last_name == '') { unset($last_name);} }
if (isset($_POST['email'])) { $email=$_POST['email']; if ($email =='') { unset($email);} }
if (isset($_POST['password'])) { $password=$_POST['password']; if ($password =='') { unset($password);} }

if (empty($first_name) or empty($last_name) or empty($email))
{
exit ();
}

$first_name = stripslashes($first_name);
$first_name = htmlspecialchars($first_name);

$last_name = stripslashes($last_name);
$last_name = htmlspecialchars($last_name);

$email = stripslashes($email);
$email = htmlspecialchars($email);

$password = stripslashes($password);
$password = htmlspecialchars($password);

$first_name = trim($first_name);
$last_name = trim($last_name);
$email = trim($email);
$password = trim($password);

include ("bd.php");


$result = mysql_query("SELECT id FROM cust WHERE first_name='$first_name'",$db);
$myrow = mysql_fetch_array($result);
if (!empty($myrow['id'])) {
exit ();
}


$result2 = mysql_query ("INSERT INTO cust (first_name,last_name,email,password) VALUES('$first_name','$last_name','$email','$password')");

?>

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB