परिवर्तन नहीं करता है मैं जानता हूँ कि यह एक बहुत ही आम सवाल है, लेकिन मैं इस सवाल का जवाबphp पुनर्निर्देश url
I'v एक post.php, कि एक पोस्ट प्रपत्र सबमिट जब controller.php को नहीं पा सके यह सही हो जाता है, नियंत्रक में यह करता है:
header("Location: ./post?ok=1");
पोस्ट वास्तव में डाला जाता है, और यह रेखा से ऊपर, लेकिन ब्राउज़र में यूआरएल लगता है कभी नहीं बदल माध्यम से चला जाता है, और अंत में ठीक नहीं है परम,
मैं सत्र परिवर्तक का उपयोग कर सकता हूं ई इस तरह के एक सफलता/असफलता परम है, लेकिन इस तरह से काम करना चाहिए
post.php:
<form action="controller" method="post">
<input name="test" value='test' type="text" />
<input type="submit" value="post" />
</form>
controller.php:
<?php
header("Location: ./post?ok=1");
?>
संपादित करें 1:
header("Refresh:1;url=http://localhost/test/post?ok=1"); //doesn't work better
संपादित करें 2:
post.php शीर्ष में मैं
debug("post l ".count($_POST));
debug("get l ".count($_GET));
रख दिया है वे 0 के पहले प्रस्तुत दिखाने के लिए, और 0 के भी edit3 के बाद
: यह
काम करता है द्वारा अवरोधित की गई:
if ($success){
header("Location: ./post?ok=1");
}
header("Location: ./post");
कि होना चाहिए:
if ($success){
header("Location: ./post?ok=1");
} else {
header("Location: ./post");
}
THX सभी
मुझे लगता है कि आपने फ़ॉर्म टैग के क्रिया को सही तरीके से नहीं दिया है ... यह
क्या आप सुनिश्चित हैं कि हेड फ़ंक्शन निष्पादित है? – xdazz
हाँ मैंने एक डीबग ('टेस्ट') रखा है –