Elmanovyurik
@Elmanovyurik
Гайды мое все...

Перенос переменной из одного файла в другой?

Добрый день, тут такая штука мне нужно из одного файла кинуть параметр id в другой, что бы по нему редактировать вакансию.
страница где находиться кнопка, и формируется данная переменная
<?php
	 							$Param1 = 'SELECT `id`, `title`, `regdate` FROM vacancies ORDER BY `id` DESC LIMIT 0, 10' ;
	 							$Query = mysqli_query($CONNECT, $Param1);
	 							while ($Row = mysqli_fetch_assoc($Query))
	 								{
	 									echo 
	 									'
	 										<br>
	 										<div class="titlevac"> 
	 											<br>
	 											<h2>'.$Row['title'].'</h2>
	 											<br>
	 											<span>ID новости: '.$Row['id'].'</span>
	 											<a href="/admin/editvacancies?id='.$Row['id'].'">Edit</a> | <a href="requesthandlerdeletevacancies?id='.$Row['id'].'">Delete</a>
	 										<br>
	 										<span>Дата добавления:  '.$Row['regdate'].'</span><br><br><hr>
	 										</div>
	 									'; 
	 								}
	 						?>

Форма
<div class="edit">
	 			<form method="POST" action="requesthandlereditvacancies">
	 				<script type="text/javascript">
   			 			window.onload = function()
    						{
      			 					CKEDITOR.replace('preview');
      			 					CKEDITOR.replace('content');
   							};
					</script>
					<br>
	 				<input type = "text" name = "title" placeholder = "Введите новое название вакансии" required autocomplete="off"><br><br>
	 				ID вакансии: <textarea name = "id"></textarea><br>
					Краткое описание вакансии: <textarea name = "preview"></textarea><br>
					Полное описание вакансии:  <textarea name = "content"></textarea><br>	
					<input type = "submit" name = "enter" value = "Изменить вакансию"> <input type = "reset" value = "Очистить поля">
	 			</form>
	 		</div>

Обработчик куда должна попасть переменная
<?php 
	if($Module == 'requesthandlereditvacancies' and $_POST['enter'])
				{
					$_POST['title']   = FormChars($_POST['title']);
					$_POST['preview'] = FormChars($_POST['preview']);
					$_POST['content'] = FormChars($_POST['content']);
				
			if(!$_POST['title'] or !$_POST['preview'] or !$_POST['content']) 
				{
					MessageSend(1,'Ошибка валидации формы.');
				}					
			else 
				{
				mysqli_query($CONNECT, "UPDATE `vacancies` SET  title = '$_POST[title]', preview = '$_POST[preview]', content = '$_POST[content]', regdate = NOW() WHERE id=$_POST[id]");
				MessageSend(3,'Данные изменены в базе данных.');	
				}		
		}
?>

Суть вопроса такая, нужно из 1 файла ( где формируется массив вывода вакансий) , я ее отправляю в файл с формой запросом get, и вот теперь как мне вытащить его оттуда и отправить в обработчик и поставить на место $_POST[id]
  • Вопрос задан
  • 200 просмотров
Решения вопроса 1
Elmanovyurik
@Elmanovyurik Автор вопроса
Гайды мое все...
Где формируем массив
<?php
	 							$Param1 = 'SELECT `id`, `title`, `regdate` FROM vacancies ORDER BY `id` DESC LIMIT 0, 5' ;
	 							$Query = mysqli_query($CONNECT, $Param1);
	 							while ($Row = mysqli_fetch_assoc($Query))
	 								{
	 									echo 
	 									'
	 										<br>
	 										<div class="titlevac"> 
	 											<br>
	 											<h2>'.$Row['title'].'</h2>
	 											<br>
	 											<span>ID новости: '.$Row['id'].'</span>
	 											<a href="/admin/editvacancies?id='.$Row['id'].'">Edit</a> | <a href="requesthandlerdeletevacancies?id='.$Row['id'].'">Delete</a>
	 										<br>
	 										<span>Дата добавления:  '.$Row['regdate'].'</span><br><br><hr>
	 										</div>
	 									'; 
	 								}
	 						?>


Форма
<form method="POST" action="requesthandlereditvacancies">
	 				<script type="text/javascript">
   			 			window.onload = function()
    						{
      			 					CKEDITOR.replace('preview');
      			 					CKEDITOR.replace('content');
   							};
					</script>
					<br>
					<?php $id=$_GET["id"];?>
	 				<input type = "text" name = "title" placeholder = "Введите новое название вакансии" required autocomplete="off"><br><br>
	 				ID вакансии: <textarea name = "id" readonly><?php echo $id; ?></textarea><br>
					Краткое описание вакансии: <textarea name = "preview"></textarea><br>
					Полное описание вакансии:  <textarea name = "content"></textarea><br>	
					<input type = "submit" name = "enter" value = "Изменить вакансию"> <input type = "reset" value = "Очистить поля">
	 			</form>


Обработчик
<?php 
	if($Module == 'requesthandlereditvacancies' and $_POST['enter'])
				{
					$_POST['title']   = FormChars($_POST['title']);
					$_POST['preview'] = FormChars($_POST['preview']);
					$_POST['content'] = FormChars($_POST['content']);
				
			if(!$_POST['title'] or !$_POST['preview'] or !$_POST['content']) 
				{
					MessageSend(1,'Ошибка валидации формы.');
				}					
			else 
				{
				mysqli_query($CONNECT, "UPDATE `vacancies` SET  title = '$_POST[title]', preview = '$_POST[preview]', content = '$_POST[content]', regdate = NOW() WHERE id=$_POST[id]");
				MessageSend(3,'Данные изменены в базе данных.');	
				}		
		}
?>


Все работает )
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
iCoderXXI
@iCoderXXI
React.JS/FrontEnd engineer
А зачем в коде такие конские отступы?

М.б. сессии как-то попробовать использовать для эмуляции сохранения состояния?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы