Intereting Posts

Подключение HTML, Javascript и PHP с сеансами

Я пытаюсь создать корзину покупок для назначения с помощью PHP, HTML и Javascript, но я изо всех сил пытаюсь получить даже основы работы PHP.

Поскольку это назначение, я не собираюсь публиковать свой точный код, но я опубликую несколько модифицированных кодов, описывающих общие понятия, с которыми я борюсь. Также обратите внимание, что я сильно упростил программу в этом посте, но я думаю, что я включил все релевантные.

Для начала, у меня есть форма в HTML, с тегами опций выбора:

<?php session_start(); ?> <!-- This is on the first line of the page --> ... <form id="formexample" method="post" action="cart.php"> <select name="formexample2"> <option value="1">Option 1</option> <option value="2">Option 2</option> </select> <select name="formexample2"> <option value="1">Option 1</option> <option value="2">Option 2</option> </select> <button type="button" onclick="addToCart()">Add to Cart</button> </form> <div class="test"></div> 

«addToCart ()» – это функция Javascript, которую я написал в отдельный файл и импортировал в теги «header». Я знаю, что функция работает, потому что она реагирует, когда я добавляю «alert (« test »);». Одна из строк следующая:

 $(".test").append("<?php include \"cart.php\"; ?>"); 

Когда я заменяю приложение «test» в тегах «p», он появляется без проблем.

«cart.php» – это php-файл в том же каталоге. Он хранит данные для сеанса:

 <?php $PHPtest= 1; $_SESSION['cart'][$_POST['formexample1']] = $_POST['formexample1']; $_SESSION['cart'][$_POST['formexample1']][$_POST['formexample2']] = [$_POST['formexample2']] /* Note that in my actual code the form has 11 different select tags, some with up to ten options. I'm storing the information as a big multidimensional array in $_SESSION for ease. */ ?> 

Я пытаюсь создать цикл в той же функции Javascript, о которой я упоминал ранее, в которой я обращаюсь к данным сеанса. Цикл начинается с «if (? Php echo isset ($ _ SESSION [\ 'cart \'] [$ _ POST [\ 'formexample1 \']];?>") "- я удалил <перед вопросительным знаком здесь, так что вы можете увидеть код, когда я делаю это сообщение.Это моя неудачная программа. Кажется, моя проблема заключается в передаче переменной PHP в Javascript. Чтобы проверить это, я написал следующее в начале cart.php:

 $PHPtest = 1; 

Затем я написал это в функцию Javascript:

 var test = "<?php echo $PHPtest; ?>"; alert(test); 

Согласно Google, это формат, который вы должны использовать при передаче переменной PHP в Javascript. Когда я это делаю, предупреждение просто показывает, что находится между кавычками (т.е. <? Php echo $ cartCheck;?>).

Я смотрю онлайн, и насколько я могу судить, я делаю то, что люди говорят о сеансах, назначая переменные PHP для Javascript и массивов; так почему же он не работает?

Заранее спасибо.

РЕДАКТИРОВАТЬ:

Я прокомментировал строки $ _SESSION в cart.php на данный момент. Я тренируюсь с $ PHPtest.

Теперь cart.php выглядит так:

 <?php session_start(); $PHPtest = 1; echo json_encode($PHPtest); ?> 

Теперь функция Javascript выглядит так (с добавлением AJAX):

 function addToCart() { var test; $.ajax( { url:"cart.php", type:"post", data:"$PHPtest", success:function(response) { test = $.parseJSON(response); console.log(response); //sends the response to your console }, error:function() { console.log("Error"); } }); alert(test); } 

Я также перевел «include» cart.php «» в верхней части главной страницы. См. Обсуждение под ответом Джоша С., чтобы посмотреть, как я сюда попал.

Предупреждение показывает «undefined».

EDIT 2 Я обновил свою функцию на основе этого ответа здесь: Получить переменную из файла PHP с помощью JQuery / AJAX

Это то, что у меня есть сейчас:

 function addToCart() { var test; $.ajax( { url:"cart.php", type:"post", data: data, success:function(PHPtest) { test = $.parseJSON(PHPtest); console.log(test); //sends the response to your console }, error:function() { console.log("Error"); } }); alert(test); } 

Я пробовал различные комбинации «PHPtest» и «test», но не могу заставить его работать. Теперь я не получаю никакого предупреждения.

Solutions Collecting From Web of "Подключение HTML, Javascript и PHP с сеансами"