2014-04-12 2 views
0

누군가의 이름과 성을 표시하는 웹 페이지에 PHP 코드를 작성하고 그에 대한 제출 된기도 요청을 표시합니다. 페이지의 아이디어는 관리자가 오타와 철자가 틀린 단어 등을 고치기 위해기도 요청을 편집 할 수 있다는 것입니다. 데이터베이스에 필드를 채우는 데 아무런 문제가 없습니다. 내가 가지고있는 문제는 "기도 요청 승인"버튼을 클릭하면 "페이지를 찾을 수 없음"오류가 발생하고 편집 한 정보가 데이터베이스 내에서 업데이트되지 않는다는 것입니다. 어떤 제안이라도 도움이 될 것입니다. 감사.데이터베이스 내의 정보를 변경하는 버튼

이 파일의 이름은 ApproveDenyPrayerRequest입니다.

<?php 

$username="XXXXX"; 
$password="XXXXX"; 
$database="XXXXX"; 

$link = mysqli_connect('XXXXXXX', $username, $password, $database); 

if (!$link) { 
die('Connect Error (' . mysqli_connect_errno() . ') '. mysqli_connect_error()); 
} 

echo 'Success... ' . mysqli_get_host_info($link) . "\n"; 

$query = "SELECT * FROM Request"; 
$result = mysqli_query($link,$query); //<----- Added link 
$row = mysqli_fetch_array($result); 

?> 

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

<table> 

<tr> 
    <td>First Name:</td> 
    <td><input type="text" name="first" value="<? echo "$row[Reg_F_Name]" ?>"></td> 
</tr> 

<tr> 
    <td>Last Name:</td> 
    <td><input type="text" name="last" value="<? echo "$row[Reg_L_Name]" ?>"></td> 
</tr> 

<tr> 
    <td>Prayer Request</td> 
    <td><input type="text" name="phone" value="<? echo "$row[Reg_Request]" ?>"></td> 
</tr> 

</table> 
<input name="add" type="submit" id="add" value="Approve Prayer Request"> 

</form> 

다음은 실제 mySQLi 호출을 포함하는 두 번째 CGI 파일입니다. 이 파일의 이름은 PrayerRequest

<?php 

$username="XXXX"; 
$password="XXXXXXX"; 
$database="prayer"; 

mysqli_connect('hostname',$username,$password,$database); 
@mysqli_select_db($database) or die("Unable to select database"); 
$query = "SELECT * FROM Request"; 
$query2="UPDATE Request (Reg_F_Name,Reg_L_Name,Reg_Request)"; 
VALUES ("$row[Reg_F_Name]","$row[Reg_L_Name]","$row[Reg_Request]") 
$result = mysqli_query($query); 
$row = mysqli_fetch_array($result); 
?> 

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

<table> 

<tr> 
<td>First Name:</td> 
<td><input type="text" name="first" value="<? echo "$row[Reg_F_Name]" ?>"></td> 
</tr> 

<tr> 
<td>Last Name:</td> 
<td><input type="text" name="last" value="<? echo "$row[Reg_L_Name]" ?>"></td> 
</tr> 

<tr> 
<td>Prayer Request</td> 
<td><input type="text" name="phone" value="<? echo "$row[Reg_Request]" ?>"></td> 
</tr> 

</table> 

</form> 
+1

확인 절대 URL을 사용하는 스크립트의 경로가 맞다면 상대적인 관점에서 호출하는 것입니다. –

+0

위의 파일에 대한 코드는 이미 ApproveDenyPrayerRequest라는 cgi-bin에 있습니다. 나는 약간의 수정을 시도했다. 그러나 아직도 운이 없다. – user3521756

답변

0

입니다. 디렉토리 구조를 알아야합니다. 이 스크립트가 작동하려면이 스크립트 파일과 같은 수준에서 "cgi-bin"이라는 폴더를 만들어야하고 그 폴더에 "ApproveDenyPrayerRequest.php"를 배치해야합니다.

CGI - bin에 이미있는 경우

당신이 그것을 하나의 LVL까지 시도 인 경우, 즉 올바른 경로를 제공 할 필요가 존재한다 "../cgi-bin/ApproveDenyPrayerRequest.php"하거나

+0

나는 PHP에서 새로운 편이므로 최선을 다해 설명하려고 노력할 것이다. cgi-bin이 이미 있고 파일의 코드가 이미 cgi-bin에 있습니다. 위에 표시된 코드의 파일 이름은 ApproveDenyPrayerRequest입니다. 나는 약간의 수정을 시도했다. 그러나 아직도 운이 없다. 두 파일은 CGI-bin에있는 경우 "/cgi-bin/ApproveDenyPrayerRequest.php" "ApproveDenyPrayerRequest.php" 에 : – user3521756

+0

다음은 호출 MySQL의를 포함기도 요청라는 이름의 두 번째 CGI 파일입니다 폴더를 클릭하면 수정이 적용됩니다. 둘 다 해당 폴더에있는 것으로 의심됩니다. – user3521756

+0

변경하려고 : – DoubleM

관련 문제