2017-02-08 12 views
2

私はPHPで新しく、単純な入力フォームのWebページをやっています。問題は、提出ウェブサイトが空白のページに移動した後、元のページに戻ることです。私は私のコードに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.S.私はこれが重複している場合、元のリンクのみと私はこれを削除しますので、私を助けたすべての質問を見つけることができませんでした。

+3

'Header()'に__after__提出コードを追加する必要があります。 –

+1

問題は、あなたのheader()関数がhtmlの後にあることです。あなたは何かを出力した後、ヘッダーを使用することはできません。ヘッダーを一番上に置くか、出力バッファリングを使用する方法を見つける必要があります。これは広範に議論されています。 –

+0

すべてのデータが送信される前にヘッダーが送信される必要があり、ヘッダー機能の前にOPにhtmlコードが送信されるため、まだ動作しません。 – elementzero23

答えて

1

は、フォームにご提出ボタンがconnect.phpにご案内いたしますので、connect.phpでこれを追加する必要があり、この

header("Location: simple-form.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のヘッダを検索SO同様に求められています。私はあなたがチェックアウトsugget http://php.net/manual/en/function.ob-start.php

あなたはまた、適切な場所にユーザーを送信するためにJavaScriptを使用することができます。

0

あなたのコードのサンプル例

単純form.php

<!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> 

を。 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; 
?> 
関連する問題