2014-04-14 5 views
1

클래스로 PHP가 포함 된 페이지를 만들고 잘못된 정보가 표시 될 수 있습니다. 내 PHP 페이지에 물건을 에코 때에코 드 텍스트가 잘못된 위치에 표시됩니다.

<?php 
$con = mysql_connect("localhost","USERNAME","PASSWORD"); 
if(!$con) { 
    die("could not connect to localhost:" .mysql_error()); 
} 

mysql_select_db("a7068104_world") or die("Cannot connect to database"); 

header("refresh:1.5; url=NamesAction.php"); 

$firstname = mysql_real_escape_string($_POST['firstname']); 
$lastname = mysql_real_escape_string($_POST['lastname']); 
$fullname = mysql_real_escape_string($_POST['firstname'] . " " . $_POST['lastname']); 
$age = mysql_real_escape_string($_POST['age']); 
$query = "SELECT * FROM names_1 WHERE fullname='$fullname'"; 
$result = mysql_query($query); 
if(mysql_num_rows($result) > 0){ 
     echo "Your name is already in the database and will not be added again!"; 
} 
else { 
     $query = "INSERT INTO names_1 (firstname, lastname, fullname, age) VALUES('$firstname', '$lastname', '$fullname', '$age')"; 
     $result = mysql_query($query); 
     if($result) { 
      echo "Your name was successfully added to the database!"; 
     } 
     else{ 
      echo "Your name couldn't be added to the database!"; 
     } 
} 

mysql_close($con); 
?> 

<html> 
<head> 
    <link rel="stylesheet" href="Site.css"> 
    <?php include("Header.php"); ?> 
    </div> 
</head> 

<body> 
    <div id="main"> 
     <h1>Names</h1> 
     <p>You will be redirected back to the <b>Names</b> page in a moment.</p> 
     <?php include("Footer.php");?> 
    </div> 
</body> 
</html> 

이 그것에 있다는 프레임의 맨 위에 표시됩니다 : 여기

내 PHP 페이지 내 HTML 페이지

여기
<html> 
<head> 
    <link rel="stylesheet" href="Site.css"> 
    <?php include("Header.php"); ?> 
    </div> 
</head> 

<body> 
    <div id="main"> 
     <h1>About</h1> 

     <form action="Insert.php" method="post"> 
      <table> 
       <tr> 
        <td><span>First name:</span></td> 
        <td><input type="text" name="firstname"></td> 
       </tr> 
       <tr> 
        <td><span>Last name:</span></td> 
        <td><input type="text" name="lastname"></td> 
       </tr> 
       <tr> 
        <td><span>Age:</span></td> 
        <td><input type="number" name="age"></td> 
       </tr> 
      </table> 

      <input type="submit"> 
     </form> 

     <?php include("Footer.php");?> 
    </div> 
</body> 
</html> 

입니다 바로

<div id="main"> 

위에 나는 에코 텍스트가

의 맨 아래에 가고 싶어
<div id="main"> 

내가 할 수있는 방법이 있습니까? 도와 줘서 고마워!

+0

당신의 CSS 될 수 있습니다. 샘플을 게시 하시겠습니까? –

답변

2

귀하의 문제는 당신이 당신의 HTML을 공급하기 전에 메시지를 echo'ing 을 점이다

감사합니다, Leonardude. PHP는 서버 측 언어와 HTML 클라이언트 측이다

 if($result) { 
      echo "Your name was successfully added to the database!"; 
     } 
     else{ 
      echo "Your name couldn't be added to the database!"; 
     } 

때문에, PHP 페이지가 표시되기 전에 메아리 의미하는 HTML 전에 잘 처리합니다 : 분명 여기 . 따라서 귀하의 <div id="main"></div> 전의 문제입니다.

이 주위에 방법이 어딘가에 변수

 if($result) { 
      $var = "Your name was successfully added to the database!"; 
     } 
     else{ 
      $var = "Your name couldn't be added to the database!"; 
     } 

그리고 설정하여 당신의 <div id="main"></div> 다음과 같이 할 수있는 :

<div id="main"> 

<?php 
    if(isset($var) && !empty($var)) { 
     echo $var; 
    } 

?> 

</div> 
+0

감사! 정말 감사! –

관련 문제