Я создал приложение GAE php с помощью Phpstorm, но проблема в созданном сайте. Когда сайт загружается, он показывает все правильно, и когда я отправляю форму, сайт понимает второй php-файл, который обрабатывает форму так же, как файл index.php. Это случилось со мной и с файлом CSS, и Chrome описал ошибку как «Ресурс интерпретируется как таблица стилей, но передается с помощью MIME-типа text / html», но я использовал стиль Я попытался распечатать полученные данные из формы, и он печатает весь файл index.php.
Я думаю, что проблема в файле app.yaml. У меня есть 3 файла в моем проекте: app.yaml, index.php, toAction.php.
Примечание: я использую ajax / jquery для подключения к php, потому что я не хочу, чтобы php обновлял мою страницу. Я пробовал без него, проблема осталась прежней. Этот же сайт работает на других веб-хостингах. Я также разместил код ajax / jquery.
Вот мой app.yaml:
application: santamailer
version: 1
runtime: php
api_version: 1
threadsafe: true
handlers:
- url: .*
script: main.php
AJAX / JQuery код:
$(document).ready(function(){
$('#form').on('submit',function(e) {
$.ajax({
url:'/toAction.php',
data:$(this).serialize(),
type:'POST',
success:function(data){
console.log(data);
$("#error").show().fadeOut(5000);
},
error:function(data){
$("#error").show().fadeOut(5000);
}
});
e.preventDefault();
});
});
toAction.php:
<?php
if(isset($_POST['name'])) {
//print_r($_POST);
$name = $_POST['name'];
$message1 = $_POST['message'];
echo $name;
echo $message1;
}
echo $_POST['name'];
echo $_POST['message1'];
?>
Предполагая, что у вас есть папка, содержащая все файлы css, скажем / static / css, у вас должна быть соответствующая запись в вашем файле app.yaml
handlers:
- url: /static/css
static_dir: static/css
- url: .*
script: main.php
Таким образом, когда вы запрашиваете CSS через http: //.appspot.com/static/css/foo.css, GAE будет обслуживать правильный статический файл вместо того, чтобы поразить ваш main.php.
Других решений пока нет …