Только начал работать в PhpStorm и столкнулся с такой проблемой, что при нажатии на кнопку «Apply» Firefox пишет 404 not found
, а Opera вообще не реагирует.
Решил скопировать этот же код и запустить его через обычный текстовый редактор. Всё работает. Возможно, кто — то сталкивался с подобной проблемой. Буду очень благодарен.
P.S. В Google искал решение, многие пишут об изменении некоторых параметров в файле php.ini
. Не помогло.
test.html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>MyTitle</title>
</head>
<body>
<form method = 'POST' action = "obr.php">
<p><input type = "text" name = "field"></p>
<p><input type = 'submit' name = 'apply' value = 'Aply'></p>
</form>
</body>
</html
obr.php:
<?php
if(isset($_POST["apply"])){
echo "The button is pressed";
}
else {
echo "Press the button";
}
?>
Ипатьев
20.2k3 золотых знака26 серебряных знаков49 бронзовых знаков
задан 9 окт 2016 в 1:25
1
Чаше всего 404 возникает, если в action указана неверная ссылка. И надо просто указать путь к файлу правильно.
Но у автора была другая проблема. В PhpStorm, а точнее в его встроенном сервере. В этом топике её обсуждают. Как пишут в конце, её вроде бы пофиксиле но в моей версии 2017.3 всё ещё воспроизводится. В этом же топики пишут как её временно пофиксить. Обходной путь это не использовать встроенный сервер, а использовать Apache/nginx/IIS или что то другое.
Ипатьев
20.2k3 золотых знака26 серебряных знаков49 бронзовых знаков
ответ дан 27 янв 2018 в 17:20
Илья ЧижановИлья Чижанов
1,2799 серебряных знаков24 бронзовых знака
У вас не указан параметр action
в теге form
Соответственно, этот ваш submit
, как бы говорит форме «давай ка, отправляйся!», а форма такая — «А куда отправляться то? Я не знаю, вот на тебе 404!»
ответ дан 9 окт 2016 в 7:09
rjhdbyrjhdby
13.9k4 золотых знака33 серебряных знака51 бронзовый знак
7
Когда форма отправляется на сервер, управление данными передается программе, заданной атрибутом action тега <form>
. Ну и где у вас атрибут action ?
ответ дан 9 окт 2016 в 7:08
ArchDemonArchDemon
2,8202 золотых знака13 серебряных знаков28 бронзовых знаков
6
Ошибка 404 означает, что страница не найдена, то есть её нет
ответ дан 9 окт 2016 в 6:00
MaxMax
3322 золотых знака7 серебряных знаков21 бронзовый знак
1
Answer by Kennedi Woodward
«Run Debug Application» and «Debug Debug Application». Both open up a Chrome window, and it displays the 404.,As title says, I’m trying to debug my my React app.,
I was actually running «Debug Application», see edited OP for image.
– Joel Nash
Jul 14 at 13:34
More Details Refer
Answer by Laylani Wilcox
More Details Refer
Answer by Brayden Potter
In PhpStorm after I did npm install, a couple of files appeared as unversioned. I added them to .gitignore as I don’t want to work with them.,I’m trying to solve this problem since 3 hours now, but I cant find a way.,I use phpstorm for coding , I bought activation code for phpstorm , I use this activation 6 months , today I found this error
I have a script as follows to push to my repo:
cd /pathtomyrepo
git fetch origin
git merge origin/master
git add .
git status
echo -n "Enter the Description for the Change: " [Minor Update]
read CHANGE_MSG
git commit -m "${CHANGE_MSG}"
git push --force-with-lease origin master
Recently it has started giving the following error at the last step after I enter my credentials:
remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
So I went and created a PAT, I even installed GCM Core. But when I came back and tried to do the last step again with my new access token as follows:
sudo git push --force-with-lease origin master https://<myPAT>@github.com/scstraus/home-assistant-config.git
I get the following:
invalid refspec 'https://<myPAT>@github.com/scstraus/home-assistant-config.git'
If I try this:
sudo git push --force-with-lease origin master https://scstraus:<myPAT>@github.com/scstraus/home-assistant-config.git
I get this:
error: src refspec https://scstraus does not match any.
I tried:
sudo git push --force-with-lease origin master
which gave me the normal password prompt again
Username for 'https://github.com': scstraus
Password for 'https://[email protected]':
remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.
fatal: Authentication failed for 'https://github.com/scstraus/home-assistant-config/'
Username for 'https://github.com': scstraus
Password for 'https://[email protected]':
remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.
fatal: Authentication failed for 'https://github.com/scstraus/home-assistant-config/'
git remote -v
gives me:
origin https://github.com/scstraus/home-assistant-config (fetch)
origin https://github.com/scstraus/home-assistant-config (push)
Some other things I tried to make this work:
git remote add origin https://<myPAT>@github.com/scstraus/home-assistant-config
which gave me:
fatal: remote origin already exists.
and
curl -u scstraus:myPAT https://api.github.com/scstraus
which gives me:
{
"message": "API rate limit exceeded for user ID 7644023.",
"documentation_url": "https://docs.github.com/rest/overview/resources-in-the-rest-api#rate-limiting"
}
Запуск PhpStorm 2016.3.2, Ubuntu 16.04 с установленным и протестированным стеком PHP7 и LAMP.
Кажется, у меня есть ошибка в PhpStorm (или где-то еще внизу), в результате чего нажатие «Submit» в html-форме приведет к ошибке «404 not found», даже если путь действия формы действителен.
Я построил очень простое приложение, чтобы продемонстрировать это, однако следует отметить, что эта ошибка возникала каждый раз, когда я до сих пор использую html-форму в PhpStorm, даже примеры приложений, о которых я знаю, не содержат ошибок в коде.
Код для моей формы выглядит следующим образом
var $form = <<< FORM
<form action='?' method="post">
<p>Enter your number </p>
<input type="text" name="formInput"maxlength="10">
<input type="submit" name="formSubmit"value="Submit">
</form>
FORM;
После нажатия кнопки «Отправить» возникает ошибка 404. Я пробовал несколько проникновений формы действий, таких как ""
и даже переменная установлена в APP_ROOT_PATH
, а затем просто вручную введите правильный путь (даже другой файл php) также с одинарными и двойными кавычками.
Причина, по которой я считаю эти пути действительными, заключается в том, что, просто нажав в окне адреса на странице ошибки 404 и нажав ввод (тем самым перейдя по пути, по которому он пытался добраться), форма снова загружается нормально.
Я не могу понять, почему это может быть, если бы это были разрешения или ошибка пути, конечно, я бы тоже не смог получить доступ к пути из браузера?
РЕДАКТИРОВАТЬ: Глядя на исходный код показывает, что действие это то, что я хотел. Даже копирование URL-адреса оттуда и вставка его в браузер откроет правильную форму. Просто при нажатии «отправить» происходит ошибка 404. Правильный URL-адрес также находится в адресной строке на странице 404.
РЕДАКТИРОВАТЬ 2: для заметки, '?'
действие в приведенном выше коде не имеет отношения к проблеме, так как ошибка возникает независимо от того, какую правильную ссылку я там поместил, будь она ""
или полный путь.
1
Решение
Задача ещё не решена.
Другие решения
Других решений пока нет …
The Post method under PhpStorm sometimes (almost certainly) will appear 404 Not Found. To
The reason is that PhpStorm has problems with parsing the default localhost, so Xu manually configures it
Open the menu bar Tools->Deployment->configuration, at this time there is nothing as shown below:
Next, click the green + sign to add a server, the name is localhost, and the type is Local or mounted folder, as shown in the figure
Select OK, select your website root directory in Folder, and append localhost to the Web server root URL, as shown below:
Then select Mappings, make sure Use this server as default is pressed, my default is gray pressed, as shown in the figure:
Делаю маршрутизацию URL приложения на прием запросов с URL которые не соответствуют реальным файлам приложения.
index.php
ini_set('display_errors', 1);
require_once 'application/bootstrap.php';
bootstrap.php
require_once 'core/Model.php';
require_once 'core/View.php';
require_once 'core/Controller.php';
require_once 'core/Route.php';
Route::start();
.htaccess
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [L]
Маршрутизация в отдельном файле Route.php в директорию core. В этом файле класс Route, который будет запускать методы контроллеров, которые в свою очередь будут генерировать вид страниц.
static function start()
{
$controller_name = 'Main';
$action_name = 'Index';
$routes = explode('/', $_SERVER['REQUEST_URI']);
var_dump($routes);
if (!empty($routes[2])) {
$controller_name = $routes[2];
}
if (!empty($routes[3])) {
$action_name = $routes[3];
}
$model_name = 'Model' . $controller_name;
$controller_name = 'Controller' . $controller_name;
$action_name = 'action' . $action_name;
$model_file = $model_name . '.php';
$model_path = "application/models/" . $model_file;
if (file_exists($model_path)) {
include "application/models/" . $model_file;
}
$controller_file = $controller_name . '.php';
$controller_path = "application/controllers/" . $controller_file;
if (file_exists($controller_path)) {
include "application/controllers/" . $controller_file;
} else {
Route::ErrorPage404();
}
$controller = new $controller_name;
$action = $action_name;
print $controller_name;
echo "<br/>";
print $action;
if (method_exists($controller, $action)) {
$controller->$action();
} else {
Route::ErrorPage404();
}
}
function ErrorPage404()
{
print "trouble";
$host = 'http://' . $_SERVER['HTTP_HOST'] . '/';
header('HTTP/1.1 404 Not Found');
header("Status: 404 Not Found");
header('Location:' . $host . '404');
}
При вызове в строке браузера localhost:63942/Server/ —
вызывает контроллер по умолчанию и все срабатывает как надо, но при
localhost:63942/Server/Main
localhost:63942/Server/Main/index
localhost:63942/Server/Server
выкидывает
404 Not Found PhpStorm 2016.1.2
хотя у меня есть обработка и вывод function ErrorPage404()
. и в данном случае при данных запросах должны срабатывать контроллеры и показывать нужные мне views.
на запрос localhost:63342/Server/index.php выкидывает уже мою ошибку
ссылка проекта на гитхаб https://github.com/MaximDzhezhelo/Server
Подскажите в чем проблема, почему на нужный запрос в браузере получаю 404 Not Found?
как правильно обработать запрос браузера и настроить маршрутизацию?