2011-06-16 14 views
9

पर रीडायरेक्ट तो, यहाँ मैं एक और समस्या -.- 'एचटीएमएल फ़ॉर्म्यूलर XAMPP स्थानीय होस्ट मुख-पृष्ठ

मैं अपने खुद के php/HTML स्क्रिप्ट प्रोग्राम किया में देने के लिए और एक डेटाबेस के लिए एक फार्म से डेटा भेजने के साथ फिर से कर रहा हूँ। शुरुआत में यह काम किया। किसी भी तरह, कुछ दिनों बाद उसने मुझे एक्सएएमपीपी लोकलहोस्ट होमपेज (http: // localhost/xampp /) पर रीडायरेक्ट करना शुरू कर दिया। मुझे नहीं पता मिल गया है क्यों:/

यहां बताया गया है मेरी वेबसाइट लगता है:

  • index.php
    • अन्य सभी लिपियों (स्विच-केस के माध्यम से)
    • मेरी गेस्टबुक-स्क्रिप्ट सहित (कोई स्विच-केस नहीं!) यह हमेशा वहाँ रहता है!

यहाँ कैसे अपने "addguestbook.php" लग रहा है जैसे:

<?php 

...database stuff... 

if ($_SERVER['REQUEST_METHOD'] == 'POST'){ 

    $name = $_POST['name']; 
    $email = $_POST['email']; 
    $website = $_POST['website']; 
    $comment = $_POST['comment']; 
    $datetime = date("l, jS M Y, g:i a"); //date time 

    // Connect to server and select database. 
    mysql_connect($host, $username, $password)or die("cannot connect server: ".mysql_error()); 
    mysql_select_db($db_name)or die("cannot select DB: ".mysql_error()); 

    $sql="INSERT INTO ".$tbl_name."(id, name, email, website, comment, datetime)VALUES('".$post_id."', '".$name."', '".$email."', '".$website."', '".$comment."', '".$datetime."')"; 
    $result=mysql_query($sql); 

    mysql_close(); 

    header('Location: http://'.$hostname.$path.'/index.php' . $get, true, 303); 
}?> 

<form action="index.php<? echo $get; ?>" method="post"> 
    <table border="0" cellspacing="0" cellpadding="0"> 
     <tr> 
      <td class="guestbookFormCell" colspan='2'><input 
       class="guestbookInputFieldText" name="name" type="text" 
       value="Name *" size="40" maxlength="30" /></td> 
     </tr> 
     <tr> 
      <td class="guestbookFormCell" colspan='2'><input 
       class="guestbookInputFieldText" name="email" type="text" 
       value="E-Mail (won't become displayed)" size="40" maxlength="40" /> 
      </td> 
     </tr> 
     <tr> 
      <td class="guestbookFormCell" colspan='2'><input 
       class="guestbookInputFieldText" name="website" type="text" 
       value="Website" size="40" maxlength="50" /></td> 
     </tr> 
     <tr> 
      <td class="guestbookFormCell" colspan='2'><textarea 
        class="guestbookInputFieldText" name="comment" cols="37" rows="5">Comment *</textarea> 
      </td> 
     </tr> 
     <!-- 
     <tr> 
      <td>CAPTCHA</td> 
     </tr> 
     --> 
     <tr> 
      <td><button class="guestbookFormCell guestbookButton" type="submit" 
        name="submit"> 
        <span class='guestbookButtonText'>Send</span> 
       </button></td> 
      <td><button class="guestbookFormCell guestbookButton" style="float:right;"type="reset" 
        name="reset"> 
        <span class='guestbookButtonText'>Reset</span> 
       </button></td> 
     </tr> 
    </table> 
</form> 
index.php में

:

   $get = "?mod=home"; 

यह स्क्रिप्ट कई सामान के लिए प्रयोग किया जाता है: के समग्र gueastbook पृष्ठ और एकल पदों पर टिप्पणियों के लिए & चित्र/एल्बम।

पीएस: मैं कुछ कारणों से धागे की शुरुआत में हैलो नहीं लिख सका:/अगर यह कठोर हो गया, तो मुझे खेद है!

पीएसएस: त्रुटि मिली।

सुंदर गूंगा :)

मैं बस भूल गया कि मंच वास्तव में रूट निर्देशिका में index.php (इस मामले में) के लिए पुनः निर्देशित किया गया है। इसका अर्थ है Xampp/htdocs/index.php।

मैं सिर्फ होगा लिंक को ठीक करने और मैं ठीक -.- '

+2

'पुनश्च: मैं नहीं, धागा की शुरुआत में हैलो लिख सकता है किसी कारण के लिए:/तो उस पर कठोर आया , मुझे खेद है! दिन का मजाक ... :) –

+0

दोस्त!123456789 – JustBasti

+0

आप '0' –

उत्तर

0

मैं, खुशी है कि तुम क्या समस्या यह है, के रूप में मैं वास्तव में नहीं समझ सकता है आप कैसे स्क्रिप्ट काम करता मिला हूं तथापि, जब बताए हूँ $ नाम, $ ईमेल, $ वेबसाइट, आदि, आपको mysql_espace_string() का उपयोग करना होगा। अन्यथा, कोई उपयोगकर्ता दुर्भावनापूर्ण कोड इंजेक्ट कर सकता है और पूरे SQL तालिका तक पहुंच प्राप्त कर सकता है।

$name = mysql_escape_string($_POST['name']); 
$email = mysql_escape_string($_POST['email']); 
$website = mysql_escape_string($_POST['website']); 
$comment = mysql_escape_string($_POST['comment']); 
$datetime = date("l, jS M Y, g:i a"); // Escaping the string is not necessary here. 

(किसी भी भाषा त्रुटियों के लिए क्षमा करें: मैं एक देशी अंग्रेजी वक्ता नहीं हूँ।)

+1

बेहतर अभी तक, पैरामीटरयुक्त प्रश्नों का उपयोग करें (पीडीओ के माध्यम से)। –

2

बस संपादित करें या

<meta http-equiv="refresh" content="0;url=/xampp/"> 

बेस्ट होगा मूल index.html हटा सकते हैं और हटाने निम्न पंक्ति यदि आप अपने कैश को भी साफ करते हैं, क्योंकि आपका ब्राउज़र हर चीज को लोड करने के लिए अग्रसर है।

एंडो

संपादित: तू अकेला नहीं है कि समस्या के साथ: why-does-my-xampp-installation-auto-redirect-to-http-localhost-xampp

संबंधित मुद्दे