मैं वर्तमान में डेटाबेस के साथ PHP सत्रों का उपयोग कर प्रमाणीकरण के साथ एक मोबाइल साइट पर काम कर रहा हूं। मेरे पास एक फॉर्म के साथ एक लॉगिन पृष्ठ है जो सबमिट पर server_login.php पर जाता है। php फ़ाइल फिर कुछ सत्र डेटा ($ _SESSION में स्टोर) बनाता है, और उपयोगकर्ता सूचकांक पृष्ठ पर वापस पुनर्निर्देश:PHP शीर्षलेख (स्थान: ...): पता बार में बल यूआरएल परिवर्तन
header("location:../../index.php");
नए वेब पेज (index.php) भार सही ढंग से; हालांकि, जब हेडर पृष्ठ को रीडायरेक्ट करता है, तो पता बार पर यूआरएल नहीं बदला जाता है; //localhost/php/server/server_login.php* http के बजाय: यह * http में रहता है और इस तरह मेरे सभी अन्य संसाधनों है कि बनाता है //localhost/index.php रिश्तेदार पथ के उपयोग लोड नहीं किया जा सकता है। ऐसा लगता है कि वेब पेज अभी भी सोचता है कि यह/बजाय/php/सर्वर पर रहता है।
अजीब, शीर्ष लेख के मेरे अन्य प्रयोग ("स्थान: ...") logout.php काम करता है पर और पृष्ठ सफलतापूर्वक एक यूआरएल को बदलने के साथ पुनर्निर्देश।
मैंने यह सुनिश्चित कर लिया है कि हेडर रीडायरेक्ट से पहले मेरे * server_login.php * में कोई आउटपुट नहीं है (इसके ऊपर केवल MySQL कॉल करने के लिए कॉल हैं) और मैंने ob_start() और ob_end_flush() भी उपयोग किया है।
वहाँ रहे हैं बदलने के लिए पता पट्टी पर यूआरएल के लिए मजबूर कर के किसी भी तरीके (और इस तरह उम्मीद है कि रिश्तेदार पथ समस्या को ठीक)? या मुझ से कुछ गलत हो रहा है?
पी/एस: मैं jQuery मोबाइल का उपयोग कर रहा हूँ।
संपादित करें: सर्वर एक सही पुनर्निर्देशन हेडर भेजता है, तो
// some other stuff not shown
$sql = "SELECT * FROM $user_table WHERE email = '$myemail' AND password = '$mypassword'";
$login_result = mysql_query($sql, $connection);
$count = mysql_num_rows($login_result);
if ($count == 1) {
// Successfully verified login information
session_start();
if (!isset($_SESSION['is_logged_in'])) {
$_SESSION['is_logged_in'] = 1;
}
if (!isset($_SESSION['email'])) {
$_SESSION['email'] = $myemail;
}
if (!isset($_SESSION['password'])) {
$_SESSION['password'] = $mypassword;
}
// Register user's name and ID
if ((!isset($_SESSION['name'])) && (!isset($_SESSION['user_id']))) {
$row = mysql_fetch_assoc($login_result);
$_SESSION['name'] = $row['name'];
$_SESSION['user_id'] = $row['user_id'];
}
header("Location: http://localhost:8080/meet2eat/index.php");
} else {
// Not logged in. Redirect back to login page
header("Location: http://localhost:8080/meet2eat/php/login.php?err=1");
}
क्या आप कोड दिखा सकते हैं कि आप डेटा कैसे पोस्ट करते हैं? – xdazz