我在PHP脚本中有以下代码:
<?php
if (!in_array(@$_SERVER['REMOTE_ADDR'], array('127.0.0.1', '::1')))
{
die('You are not allowed to access this file. Check '.basename(__FILE__).' for more information.');
}
// Other statements follow here
echo 'Hello there ...'
Run Code Online (Sandbox Code Playgroud)
而不是回显消息,我想将用户重定向到404页面.但是,当我用这个替换die()语句时:
header("HTTP/1.0 404 Not Found");
从远程计算机运行脚本的用户可以看到消息"Hello there ..."
如何让页面重定向到404页面以获取脚本的非localhost请求?
顺便说一句,这段代码来自Symfony框架中的开环环境前端控制器.
我的 中有以下内容app/frontend/config/routing.yml:
主页:
网址:/
参数:{ 模块:主要,操作:索引 }
默认索引:
网址:/:模块
参数:{ 操作:索引 }
默认:
url: /:模块/:操作/*
sf_guard_寄存器:
网址:/注册
参数:{ 模块:用户,操作:注册 }
sf_guard_登录:
网址:/登录
参数:{ 模块:sfGuardAuth,操作:登录 }
sf_guard_signout:
网址:/注销
参数:{ 模块:sfGuardAuth,操作:注销 }
sf_guard_密码:
网址:/请求密码
参数:{ 模块:sfGuardAuth,操作:密码 }
当我尝试这条/register路线时,我得到了这个:
操作“注册/索引”不存在。
我应该指定,我没有“注册”模块,并且如果手动调用,我的用户模块运行良好。另外,其他路线也运行良好。
欢迎任何想法,谢谢!
我对Symfony和Doctrine来说是全新的.我已经使用Doctrine ORM生成了一个项目,我的数据库模式已经完全生成.现在我只想创建基本服务(在简单的.php页面中),根据HTTP POST请求中的参数执行一些操作.
我尝试通过generate:app命令创建一个应用程序,但它似乎是一个非常丑陋的方式...我只需要一个基本的.php页面,我可以使用我的学说对象并轻松地与我的数据库交互.最简单的方法是什么(我可以用一些基本的require_once来做,或者我需要用symfony生成一些东西,比如模块?)?
谢谢!
我正在使用curl(通过symfony的插件sfWebBrowser和sfCurlAdapter),我正在尝试在https网址上执行一个非常简单的POST请求.
使用普通浏览器执行此操作可获得200 OK,而curl会出现"400 Bad Request"错误.
我在curl上使用了verbose选项,这是我得到的:
* About to connect() to preprod-ppps.paybox.com port 443 (#0)
* Trying 195.101.99.73... % Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* connected
* Connected to preprod-ppps.paybox.com (195.101.99.73) port 443 (#0)
* successfully set certificate verify locations:
* CAfile: none
CApath: /etc/ssl/certs
* SSL connection using DHE-RSA-AES256-SHA
* Server certificate:
* subject: C=FR; postalCode=78280; …Run Code Online (Sandbox Code Playgroud) 我想为IE加载另一个CSS.我正在使用Symfony 1.2.什么是最快的方式?我宁愿不使用"view.yml"技术.我希望在我的脑子里有类似的东西:
<link rel="stylesheet" href="css/screen.css" type="text/css" media="screen" />
<!--[if lte IE 7]>
<link rel="stylesheet" href="css/ie6.css" type="text/css" media="screen" />
<![endif]-->
Run Code Online (Sandbox Code Playgroud)
我目前在layout.php文件中有这个代码,用于包含样式表.
<?php include_http_metas() ?>
<?php include_metas() ?>
<?php use_stylesheet('style.css') ?>
Run Code Online (Sandbox Code Playgroud)
你们知道任何快速解决方案吗?
我正在尝试使用doctrine dql执行类似于以下查询的查询:
Doctrine_Query::create()
->update('Table a')
->set('a.amount',
'(SELECT sum(b.amount) FROM Table b WHERE b.client_id = a.id AND b.regular = ? AND b.finished = ?)',
array(false, false))
->execute();
Run Code Online (Sandbox Code Playgroud)
但是它会引发Doctrine_Query_Exception并显示以下消息:“未知组件别名b”
在'set'子句中使用子查询是否有限制,您能给我些帮助吗?
提前致谢。
对于我们的下一个项目,我们将使用symfony框架.我想使用Symfony 2,因为它是新的,现代的和未来的.另一方面,我的老板更喜欢旧版本,因为有大量的插件(在Sf2中这些是捆绑包,我想还不是很多).不过我会选择sf2.问题是如何与我的老板推理;)
我需要symfony中的doctrine帮助,我想扩展/自定义一个实体存储库...所以我在bundle的Respository文件夹中创建了一个类(它不存在),但我不知道还有什么从EntityRepository扩展类的功能.
这是代码:
<?php
class InvitadoRepository extends EntityRepository
{
public function findOneByIdJoinedToCategory($id)
{
$query = $this->getEntityManager()
->createQuery('
SELECT p, c FROM AcmeStoreBundle:Product p
JOIN p.category c
WHERE p.id = :id'
)->setParameter('id', $id);
try {
return $query->getSingleResult();
} catch (\Doctrine\ORM\NoResultException $e) {
return null;
}
}
}
?>
Run Code Online (Sandbox Code Playgroud)
所以这是它在我的项目中的样子:
我正在研究现有项目.获取这样的记录:
$this->courses = Doctrine_Core::getTable('Course')->findByUserId($this->userId);
Run Code Online (Sandbox Code Playgroud)
现在我想按用户名对上述记录进行排序,但我不知道怎么做?
这段代码有什么解决方案吗?
谢谢
当我使用 JQuery 一起发送两个 ajax 请求时.. 响应一起
$.ajax
({
type: "POST",
url: 'ajax.php'
});
$.ajax
({
type: "POST",
url: 'ajax2.php'
});
Run Code Online (Sandbox Code Playgroud)
ajax.php , ajax2.php 是两个文件,包含一个虚拟的 for 循环大约需要 5 秒。
POST localhost/ajax.php 200 OK 4.77s
POST localhost/ajax.php 200 OK 4.37s
这里每个请求大约需要 5 秒才能执行.....
当我在 symfony 做同样的例子时,我得到了不同的结果
$.ajax
({
type: "POST",
url: 'module/action1'
});
$.ajax
({
type: "POST",
url: 'module/action2'
});
Run Code Online (Sandbox Code Playgroud)
action1 , action2 是两个动作,只包含一个虚拟的 for 循环大约需要 5 秒。
POST localhost/web/frontend_dev.php/module/action1 200 OK 4.47s
POST localhost/web/frontend_dev.php/module/action2 200 OK 9.87s
请注意, …
我是symfony的新手.我为表单提交编写了一个代码.
public function executeEdit(sfWebRequest $request)
{
$userId = $request->getParameter('id');
$this->user = sfGuardUserTable::getUserById($userId);
$this->form = new editOwnerForm($this->user);
$this->paymentForm = new profilePaymentInfoForm($this->user->getPaymentInformation());
if ($request->getMethod() == sfWebRequest::POST) {
$this->form->bind($request->getParameter($this->form->getName()));
if ($this->form->isValid()) {
$this->form->save();
$this->message = 'Successfully updated owner details';
} else {
var_dump($this->form->renderGlobalErrors()); die;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我的表格总是无效的.(总是运行其他形式的部分有效)但我找不到原因.var_dump($this->form->renderGlobalErrors());不要发出任何消息.我该如何解决呢?
我想在我的网站上制作一个导航栏.
我有一个SQL表菜单.菜单可以有儿童菜单等....
CREATE TABLE IF NOT EXISTS MENU
(
menu_Id INT AUTO_INCREMENT NOT NULL,
nom VARCHAR(100) NOT NULL,
route VARCHAR(255) NOT NULL,
parent INT NULL,
CONSTRAINT pk_MENU PRIMARY KEY (menu_Id),
CONSTRAINT fk_MENU_MENU FOREIGN KEY (parent) REFERENCES MENU(menu_Id)
);
Run Code Online (Sandbox Code Playgroud)
我在Entity文件夹中的symfony项目中有一个类.
namespace AppBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Doctrine\Common\Collections\ArrayCollection;
/**
* @ORM\Entity
* @ORM\Table(name="menu")
*/
class Menu
{
/**
* @ORM\Column(name="menu_Id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @ORM\Column(name="nom", type="string", length=100)
*/
protected $lib;
/**
* @ORM\Column(type="string", length=100)
*/ …Run Code Online (Sandbox Code Playgroud) 我在Symfony应用程序中配置了以下路由:
label:
url: /label
param: { module: label, action: configure }
requirements: { sf_method: get }
label_create:
url: /label
param: { module: label, action: create }
requirements: { sf_method: post }
Run Code Online (Sandbox Code Playgroud)
链接executeConfigure和executeCreate行动.然后我有一个这样配置的表单:
<form action="<?php echo url_for('@label_create') ?>" method="POST">
<?php echo $form->renderHiddenFields() ?>
<input type="hidden" name="sf_method" value="post" />
<!-- more stuff here -->
</form>
Run Code Online (Sandbox Code Playgroud)
每当提交表单时executeConfigure,虽然据我所知,使用POST方法配置的路由应该避免并执行executeCreate.
如何区分这两个保持相同URL的操作?
谢谢!
symfony1 ×13
php ×9
doctrine ×4
symfony ×2
ajax ×1
css ×1
curl ×1
database ×1
doctrine-orm ×1
dql ×1
entity ×1
http-headers ×1
http-method ×1
mysql ×1
orm ×1
repository ×1
rest ×1
routes ×1
routing ×1
sql-order-by ×1
symfony-1.4 ×1