2011-10-14 81 views
0

我從一個早期的問題中設法解決了我的問題的90%,我會單獨提問,因爲原始問題太複雜了,而現在我只需要一些我認爲非常簡單的問題。從POST獲取變量並重定向

我有以下代碼:

// Make a MySQL Connection 
$Db =& JFactory::getDBO(); 
$baseurl = JURI::base(); 
// Get a specific result from the "example" table 
$result = mysql_query("SELECT * FROM jos_content WHERE pass='$value'") or die(mysql_error()); 

// get the first (and hopefully only) entry from the result 
$row = mysql_fetch_array($result); 
// Print out the contents of each row into a table 

,我能順利拿到「身份證」我需要創建一個鏈接,如果我手動提供$價值變量,就像這樣:

<a href="<?php echo $baseurl; ?>/index.php?option=com_content&view=article&id=<?php echo $row['id']; ?>">Test test!</a> 

它的工作原理。大。

現在,我需要能夠從表格中輸入$value。我一直在使用類似的東西,但我無法弄清楚如何設置表單的方法和動作。

我一直在使用,在過去是:

<?php 
if(isset($_POST['number'])){ 
    header('Location: http://www.yourdomain.tld/'.$_POST['number']); 
    exit; 
} 
?> 

<form id="form1" name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> 
    <input type="text" name="folder" id="folder" /> 
    <input type="submit" name="number" id="bt" value="Go To" /> 
</form> 

現在,我該如何修改上面的代碼從輸入取$值,並用它來將用戶重定向到等構成的鏈接我上面寫的那個?

我知道這可能很容易,但我卡住了..請幫助! :)

---更新---

好吧,我想我越來越接近。我目前的代碼是:

<?php 
// Make a MySQL Connection 
$Db =& JFactory::getDBO(); 
$baseurl = JURI::base(); 
$value = $_POST; 
// Get a specific result from the "example" table 
$result = mysql_query("SELECT * FROM jos_content WHERE pass='$value'") or die(mysql_error()); 
// get the first (and hopefully only) entry from the result 
$row = mysql_fetch_array($result); 
// Print out the contents of each row into a table 

if(isset($_POST['password'])){ 
    header('Location: http://myurl.com/index.php?option=com_content&view=article&id='.$row['id']); 
    exit; 
} 

?> 

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> 
    Password: <input type="text" name="password" /><br /> 
    <input type="submit" name="submit" value="Submit me!" /> 
</form> 

但我得到重定向到我的基地網址。我究竟做錯了什麼?

+0

閱讀上的SQL注入。你絕不應該把unsanitized參數傳遞給查詢。 – Kenaniah

回答

0

試試這個:

<?php 
if(isset($_POST['number'])){ 
    header('Location: http://www.yourdomain.tld/index.php?option=com_content&view=article&id=' . $_POST['folder']); 
    exit; 
} 
?> 

<form id="form1" name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> 
    <input type="text" name="folder" id="folder" /> 
    <input type="submit" name="number" id="bt" value="Go To" /> 
</form> 
+0

這是我在另一個上下文中用於另一個類似的東西的完全相同的腳本,它不會像這樣工作。首先,我需要獲取輸入並將其設置爲$ value,以便我可以將$ row ['id']重定向到...所做的只是修復了舊腳本的變量措辭:)您是否真的閱讀過我的張貼? –

+0

呃,不是很明顯。查看更新的代碼。 – AlienWebguy

+0

我認爲它還是不對,我還更新了代碼(上面的檢查),我在那裏有99%的...這是20行代碼,它必須是非常小的東西......我無法看到弄清楚。 –