2017-02-08 1 views
2

저는 PHP에서 새로 왔으며 간단한 입력 양식 웹 페이지 만 수행하고 있습니다. 문제는 제출 웹 사이트가 빈 페이지로 이동 한 후 원본 페이지로 돌아가고 싶다는 것입니다. 나는 그것이 내 코드에 header()를 추가함으로써 도움이 될 수도 있지만 여기서는 도움이되지 않는다는 것을 읽었다.PHP를 사용하여 양식을 제출 한 후 페이지로 돌아 오는 방법

<?php 
$name = $_POST["name"]; 
$lnk = $_POST["img"]; 
$dsc = $_POST["dsc"]; 

$servername = 'localhost'; 
$username = 'root'; 
$password = ''; 
$database = 'cero_db'; 



$conn = new mysqli($servername, $username, $password,$database); 



$sql = "INSERT INTO pg (Name, Link, Description) 
     VALUES ('".$name."', '".$lnk."', '".$dsc."')"; 
$conn->query($sql); 

?> 

어떤 제안 :

<!DOCTYPE html> 
<html> 
<head> 
    <title> Sample Form </title> 
    <link href = "stl.css" rel = "stylesheet" type="text/css" /> 
</head> 
<body> 

<form method="post" action="connect.php"> 
    <input class = "PaganForm" id = "name" type="text" name="name" value=""> 
    <input class = "PaganForm" id = "img" type="text" name="img" value=""> 
    <input class = "PaganForm" id = "dsc" type="text" name="dsc" value=""> 
    <input type="submit" id = "SubmitButton" > 
</form> 
<?php 
    header("Location: http://localhost/simple-form.php"); 
    exit; 
    $servername = 'localhost'; 
    $username = 'root'; 
    $password = ''; 
    $database = 'cero_db'; 
    $conn = new mysqli($servername, $username, $password,$database); 

    $sql = "SELECT * FROM pg"; 
    $result = $conn->query($sql); 
    while($row = $result->fetch_assoc()) { 
     $newName = $row['Name']; 
     $newLink = $row['Link']; 
     $newDsc = $row['Description']; 

     echo "<h1>".$newName."</h1>"; 
     echo "<img src = \"".$newLink."\" />"; 
     echo "<p>".$newDsc."</p>"; 
    } 

?> 
<body> 
</html> 

connect.php은 여기 : 여기 내 코드는?

P. 나에게 도움이되는 어떤 질문도 찾을 수 없었다. 이것이 복제 된 것이라면 원본을 링크하고 나는 이것을 삭제할 것이다. 이 의견에 따라 막힌하기 전에

+3

'Header()'는 __after__ 제출 코드에 추가해야합니다. –

+1

문제는 header() 함수가 일부 html 뒤에 있다는 것입니다. 뭔가를 출력 한 후에는 헤더를 사용할 수 없습니다. 헤더를 맨 위에 놓거나 출력 버퍼링을 사용하는 방법을 찾아야합니다. 이것은 광범위하게 논의 중입니다 –

+0

양식을 배치 한 페이지의 양식 값을 처리하기 때문에'action = "connect.php"'를'action = "simple-form.php"로 변경하십시오. – elementzero23

답변

1

header("Location: simple-form.php"); 

당신은 양식에 제출 버튼이 connect.php로 안내하기 때문에, connect.php이를 추가해야보십시오.

귀하의 connect.php는 다음과 같이한다 : 3

<?php 
    $name = $_POST["name"]; 
    $lnk = $_POST["img"]; 
    $dsc = $_POST["dsc"]; 

    $servername = 'localhost'; 
    $username = 'root'; 
    $password = ''; 
    $database = 'cero_db'; 

    $conn = new mysqli($servername, $username, $password,$database); 



    $sql = "INSERT INTO pg (Name, Link, Description) 
      VALUES ('".$name."', '".$lnk."', '".$dsc."')"; 
    $conn->query($sql); 

    header("Location: simple-form.php"); 
?> 
0

난 여기가 쓸 것이다 :

는 브라우저로 전송됩니다 아무것도 위의 헤더 기능을 이동해야합니다. 머리글을 호출하기 전에 일부 html을 보내므로 머리글은 이미 html 코드와 함께 전송됩니다. 는 읽어 그것을 http://php.net/manual/en/function.header.php이 널리뿐만 아니라, 따라서 당신은 당신이 모든 출력을 보내거나 출력 버퍼링을 사용 beofre 양식을 처리 할 필요가

리디렉션 PHP 헤더를 검색에 요청합니다 . 나는 너를 체크 아웃했다. http://php.net/manual/en/function.ob-start.php

또한 올바른 장소로 사용자를 보내려면 javascript를 사용할 수도있다.

0

샘플 예제 코드에 대한 ...

<!DOCTYPE html> 
<html> 
    <head> 
     <title> Sample Form </title> 
     <link href = "stl.css" rel = "stylesheet" type="text/css" /> 
    </head> 

    <body> 
     <form method="post" action="connect.php"> 
      <input class = "PaganForm" id = "name" type="text" name="name" value=""> 
      <input class = "PaganForm" id = "img" type="text" name="img" value=""> 
      <input class = "PaganForm" id = "dsc" type="text" name="dsc" value=""> 
      <input type="submit" id = "SubmitButton" > 
     </form> 
    <body> 
</html> 

연결

간단 form.php. PHP

<?php 
    $servername = 'localhost'; 
    $username = 'root'; 
    $password = ''; 
    $database = 'cero_db'; 
    $conn = new mysqli($servername, $username, $password,$database); 

    $sql = "SELECT * FROM pg"; 
    $result = $conn->query($sql); 
    while($row = $result->fetch_assoc()) { 
     $newName = $row['Name']; 
     $newLink = $row['Link']; 
     $newDsc = $row['Description']; 

     echo "<h1>".$newName."</h1>"; 
     echo "<img src = \"".$newLink."\" />"; 
     echo "<p>".$newDsc."</p>"; 
    } 

    header("Location: simple-form.php"); 
    exit; 
?> 
관련 문제