PHP echo печатает код предупреждения JavaScript на странице

Я делал форму для вставки продуктов для администратора в проект электронной коммерции. Во время проверки данных формы я пытался проверить, являются ли данные формы пустыми или нет.

Таким образом, я ввел if заявление и проверил значения всех параметров, переданных из формы и в if Блок написал заявление эха.

Вот мой код:

<? php
//text variables
if(isset($_POST['insert_product'])){
$product_title = $_POST['product_title'];
$product_cat = $_POST['product_cat'];
$product_brand = $_POST['product_brand'];
$product_price = $_POST['product_price'];
$product_desc = $_POST['product_desc'];
$product_status = 'on';
$product_keywords = $_POST['product_keywords'];

//images variables
$product_img1 = $FILES['product_img1']['name'];
$product_img2 = $FILES['product_img2']['name'];
$product_img3 = $FILES['product_img3']['name'];

//temp names
$temp_name1 = $FILES['product_img1']['tmp_name'];
$temp_name2 = $FILES['product_img2']['tmp_name'];
$temp_name3 = $FILES['product_img3']['tmp_name'];

//validation and insertion query
if($product_title == '' OR $product_cat == '' OR $product_brand == '' OR $product_keywords == '' OR $product_img1 == '' OR $product_price == ''){
echo"<script>alert('you have not entered all the values')</script>";
exit();
}
}
?>

Это производит вывод как

(… alert (‘вы не ввели все значения’); «; exit ();}} ….)

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

Я использую Sublime text и проверил то же самое в Notepad ++, но выдает ту же ошибку.

-1

Решение

Это прекрасно работает для меня. Попробуйте перебрать $ _POST в цикле, проверяя значения таким образом. Это сократит ваш код и облегчит чтение в будущем:

<?php
if (isset($_POST)) {
foreach ($_POST as $key => $value) {
if (!isset($_POST[$key]) || $value == "") {
echo "<script> alert('you have not entered all the values'); </script>";
exit;
}
}
}

Тем не менее, вы должны попытаться сохранить $ _POST и использовать очищенную строку, если вы используете данные, предоставленные пользователем:

<?php
if (isset($_POST)) {
// Clean a string, making it safe for using with a database.
function clean_string($string) {
global $mysqli;
$string = $mysqli->real_escape_string($string);
stripslashes($string);
return $string;
}

foreach ($_POST as $key => $value) {
if (!isset($_POST) || $value == "") {
echo "<script> alert('you have not entered all the values'); </script>";
exit;
}

// If you're going to be using this $_POST data with a database you should also
// clean the strings before using them in any way.
$Data = new stdClass();

foreach ($_POST as $key => $value) {
if (isset($_POST[$key]) && $_POST[$key] !== "") {
$Data->$key = clean_string($value);
}
}
}

// All of the $_POSTed items are set and cleaned for use. Do what you will with them below.
}
0

Другие решения

попробуйте следующее, * обратите внимание на точку с запятой

  echo "<script language='javascript'>alert('thanks!');</script>";

пропущен остаток кода, просто печатая эту строку

0

 echo"<script>alert('you have not entered all the values');</script>";

используйте это ….. вы забыли точку с запятой после)

0
По вопросам рекламы [email protected]