Создание простого портала HR

ilmamont

Новичок
Добрый день.
На бутсрапе соберу простой сайт с предназначеный для размещения вакансий и резюме.
легкий поблочный будет, без регистрации, чтобы можно было оставлять данные.
Более менее разобрался с обращением к базе данным и выводом данных из нее.
Но вот как сделать, чтобы была ссылка ,по нажатию на которую открывались бы все остальные элементы БД.
Ну типа список вакансий: (водитель такси, столяр, продавец) выводился бы список. по нажатию на каждый выводились бы данные из бд, Название компании, описание вакансии, график и зарплата. И такое же соответственно с резюме. Потом как их группировать на папку выше ,типа водители, продавцы, руководители... Как такая иерархия делается?
И может есть удобнее решение, чем общение с БД, и просто запись в файл на сервере. Помогите пожалуйста, как реализовать это?
 

Фанат

oncle terrible
Команда форума
у вакансии в базе должно быть поле id
название вакансии делать ссылкой, значение этого поля передавать в ссылке
на странице вакансии запрашивать инфу из базы по id

Сделай сначала это, потом будешь делать категории, это тоже несложно.

Только одно замечание - если "без регистрации, чтобы можно было оставлять данные ", то тебе напихают ссылок на порнуху по самые помидорки.
Но это тоже не бином ньютона, тоже со временем прикрутишь
 

ilmamont

Новичок
Сколько колбашусь, куча разных вариантов ввода в базу видел, и все равно не могу отточить это. Помогите пожалуйста, почему ругается на синтаксис переменных id, des?

<?
$hostname = "localhost";
$username = "root";
$password = "root";
$dbName = "test";
$userstable = "test";
$link = mysqli_connect($hostname,$username,$password, $userstable);
if ($link == false){
print("Ошибка: Невозможно подключиться к MySQL " . mysqli_connect_error());
}
else {
print("Соединение установлено успешно");
}
$id = $_POST['id'];
$des = $_POST['des'];
$zar = $_POST['zar'];
$graf = $_POST['graf'];

$sql = 'INSERT INTO (id,des,zar,graf) SET ('$id', '$des', '$zar', '$graf')';
$result = mysqli_query($link, $sql);

if ($result == false) {
print("Произошла ошибка при выполнении запроса");

}
?>
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Как именно ругается?

Так как это делаешь ты - переменные никто не принимает на серверной стороне, без проверок. Ведь может не быть какой-либо переменной в массиве $_POST.

PS: SQL запрос твой не очень хорош с точки зрения устойчивости приложения к ошибкам.
 

ilmamont

Новичок
<?
$host = "localhost";
$user = "root";
$pass = "root";
$db = "test";
$t = "test";
$port = "3306";
$id = $_POST['id'];
$des = $_POST['des'];
$zar = $_POST['zar'];
$graf = $_POST['graf'];
$charset = 'utf8mb4';
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
try {
$mysqli = new mysqli($host, $user, $pass, $db, $port);
$mysqli->set_charset($charset);
} catch (\mysqli_sql_exception $e) {
throw new \mysqli_sql_exception($e->getMessage(), $e->getCode());
}
unset($host, $db, $user, $pass, $charset);

$sql = "INSERT INTO test (id, des, zar, graf) VALUES (?, ?, ?, ?)";
$stmt= $conn->prepare($sql);
$stmt->bind_param($id, $des, $zar, $graf);
$stmt->execute();
?>

Интересная версия кода у Вас, я уже было обрадовался, найден клад)) но ругается на . . . . $stmt= $conn->prepare($sql);
Подскажите пожалуйста ,что тут не так?
 

Фанат

oncle terrible
Команда форума
в каком смысле ругается? обзывает дармоедом и селёдкой в харю тычет?
 

ilmamont

Новичок
Так вот..
Fatal error
: Uncaught Error: Call to a member function prepare() on null in W:\domains\test.ru\index.php:43 Stack trace: #0 {main} thrown in W:\domains\test.ru\index.php on line 43
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
А ты где-то инициализировал переменную $conn, что сокращенно от $connection? Нет, не инифиализировал, а очень надо. Надо включить голову, посмотреть на код и подумать, что слепое копирование строк не приведет ровным счетом ни к чему. Потом взять и переписать несколько строк, заменив кусок из второй ссылки на правильные значения переменной.
 

ilmamont

Новичок
Поменял на $mysqli
но новые проблемы.. Я думал тот код совершенство...

Warning: mysqli_stmt::bind_param(): Invalid type or no types specified in W:\domains\test.ru\index.php on line 44

Fatal error
: Uncaught mysqli_sql_exception: No data supplied for parameters in prepared statement in W:\domains\test.ru\index.php:45 Stack trace: #0 W:\domains\test.ru\index.php(45): mysqli_stmt->execute() #1 {main} thrown in W:\domains\test.ru\index.php on line



Может у Вас есть вариант супер кода? я два курса прохордил PHP, и все какие то слабые они, результат знаний - сами видите...
Столько лет это существует, но никто так и не придумал варианта общения с БД по проще...
Мне бы вот, уяснить четко - как вносить с проверкой на инъекции в базу ,выводить, делать каталог из БД, и все без геммора, и больше к великим возможностям БД лезть не буду. надо то всего - а интернет как завбор, только (реп кал, да цой жив) - в абстрактной интерпритации различного варианта написаниякода в инете....
 

fixxxer

К.О.
Партнер клуба
для начала надо четко себе уяснить синтаксис языка

и смотреть примеры, вникая в них, а не тупо копипастить, повторяя без понимания как попугай

по ссылке Фаната нормальный код, который надо просто суметь адаптировать для своих целей, не испортив его.

у тебя пока не получается.
 

ilmamont

Новичок
для начала надо четко себе уяснить синтаксис языка

и смотреть примеры, вникая в них, а не тупо копипастить, повторяя без понимания как попугай

по ссылке Фаната нормальный код, который надо просто суметь адаптировать для своих целей, не испортив его.

у тебя пока не получается.
Подскажи пожалуйста, где я тут испортил
 
Сверху