PHP从另一个页面获取值

时间:2015-02-01 05:38:44

标签: php mysql session hyperlink dreamweaver

我有这个页面admin_inquiry.php(page1),它有一个显示记录行的动态表。我想从2列,ContactNo和消息中获取值。 contactno列包含一个链接,该链接转到admin_sms.php(第2页)并在文本字段中显示联系人号。

1页:

<td><a href="admin_sms.php?ContactNo=<?php echo $row_ContactUs['ContactNo']; ?>">Send SMS</a></td>

第2页:

<input name='number' type='text' id="number" value="<?php if(isset($_GET['ContactNo'])){echo $_GET['ContactNo'];}else{echo "";}?>">

我还希望从第1页获取列消息的内容,并在第2页的textarea中显示它。但它应该显示属于特定id或其他内容的消息。我听说过会议,但我还没有得到它。你能告诉我怎么样吗?

更新 我在admin_inquiry.php

中尝试了这个
$_SESSION['message'] = $row_ContactUs['message'];

admin_sms.php

$_SESSION['message'];

<textarea name="frmMsg" id="frmMsg" cols="45" rows="5"><?php echo $_SESSION['message'];?></textarea>

问题是,它显示的是同一条消息。不是属于某个id或其他东西的相应消息。请帮助我。

2 个答案:

答案 0 :(得分:1)

方法1:

使用POST方法提交表单。这样,您可以查询与联系号相关的Message元素,具体取决于您为<td>元素指定的名称或ID。 (你还没有给出任何)。

方法2:

使用jQuery动态设置联系号码元素的href属性。将action属性设置为包含ContactNo和Message URL parameters的URL。这样您也可以像访问联系号一样从GET数组访问消息(注意:不确定消息之类的长文本是否可以作为URL参数传递,取决于长度,以及可能是安全问题)。

答案 1 :(得分:0)

如果您仍然无法解决此问题,请在表格中添加html form

更新包括分页

第一个解决方案,创建一个文件并将其命名为contact.php

<?php  
$db = new PDO('mysql:host=localhost; dbname=data','root','');
$contacts = $db->query('SELECT * FROM contactdetails');

//creating pagination
$nav_counter = basename($_SERVER['SCRIPT_FILENAME']); //getting name of the current page
$current_page = $nav_counter;
$nav_counter = rtrim($nav_counter, ".php"); //getting the name of the current page and removing the extension

//creating pagination pages
$next_page = $nav_counter + 1;
$prev_page = $nav_counter - 1;

//getting row count, we are going to use it to limit our query and to create pagination
$row_count = $contacts->rowCount();

//number of records to show per page
$num_records = 5;

//getting the last page
$last_page = ($row_count / $num_records) - 1;
    if(!is_int($last_page)){
    $last_page = (int)$last_page + 1;
  }

//displaying records 
$start = 0;
$limit = $num_records; //number of records to show

if ($current_page !== 'admin_inquiry.php'){
    $start = ($limit * $nav_counter);
}

//getting number of rows left in the table
$rows_left = $db->query("SELECT * FROM contactdetails ORDER BY ID limit $start,$limit");
$num_rows = $rows_left->rowCount();

//if records left in the table is less than the number of records to show $num_records
if ($num_rows < $num_records) {
    $limit = $num_rows; //limit is equal to the number of records left in the table
}

//getting number of records from the table
$contacts = $db->query("SELECT * FROM contactdetails ORDER BY ID limit $start,$limit");

//displaying pagination and creating pages if they don't exists
 $pages = array();
for ($counter = 1; $counter <= $last_page; $counter++) { 
 $pages[] = $counter;
}
//storing pages in array and creating a page if it doesn't exist
foreach ($pages as $num) {
$page = $num.'.php';
if(file_exists($page)== false && $num <= $last_page){
    copy('admin_inquiry.php', $page);
 }
} 
?>

创建一个pagination.php文件

<p class="pagenav"><a href="<?php if($current_page == '1.php'){ echo 'admin_inquiry.php';}else{echo $prev_page.'.php';}  ?>" <?php if($current_page == 'admin_inquiry.php'){echo 'class="hide"';} ?>>&lt;</a> <a href="<?php echo $next_page.'.php'; ?>" <?php if($next_page > $last_page){echo 'class="hide"';} ?>>&gt;</a></p>

创建一个css文件admin.css

table {
width: 100%;
margin: 0 auto;
}
table, td, th {
border: 1px solid black;
 }

th {
height: 50px;
}
#div{
width: 40%;
margin: 0 auto;
}
.pagenav a{
display: inline;
width: 100px;
padding: 10px;
height: 100px;
border-radius: 50px;
font-size: 20px;
color: #fff;
line-height: 50px;
text-align: center;
text-decoration: none;
background-color: #0186ba;
  }
.pagenav a:hover{
background-color: #fff;
border: 1px solid #000;
color: #000;
}
.hide {
display: none !important;
}
p{
text-align: center;
}

admin_iquiry.php文件

 <?php 
  require_once('contact.php');
 ?>
 <!DOCTYPE html>
 <html>
 <head>
   <title></title>
   <link rel="stylesheet" type="text/css" href="admin.css">
 </head>
 <body>
 <div id="div">
    <table>
      <tr>
         <th>ID</th>
         <th>Contact No.</th>
         <th>Message</th>
      </tr>
     <?php foreach ($contacts as $value) : ?>
          <tr><td><?php echo $value['ID']; ?></td><td><?php echo $value['ContactNO']; ?></td><td><?php echo $value['Message'] ?></td><td><form action="admin_sms.php" method="post"><input type="hidden" name="ContactNo" value="<?php echo $value['ContactNO']; ?>"><input type="hidden" name="Message" value="<?php echo $value['Message']; ?>"><input type="Submit" value="Send SMS" name="send_sms" /></form></td></tr>
      <?php endforeach; ?>
    </table>
    <?php require_once('pagination.php'); ?>
    </div>
   </body>
   </html>

admin_sms.php

<?php 
   if(isset($_POST['send_sms'])){
$contactNo = $_POST['ContactNo'];
$message = $_POST['Message'];
}

?>

html代码

<div style="margin:0 auto; width:50%">
 <p>Message for: <?php echo $contactNo; ?></p>
<textarea><?php echo "$message"; ?></textarea>

enter image description here

使用$_GET

的第二个解决方案
<?php 
  require_once('contact.php');
 ?>
<!DOCTYPE html>
<html>
<head>
    <title></title>
    <link rel="stylesheet" type="text/css" href="admin.css">
</head>
<body>
<div id="div">
<table>
<tr>
    <th>ID</th>
    <th>Contact No.</th>
    <th>Message</th>
</tr>
foreach ($contacts as $value) : ?>
    <tr><td><?php echo $value['ID']; ?></td>
            <td><?php echo $value['ContactNO']; ?></td>
            <td><?php echo $value['Message'] ?></td>
            //use id of the contact no and in the next page use that id to query data related to that id
            <td><a href="admin_sms.php?id=<?php echo $value['ID']; ?>">Send Sms</a></td></tr>
<?php endforeach; ?>
  </table>
   <?php require_once('pagination.php'); ?>
  </div>
  </body>
  </html>

admin_sms.php

<?php 
 $db = new PDO('mysql:host=localhost; dbname=data','root','');
 if(isset($_GET['id'])){
 $id= $_GET['id'];
 $results = $db->query("SELECT * FROM contactdetails WHERE ID = $id");
 foreach ($results as  $value) {
       $contactNo = $value['ContactNO'];
      $message = $value['Message'];
     }
   }

 ?>
你的HTML中的

<div style="margin:0 auto; width:50%">
  <p>Message for: <?php echo $contactNo; ?></p>
<textarea><?php echo "$message"; ?></textarea>

enter image description here