👨🏻💻 Необходимо аждую секунду проверять, существует ли уже пользователь с таким логином
Есть страница регистрации. На ней должен работать программа, который каждую секунду берёт из формы данные, и обычным sql проверяет, существует ли уже юзер с такими же.
Как узнавать данные из формы?
Как делать это каждую секунду?
А может быть, лучше сделать js скрипт, который каждую секунду добавляет
PHP задачи с собеседований
Есть страница регистрации. На ней должен работать программа, который каждую секунду берёт из формы данные, и обычным sql проверяет, существует ли уже юзер с такими же.
Как узнавать данные из формы?
Как делать это каждую секунду?
А может быть, лучше сделать js скрипт, который каждую секунду добавляет
iframe с check.php?login=nnn?
PHP задачи с собеседований
Проверить если таблица существует mySQL PHP
Вот код PHP
Даже контент страницы не загружается после этого кода php. Нужно проверить если таблица linkName существует то выполнить следующий код
Где тут ошибка?
PHP задачи с собеседований
Вот код PHP
<?Не работает эта строка
$path = $_SERVER['DOCUMENT_ROOT'];
include_once $path . '/wp-config.php';
include_once $path . '/wp-load.php';
include_once $path . '/wp-includes/wp-db.php';
include_once $path . '/wp-includes/pluggable.php';
global $wpdb;
$serv = $wpdb->dbhost;
$user = $wpdb->dbuser;
$pass = $wpdb->dbpassword;
$name = $wpdb->dbname;
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli($serv, $user, $pass, $name);
$val = mysql_query("SHOW TABLES LIKE `linkName`");
if($val !== FALSE)
{
$sql = "SELECT link FROM linkName";
$result = $mysqli->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "<div id='linkTitle'>".$row["link"]."</div>";
}
}
}
$mysqli->close();
?>
if($val !== FALSE)
Даже контент страницы не загружается после этого кода php. Нужно проверить если таблица linkName существует то выполнить следующий код
"SELECT link FROM linkName"
Где тут ошибка?
PHP задачи с собеседований
👨🏻💻 Не могу подключиться к базам данных
Я новичок в php, но очень хочу обучится. Создала обычную форму, но не могу подключиться к базам данных. При нажатии на кнопку, происходит подключение к файлу php, но в браузере ничего не отображается. Не могу найти ошибку.
файлы: index.php:
register.php:
db.php:
может быть что то необходимо подключить, потому что делаю с 0.
PHP задачи с собеседований
Я новичок в php, но очень хочу обучится. Создала обычную форму, но не могу подключиться к базам данных. При нажатии на кнопку, происходит подключение к файлу php, но в браузере ничего не отображается. Не могу найти ошибку.
файлы: index.php:
<!DOCTYPE html>
<html xml:lang="ru" lang="ru">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE-edge">
<meta name="viewport" content="width-device-width? initial- scale-1.0">
<title>CSS</title>
<link rel="stylesheet" href="css/style.css" />
</head>
<body>
<header>
<section>
<form action="/php/register.php" method="post">
<label for="login">Логин</label><br>
<input type="txt" name="login" id="login"><br><br>
<label for="password">Пароль</label><br>
<input type="txt" name="password" id="password"><br><br>
<label for="email">E-mail</label><br>
<input type="txt" name="email" id="email"><br><br>
<button class="button-a">Зарегистрироваться</button>
</form>
</section>
</div>
</header>
</body>
</html>
register.php:
<?php
| require_once('db.php');
$login = $_POST['login'];
$password = $_POST['password'];
$email = $_POST['email'];
?>
db.php:
<?php
$servername = "localhost";
$username = "root";
$password = "";
$bdname = "users";
$conn = mysqli_connect($servername, $username, $password, $bdname);
if (!$conn){
due("Сonnection file". myesquel_connect_error());
} elso {
echo "Успех";
}
?>
может быть что то необходимо подключить, потому что делаю с 0.
PHP задачи с собеседований
Как внутри <?if (!isset($_COOKIE[сюда])){?> вставить php echo
Подскажите, как внутри <?if (!isset($_COOKIE[сюда надо вставить])){?> вставить вот такой код: <?php echo $this->href_to('karma_vote', $profile['id']); ?> Такая конструкция нужна для того, чтобы в $_COOKIE[] на каждой странце был уникальный код, который в другом месте этой страницы выводится с помощью <?php echo $this->href_to('karma_vote', $profile['id']); ?>. Если вставлять как есть - страница не открывается, ошибка 500. Наверное, решение на уровне азов PHP, но я как раз решил постигать их опытным путем и пока не могу сам найти рабочий способ.
PHP задачи с собеседований
Подскажите, как внутри <?if (!isset($_COOKIE[сюда надо вставить])){?> вставить вот такой код: <?php echo $this->href_to('karma_vote', $profile['id']); ?> Такая конструкция нужна для того, чтобы в $_COOKIE[] на каждой странце был уникальный код, который в другом месте этой страницы выводится с помощью <?php echo $this->href_to('karma_vote', $profile['id']); ?>. Если вставлять как есть - страница не открывается, ошибка 500. Наверное, решение на уровне азов PHP, но я как раз решил постигать их опытным путем и пока не могу сам найти рабочий способ.
PHP задачи с собеседований
Как можно редактировать или удалять сообщения без указания их id на странице?
Есть чат на чистом PHP и Js. У каждого сообщения в атрибутах указан id сообщения из бд. По нему я редактирую или удаляю сообщения. На сервер отправляется id сообщения. На сервере убеждаюсь, что это владелец сообщения, и что-то с ним делаю. Как можно это сделать без указания id сообщения на странице?
PHP задачи с собеседований
Есть чат на чистом PHP и Js. У каждого сообщения в атрибутах указан id сообщения из бд. По нему я редактирую или удаляю сообщения. На сервер отправляется id сообщения. На сервере убеждаюсь, что это владелец сообщения, и что-то с ним делаю. Как можно это сделать без указания id сообщения на странице?
PHP задачи с собеседований
Не могу сделать два запроса одновременно в MySQL через php
Вот код
Наверное не срабатывает эта строка
Не могу создать таблицу linkName и вторым действием записать значение $nameLink. Что тут не так?
PHP задачи с собеседований
Вот код
if(isset($_POST['name'])) {
$nameLink = $_POST['name'];
}
$path = $_SERVER['DOCUMENT_ROOT'];
include_once $path . '/wp-config.php';
include_once $path . '/wp-load.php';
include_once $path . '/wp-includes/wp-db.php';
include_once $path . '/wp-includes/pluggable.php';
global $wpdb;
$serv = $wpdb->dbhost;
$user = $wpdb->dbuser;
$pass = $wpdb->dbpassword;
$name = $wpdb->dbname;
$conn = new mysqli($serv, $user, $pass, $name);
$sql = "CREATE TABLE linkName (link VARCHAR(30) NOT NULL)";
$sql .= "INSERT INTO linkName (link) VALUES (".$nameLink.")";
mysqli_close($conn);
Наверное не срабатывает эта строка
$sql .= "INSERT INTO linkName (link) VALUES (".$nameLink.")";
Не могу создать таблицу linkName и вторым действием записать значение $nameLink. Что тут не так?
PHP задачи с собеседований
Не работает библиотека phpWord
Нужно конвертировать файлы на php из формата docx в формат txt. Решил воспользоваться библиотекой phpWord. Написал я следующий код для конвертации:
Как я подозреваю проблема с самой библиотекой потому что после использования скрипт выдает следующую ошибку:
Не имею честно говоря и малейшего понимания как решить эту проблему, уже долгое время.
PHP задачи с собеседований
Нужно конвертировать файлы на php из формата docx в формат txt. Решил воспользоваться библиотекой phpWord. Написал я следующий код для конвертации:
<?php
require 'vendor/autoload.php';
use PhpOffice\PhpWord\IOFactory;
$inputFile = $_FILES['filename']['tmp_name'];
$outputFile = 'D:\localhost\txt\meow.txt';
function convertDocxToTxt($docxFilePath, $txtFilePath) {
$phpWord = IOFactory::load($docxFilePath);
$txtContent = $phpWord->getFullText();
file_put_contents($txtFilePath, $txtContent);
}
if(move_uploaded_file($_FILES['filename']['tmp_name'], 'uploads/'.$_FILES['filename']['name'])){
echo "Файл скопирован на сервер";
echo "<br>";
echo "<br>";
echo $_FILES['filename']['tmp_name'];
convertDocxToTxt($inputFile, $outputFile);
echo "конвертация завершена";
} else {
echo "Повторите загрузку файла на сервер";
}
?>
Как я подозреваю проблема с самой библиотекой потому что после использования скрипт выдает следующую ошибку:
Fatal error: Uncaught Exception: Cannot find archive file. in D:\localhost\vendor\phpoffice\phpword\src\PhpWord\Shared\XMLReader.php:60 Stack trace: #0 D:\localhost\vendor\phpoffice\phpword\src\PhpWord\Reader\Word2007.php(150): PhpOffice\PhpWord\Shared\XMLReader->getDomFromZip('D:\\localhost\\up...', '_rels/.rels') #1 D:\localhost\vendor\phpoffice\phpword\src\PhpWord\Reader\Word2007.php(114): PhpOffice\PhpWord\Reader\Word2007->getRels('D:\\localhost\\up...', '_rels/.rels') #2 D:\localhost\vendor\phpoffice\phpword\src\PhpWord\Reader\Word2007.php(44): PhpOffice\PhpWord\Reader\Word2007->readRelationships('D:\\localhost\\up...') #3 D:\localhost\vendor\phpoffice\phpword\src\PhpWord\IOFactory.php(89): PhpOffice\PhpWord\Reader\Word2007->load('D:\\localhost\\up...') #4 D:\localhost\file2.php(10): PhpOffice\PhpWord\IOFactory::load('D:\\localhost\\up...') #5 D:\localhost\file2.php(20): convertDocxToTxt('D:\\localhost\\up...', 'D:\\localhost\\tx...') #6 {main} thrown in D:\localhost\vendor\phpoffice\phpword\src\PhpWord\Shared\XMLReader.php on line 60
Не имею честно говоря и малейшего понимания как решить эту проблему, уже долгое время.
PHP задачи с собеседований
Как подключиться из websocket к базе данных?
у меня есть код для работы с websocket, я пытаюсь записать сообщение пользователя в базу данных, но, когда пытаюсь подключиться к базе данных ($this->connectDB = new DB();), выдает ошибку подключения к websocket, сам websocket я запускаю, как параллельные процесс:
Код создания объекта подключение к БД:
код подключения к БД:
Не знаю, насколько понятен мой вопрос, но что-то тяжело сообразить, как правильно его сформулировать...
PHP задачи с собеседований
у меня есть код для работы с websocket, я пытаюсь записать сообщение пользователя в базу данных, но, когда пытаюсь подключиться к базе данных ($this->connectDB = new DB();), выдает ошибку подключения к websocket, сам websocket я запускаю, как параллельные процесс:
<?php
ini_set('display_errors', 1);
exec("php chat-server.php param=value > /dev/null 2>/dev/null &");
require_once 'app/Bootstrap.php';
?>
Код создания объекта подключение к БД:
<?php
namespace App\core;
use Ratchet\MessageComponentInterface;
use Ratchet\ConnectionInterface;
use App\data\DB;
class Chat implements MessageComponentInterface
{
protected $clients;
public $connectDB;
public function __construct() {
$this->clients = new \SplObjectStorage;
$this->connectDB = new DB();
}
код подключения к БД:
<?php
namespace App\data;
use RedBeanPHP\R;
use RedBeanPHP\RedException;
try{
R::setup('sqlite:' . DATA . 'db.sqlite');
if(!R::testConnection()) {
throw new RedException('No connection');
}
}
catch(RedException $e){
exit(var_dump($e));
}
class DB {
Не знаю, насколько понятен мой вопрос, но что-то тяжело сообразить, как правильно его сформулировать...
PHP задачи с собеседований
Не могу обновить DateTime в MySQL с помощью PHP
При попытке обновить поле с форматом DateTime пишет:
А вот какое значение я пытаюсь передать:
2024-01-12T16:41
Вот код:
PHP задачи с собеседований
При попытке обновить поле с форматом DateTime пишет:
Fatal error: Uncaught Error: Object of class DateTime could not be converted to string in /var/www/MiniCRM/app/models/todo/tasks/ToDoTasksModel.php:137 Stack trace: #0 /var/www/MiniCRM/app/models/todo/tasks/ToDoTasksModel.php(137): PDOStatement->execute() #1 /var/www/MiniCRM/app/controllers/todo/tasks/ToDoTasksController.php(80): app\models\todo\tasks\ToDoTasksModel->edit() #2 [internal function]: app\controllers\todo\tasks\ToDoTasksController->editReg() #3 /var/www/MiniCRM/app/Router.php(59): call_user_func_array() #4 /var/www/MiniCRM/index.php(29): app\Router->run() #5 {main} thrown in /var/www/MiniCRM/app/models/todo/tasks/ToDoTasksModel.php on line 137
А вот какое значение я пытаюсь передать:
2024-01-12T16:41
Вот код:
$finish_date_value = $data['finish_date'];
$reminded_at_option = $data['reminded_at'];
$finish_date = new \DateTime($finish_date_value);
switch ($reminded_at_option) {
case '30_minutes':
$interval = new \DateInterval('PT30M');
break;
case '1_hour':
$interval = new \DateInterval('PT1H');
break;
case '2_hours':
$interval = new \DateInterval('PT2H');
break;
case '12_hours':
$interval = new \DateInterval('PT12H');
break;
case '24_hours':
$interval = new \DateInterval('P1D');
break;
case '7_days':
$interval = new \DateInterval('P7D');
break;
}
$prereminded_at = $finish_date->sub($interval);
$data['reminded_at'] = $prereminded_at->format('Y-m-d\TH:i');
$reminded_at = $data['reminded_at'];
$st = $this->db->prepare("UPDATE `todo_tasks` SET title = ?, description = ?, category = ?, status = ?, priority = ?, finish_date = ?, reminded_at = ? WHERE id = ?");
$st->execute([$title, $description, $category, $status, $priority, $finish_date, $reminded_at, $id]);
PHP задачи с собеседований
Как вывести данные из MySQL при помощи PHP?
Есть таблица news, в ней 5 полей id, text, title, author, date. Необходимо вывести на странице эти данные. У меня никак не получается это сделать: все время какие-либо ошибки. Пробовал использовать функцию mysql_fetch_assoc, но что-то, как ее применять, я не очень понял постоянно - одна и та же ошибка expects parameter 1 to be resource, boolean. Я, конечно, понимаю, что это значит, но вот как исправить - нет...
PHP задачи с собеседований
Есть таблица news, в ней 5 полей id, text, title, author, date. Необходимо вывести на странице эти данные. У меня никак не получается это сделать: все время какие-либо ошибки. Пробовал использовать функцию mysql_fetch_assoc, но что-то, как ее применять, я не очень понял постоянно - одна и та же ошибка expects parameter 1 to be resource, boolean. Я, конечно, понимаю, что это значит, но вот как исправить - нет...
$news = mysql_query("SELECT * FROM `news` ");
while ($row = mysql_fetch_assoc($news, MYSQL_ASSOC)) {
foreach ($row as $col_value) {
print "\t\t<td>$col_value</td>\n";
}
}
PHP задачи с собеседований
Передача переменных в подключаемый файл
Доброго всем времени суток господа
Собственно не могу передать get переменную в подключаемый файл. Айфреймы в моем случае не катят. В гугле пишут, что 'должно работать'. Но в реальности ошибка
короче как бы он пытается найти не файл с переменной, а файл с таким адресом
Подскажите, как прописать GET параметры в подключаемый файл.
PHP задачи с собеседований
Доброго всем времени суток господа
include('./block.php'); // работает
include('./block.php?alfa=1&beta=2'); // не работает
Собственно не могу передать get переменную в подключаемый файл. Айфреймы в моем случае не катят. В гугле пишут, что 'должно работать'. Но в реальности ошибка
warning: include(./block.php?alfa=1&beta=2)
failed to open stream
короче как бы он пытается найти не файл с переменной, а файл с таким адресом
Подскажите, как прописать GET параметры в подключаемый файл.
PHP задачи с собеседований
Не поворачиваются картинки на мобильном устройстве с использованием php
Есть сайт с картинками, которые подгружаются из базы данных и отображаются на сайте в ряд. Необходимо реализовать функционал поворота данных картинок. Реализовал поворот при помощи данного кода:
Проблема в том, что на компьютере данный код отлично отрабатывает и картинки поворачиваются без проблем, а вот на мобильном устройстве картинки вообще не поворачиваются. Подскажите в чём может быть причина?
PHP задачи с собеседований
Есть сайт с картинками, которые подгружаются из базы данных и отображаются на сайте в ряд. Необходимо реализовать функционал поворота данных картинок. Реализовал поворот при помощи данного кода:
$image = imagecreatefromjpeg($path);
$rotate = imagerotate($image, $degree, 0);
imagejpeg($rotate, $path);
imagedestroy($image);
Проблема в том, что на компьютере данный код отлично отрабатывает и картинки поворачиваются без проблем, а вот на мобильном устройстве картинки вообще не поворачиваются. Подскажите в чём может быть причина?
PHP задачи с собеседований
xdebug не может соединиться с VSCode
Нужно настроить коннект xdebug с VScode. В xdebug конфиги такие (он не в docker):
в VSCode в launch.json
В логах ошибка - что не удалось соединится с клиентом, не могу понять почему, если они на одном хосте, что клиент что xdebug!
ERR: Could not connect to debugging client. Tried: 127.0.0.1:9000 (fallback through xdebug.client_host/xdebug.client_port).
PHP задачи с собеседований
Нужно настроить коннект xdebug с VScode. В xdebug конфиги такие (он не в docker):
zend_extension=xdebug.so
xdebug.remote_enable=1
xdebug.start_with_request = yes
xdebug.discover_client_host = true
xdebug.client_host = 127.0.0.1
xdebug.client_port = 9000
xdebug.idekey = vsc
xdebug.mode = debug
xdebug.trace_output_name = trace.%s.%u
xdebug.profiler_output_name = cachegrind.out.%R.%u
xdebug.output_dir = /tmp
xdebug.log = /var/log/xdebug.log
xdebug.profiler_enable = 1
xdebug.profiler_enable_trigger = 1
xdebug.output_dir = /var/www/.xdebug
xdebug.cli_color=1
в VSCode в launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "remote XDebug",
"type": "php",
"request": "launch",
"hostname": "127.0.0.1",
"port": 9000,
"pathMappings": {
"/var/www/crm.itscript.local": "${workspaceRoot}"
}
},
]
}
В логах ошибка - что не удалось соединится с клиентом, не могу понять почему, если они на одном хосте, что клиент что xdebug!
ERR: Could not connect to debugging client. Tried: 127.0.0.1:9000 (fallback through xdebug.client_host/xdebug.client_port).
PHP задачи с собеседований
Php спит перед загрузкой сайта
У меня есть код, вот его кусок:
И дело в том, что сайт загружается как раз 10 секунд, и к тому времени файл уже удаляется, как сделать так, чтобы sleep работал вовремя, а не перед загрузкой сайта? Заранее спасибо.
PHP задачи с собеседований
У меня есть код, вот его кусок:
echo "файл загружен успешно: $filename";
sleep(10);
unlink($filename);
И дело в том, что сайт загружается как раз 10 секунд, и к тому времени файл уже удаляется, как сделать так, чтобы sleep работал вовремя, а не перед загрузкой сайта? Заранее спасибо.
PHP задачи с собеседований