2017-05-26 191 views
0

我有一些PHP代碼,執行時代碼不會將值發送到我網站上的其他PHP頁面。我的權限是755

第1頁:

 <!DOCTYPE html> 
<html lang="en"> 
<head> 
    <title>Bay Area Buckets</title> 
    <meta charset="utf-8"> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"> 
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css"> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> 
    <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script> 
    <style> 

    .navbar { 
    margin-bottom: 0; 
    background-color: #ff4d4d; 
    z-index: 9999; 
    border: 0; 
    font-size: 12px !important; 
    line-height: 1.42857143 !important; 
    letter-spacing: 4px; 
    border-radius: 0; 
} 

.navbar li a, .navbar .navbar-brand { 
    color: #fff !important; 
} 

.navbar-nav li a:hover, .navbar-nav li.active a { 
    color: #f4511e !important; 
    background-color: #fff !important; 
} 

.navbar-default .navbar-toggle { 
    border-color: transparent; 
    color: #fff !important; 
} 
.resize { 
    border: 2px solid; 
    padding: 20px; 

    resize: vertical; 
    overflow: auto; 


} 
textarea { 
    width: 100%; 
} 

    </style> 
</head> 
<body> 

<nav class="navbar navbar-default navbar-fixed-top"> 
    <div class="container"> 
    <div class="navbar-header"> 
     <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#myNavbar"> 
     <span class="icon-bar"></span> 
     <span class="icon-bar"></span> 
     <span class="icon-bar"></span> 
     </button> 
    <a href="index"><img src="https://pbs.twimg.com/media/CnvlpmKUAAArtx_.png:large" alt="Logo" height="60" width="60"></a> 
    </div> 
    <div class="collapse navbar-collapse" id="myNavbar"> 
     <ul class="nav navbar-nav navbar-right"> 

    <li><a href="index">HOME</a></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</li> 
     <li><a href="about">ABOUT</a></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</li> 
     <li><a href="hats">HATS</a></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</li> 
     <li><a href="socialMedia">SOCIAL MEDIA</a></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</li> 
     <li><a href="cart">Cart</a></li> 

     </ul> 
    </div> 
    </div> 
</nav> 
<br/> 
<br/> 
<br/> 
<br/> 
<br/> 
<br/> 
<br/> 
    <div> 
     <center><h1 ><span style="color:#ff6666;">Contact Us</span></h1></center> 
    </div> 
<br/> 
<br/> 
<br/> 
<?php 
echo '<div class="col-md-3"></div> 
<div class="col-md-6"> 
    <form action="contact.php" method="post"> 
    Name: 
    <br> 
    <input type="text" name="name"/ > 
    Email: 
    <br> 
    <input type="text" name="email"/> 
    Message: 
    <br> 
    <textarea class="riseize" value="text" name="message"></textarea> 
    <br> 
    <center><input type="submit" value="submit"/></center> 
    </form> 
</div> 
</div> 
<div class="col-md-3"></div>' 
?> 
<br> 
<br> 
<br> 
<br> 
<br> 
<br> 
<br> 
</div> 
</body> 
</html> 

調用contact.php是:

$name = $_POST['name']; 
$email = $_POST['email']; 
$message = $_POST['message']; 

$sql = "INSERT INTO help (name, email, message) VALUES ('$name' , '$email' , '$message')"; 

if (!mysql_query($sql)) { 
die ('Error: ' . mysql_error()); 
} 
else { 
echo "<html><script language='JavaScript'> alert('Thank you for your submission.'),window.location = 'index'</script></html>"; 
}; 

我認爲這個問題是得到$ _GET和$ _POST,因爲它執行接觸。 php並調用變量值,但它沒有從頁面1獲得值。

+1

您的表單使用POST,所以您必須使用$ _POST來獲取傳遞給它的值。您正在使用$ _GET。 –

+0

請注意,因爲你沒有在腳本中放入任何變量到'Page 1'中,所以你不需要使用php來回顯它,只需要把html放入即可。 – Rasclatt

+0

另一個注意事項 - 你不使用'

',你使用'

回答

1

您在打開表格時關閉表格。變化:

<form action="contact.php" method="post" /> 

到:

<form action="contact.php" method="post"> 

/關閉元素,基本上你有

<form action="contact.php" method="post"></form> 

那麼所有其他投入到什麼。

(也提到的其他問題是真實的,但是這就是爲什麼你的表格是空的)

在瀏覽器中,你也應該使用開發者控制檯(位置和選項的瀏覽器有所不同),看看該請求的發送方式並進行處理。 https://wpscholar.com/blog/view-form-data-in-chrome/如果這是發送表單或PHP處理它的問題(例如,如果值未發送,您知道它不是PHP問題),這將首先向您顯示。

事實證明,在這種情況下,你已經重寫了.php,也刪除了參數。直接請求頁面,繞過重寫規則解決了這個問題。

action="contact" 
+0

我在GoDaddy託管,他們都在.php文件。我使用'print_r($ _ POST);'在contact.php上檢查這些值,並且在POST數組中沒有任何內容 – Will

+0

我會在哪裏放回聲音 – Will

+0

當我訪問我的網站時,我在網頁上獲取表單。在它認爲我發送獲取請求的標題 – Will

1

您的表單使用method="post",因此輸入將發送到的PHP腳本陣列

<form action="contact.php" method="post" /> 
            ^^^^ 

所以改變這些2號線使用$_POST

$name = $_POST['name']; 
$email = $_POST['email']; 

你的腳本是在SQL Injection Attack 風險有一個看看發生了什麼事Little Bobby Tables即使 if you are escaping inputs, its not safe! 使用prepared parameterized statements

每次使用新代碼the mysql_ 數據庫擴展 this happens 它已被棄用,多年來一直在PHP7一去不復返。 如果您只是在學習PHP,請花些精力學習PDOmysqli數據庫擴展和準備好的語句。 Start here

+0

表示更改無效。你有什麼其他的建議? – Will

+0

好吧,在腳本的頂部也有一個'print_r($ _ POST);'。你得到了什麼 – RiggsFolly

+0

我得到了「Array()」 – Will

1

好像你正在嘗試使用後通過在你正在通過獲取名稱和電子郵件

如果你想通過郵局,你必須通過你的價值觀的文件contact.php郵寄

$name = $_POST['name']; 
$email = $_POST['email']; 
$message = $_POST['message']; 

得到這一切如果你想這樣做的讓你必須把它全部搞定

<form action="contact.php" method="post" /> 

在您正在使用的表格中

+0

我應該如何修復它 – Will