<?php
//Переменные, которыми заполняется форма
$profession;
$work_schedule;
$education;
$salary;
$comment;
$surname;
$name;
$middlename;
//Когда открываем вакансию
if(isset($_POST["surname"]) && isset($_POST["name"]) && isset($_POST["middlename"])){
echo "1<br>";
$surname = $_POST["surname"];
$name = $_POST["name"];
$middlename = $_POST["middlename"];
try{
$fd = fopen($_POST["surname"] . " " . $_POST["name"] . " " . $_POST["middlename"] . " Вакансия", 'r');
if(!$fd){//Если файл не открывается, значит его нет,
fclose($fd);
$fd = fopen($file, 'w');//необходимо его создать
fclose($fd);
}else{//Если он есть, то прочитать и проинициализировать переменные, нужные для заполнения открываемой вакансии
$surname = fgets($fd);
$name = fgets($fd);
$middlename = fgets($fd);
$profession = fgets($fd);
$work_schedule = fgets($fd);
$education = fgets($fd);
$salary = fgets($fd);
while(!feof($fd)){
$comment .= fgets($fd);
}
fclose($fd);
}
}catch(Throwable $ex){
echo $ex -> getMessage . "<br>";
}
echo $surname . "<br>";
echo $name . "<br>";
echo $middlename . "<br>";
echo $profession . "<br>";
echo $work_schedule . "<br>";
echo $education . "<br>";
echo $salary . "<br>";
echo $comment . "<br>";
}
//Когда после редактирования сохраняем вакансию, то выполнение скрипта заходит сюда, а в первый if не заходит
if(isset($_POST["formsurname"]) && isset($_POST["formname"]) && isset($_POST["formmiddlename"]) && isset($_POST["profession"]) && isset($_POST["work_schedule"]) && isset($_POST["education"]) && isset($_POST["salary"]) && isset($_POST["comment"])){
echo "2<br>";
$surname = $_POST["formsurname"];
$name = $_POST["formname"];
$middlename = $_POST["formmiddlename"];
$profession = $_POST["profession"];
$work_schedule = $_POST["work_schedule"];
$education = $_POST["education"];
$salary = $_POST["salary"];
$comment = $_POST["comment"];
//Перезаписываем данные в файл
$fd = fopen($_POST["formsurname"] . " " . $_POST["formname"] . " " . $_POST["formmiddlename"] . " Вакансия", 'w');
fwrite($fd, $surname . "\n");
fwrite($fd, $name . "\n");
fwrite($fd, $middlename . "\n");
fwrite($fd, $profession . "\n");
fwrite($fd, $work_schedule . "\n");
fwrite($fd, $education . "\n");
fwrite($fd, $salary . "\n");
fwrite($fd, $comment);
fclose($fd);
echo $surname . "<br>";
echo $name . "<br>";
echo $middlename . "<br>";
echo $profession . "<br>";
echo $work_schedule . "<br>";
echo $education . "<br>";
echo $salary . "<br>";
echo $comment . "<br>";
}
//Заполнение формы вакансии переменными, перечисленными в самом начале
echo "<form method='POST' action='Create_Vacancy.php'>
<input type='hidden' name='formsurname' value='" . $surname . "'>
<input type='hidden' name='formname' value='" . $name . "'>
<input type='hidden' name='formmiddlename' value='" . $middlename . "'>
<h1>Вакансия</h1>
<p>Работодатель " . $surname ." " . $name . " " . $middlename . "</p>
<table>
<tr><th></th><th></th></tr>
<tr><td>Требуемая должность</td><td>
<select name='profession'>";
$conn = new PDO("mysql:host=localhost;dbname=Recruitment_Agency", "root", "mypassword");
$sql = "SELECT profession FROM Prof_list";
$stmt = $conn -> prepare($sql);
$stmt -> execute();
foreach($stmt as $row){//Список профессий
if($row["profession"] == "Профессии сервиса" or $row["profession"] == "Экономика" or $row["profession"] == "IoT" or $row["profession"] == "Медицина" or $row["profession"] == "Транспорт" or $row["profession"] == "Преподавание" or $row["profession"] == "Техническая сфера" or $row["profession"] == "Правоохранительные органы" or $row["profession"] == "Сельское хозяйство"){
echo "<option value='" . $row["profession"] . "' disabled>" . $row["profession"] ."</option>";
}elseif($row["profession"] == $profession){
echo "<option value='" . $row["profession"] . "' selected>" . $row["profession"] . "</option>";
}else{
echo "<option value='" . $row["profession"] . "'>" . $row["profession"] . "</option>";
}
}
echo " </select>
</td></tr>
<tr><td>График работы</td><td><select name='work_schedule'>";//Типы графиков работ
$conn = new PDO("mysql:host=localhost;dbname=Recruitment_Agency", "root", "mypassword");
$sql = "SELECT work_schedule FROM Work_schedule";
$stmt = $conn -> prepare($sql);
$stmt -> execute();
foreach($stmt as $row){
if($row["work_schedule"] == $work_schedule){
echo "<option value='" . $row["work_schedule"] . "' selected>" . $row["work_schedule"] . "</option>";
}else{
echo "<option value='" . $row["work_schedule"] . "'>" . $row["work_schedule"] . "</option>";
}
}
echo " </td></tr>
<tr><td>Образование</td><td><select name='education'>";
$conn = new PDO("mysql:host=localhost;dbname=Recruitment_Agency", "root", "mypassword");
$sql = "SELECT education FROM Education";
$stmt = $conn -> prepare($sql);
$stmt -> execute();
foreach($stmt as $row){
if($row["education"] == $education){
echo "<option value='" . $row["education"] . "' selected>" . $row["education"] . "</option>";
}else{
echo "<option value='" . $row["education"] . "'>" . $row["education"] . "</option>";
}
}
echo " </td></tr>
<tr><td>Оклад</td><td><input type='text' name='salary' value='" . $salary . "'/></td></tr>
</table>
<p>Комментарий по поводу работы</p>
<textarea name='comment'>" . $comment . "</textarea>
<p><input type='submit' value='Сохранить'></p>
</form>";
echo "<form action='Select_Vacancy.php'>
<input type='submit' value='На окно выбора вакансии'/>
</form>";
?>
Не получается нормально проинициализировать формы вакансии при открывании.
К примеру открываю форму, редактирую, сохраняю, перезаписывая изменения в файл, а потом пытаюсь снова открыть, прочитав все данные из уже измененного файла, но селекты не имеют нужных значений.
Чтобы заполнить селекты, достаю данные из базы, к примеру, для селекта, в котором выбираю профессию.
echo "<td>
<select name='profession'>";
$conn = new PDO("mysql:host=localhost;dbname=Recruitment_Agency", "root", "mypassword");
$sql = "SELECT profession FROM Prof_list";
$stmt = $conn -> prepare($sql);
$stmt -> execute();
foreach($stmt as $row){//Бежим по списку профессий
if($row["profession"] == "Профессии сервиса" or $row["profession"] == "Экономика" or $row["profession"] == "IoT" or $row["profession"] == "Медицина" or $row["profession"] == "Транспорт" or $row["profession"] == "Преподавание" or $row["profession"] == "Техническая сфера" or $row["profession"] == "Правоохранительные органы" or $row["profession"] == "Сельское хозяйство"){//Если категория професиий, то делаю, чтобы её выбрать нельзя было
echo "<option value='" . $row["profession"] . "' disabled>" . $row["profession"] ."</option>";
}elseif($row["profession"] == $profession){//Если профессия равна профессии, которая была прочитана из файла, то делаю, чтобы она отображалась на селекте
echo "<option value='" . $row["profession"] . "' selected>" . $row["profession"] . "</option>";
}else{//Иначе просто один из вариантов Селекта
echo "<option value='" . $row["profession"] . "'>" . $row["profession"] . "</option>";
}
}
echo " </select>
</td>