2012-04-07 2 views
0

Я довольно новичок в php и имею проблему с перерисованием формы с перевернутыми данными;Повторно отобразить форму с обновленными данными

История до сих пор:

меня Регистрация и Logon страницы, которые идентифицируют пользователя «» по адресу электронной почты; в LOGIN пользователь переходит на собственную страницу участника, в которой будут отображаться персональные данные, хранящиеся у этого человека. Затем им предлагается редактировать эти данные, если они того пожелают. Это приведет их к странице «Обновить», и после завершения базы данных будет обновлена ​​с помощью (скрытой) страницы «обновление + ac», а затем вернется на собственную страницу «master». Проблема в том, что я не могу получить страницу «member», чтобы затем повторно отобразить обновленные данные в форме, и я не могу получить форму для повторного отображения.

Вот Релевент код страницы «член»: (я не кодируются какой-либо безопасности или проверки еще - тыс все на локальном хосте - Я хочу ВЗ получить кодирования право первого)

<?php 
     include_once 'login.php'; 
     include_once 'functions.php'; 

     if (isset($_SESSION['user'])) 
      { 
      $user = $_SESSION['user'];   

     mysql_connect($dbhost, $dbuser, $dbpass) or die(mysql_error()); 
     mysql_select_db($dbname) or die("Unable to connect: " . mysql_error()); 

     $data = "SELECT * FROM `names` WHERE email='$user'"; 
     $result=mysql_query($data) or die(mysql_error()); 
    while($row=mysql_fetch_array($result)){ 
    } 
?> 
    <table border='1px' style="background-color:#F0F8FF; font-weight: bold;" > 
     <caption>Personal Record</caption> 

    <tr> 
    <th>ID</th> 
     <td><?php 
      echo $row['id']; 
     ?></td> 
    </tr> 
    <tr> 
    <th>Name</th> 
     <td><?php 
      echo $row['name']; 
     ?></td> 
    </tr> 

    <tr> 
    <th>E-Mail</th> 
     <td><?php 
      echo $row['email']; 
     ?></td> 
    </tr> 

    <tr> 
    <th>Main Telephone</th> 
     <td><?php 
      echo $row['maintel']; 
     ?></td> 
    </tr> 
    <tr> 
    <th>Mobile Telephone</th> 
     <td><?php 
      echo $row['mobtel']; 
     ?></td> 
    </tr> 
    <tr> 
    <th>Organisation</th> 
     <td><?php 
      echo $row['organisation']; 
     ?></td> 
    </tr> 
    <tr> 
    <th>Group Leader</th> 
     <td><?php 
      echo $row['group_leader']; 
     ?></td> 
    </tr> 
    <tr> 
    <th>Supervisor</th> 
     <td><?php 
      echo $row['supervisor']; 
     ?></td> 
    </tr> 
    <tr> 
    <th>Volunteer</th> 
     <td><?php 
      echo $row['volunteer']; 
     ?></td> 
    </tr> 
    <tr> 
    <th>Assessor</th> 
     <td><?php 
      echo $row['assessor']; 
      } 

     ?></td> 
    </tr> 
    </table> 


     <p><br /> 
     <form method="post" action="update.php"> 
      <input name="Submit1" type="submit" value="Edit" style="width: 67px" /></form> 
     </p> 
     <p>&nbsp;</p> 

Ниже приведен код страницы 'update.php':

<?php 
include_once 'login.php'; 
     include_once 'functions.php'; 

    session_start(); 
// Connect to server and select database. 
    mysql_connect($dbhost, $dbuser, $dbpass) or die(mysql_error()); 
     mysql_select_db($dbname) or die("Unable to connect: " . mysql_error()); 
// get value of id that sent from address bar 
      if (isset($_SESSION['user'])) 
      { 
      $user = $_SESSION['user']; 
// Retrieve data from database 
$sql="SELECT * FROM names WHERE email='$user'"; 
$result=mysql_query($sql); 
$rows=mysql_fetch_array($result); 
} 
?> 
<table width="400" border="0" cellspacing="1" cellpadding="0"> 
<tr> 
<form name="form1" method="post" action="update_ac.php"> 
<td> 
<table width="100%" border="0" cellspacing="1" cellpadding="0"> 
<tr> 
<td>&nbsp;</td> 
<td colspan="3"><strong>Update data in mysql</strong> </td> 
</tr> 
<tr> 
<td align="center">&nbsp;</td> 
<td align="center">&nbsp;</td> 
<td align="center">&nbsp;</td> 
<td align="center">&nbsp;</td> 
<td align="center">&nbsp;</td> 
<td align="center">&nbsp;</td> 
<td align="center">&nbsp;</td> 
<td align="center">&nbsp;</td> 
<td align="center">&nbsp;</td> 
<td align="center">&nbsp;</td> 
</tr> 
<tr> 
<td align="center">&nbsp;</td> 
<td align="center"><strong>Name</strong></td> 
<td align="center"><strong>E-Mail</strong></td> 
<td align="center"><strong>Main Tel</strong></td> 
<td align="center"><strong>Mob Tel</strong></td> 
<td align="center"><strong>Organisation</strong></td> 
<td align="center"><strong>Group Leader</strong></td> 
<td align="center"><strong>Supervisor</strong></td> 
<td align="center"><strong>Volunteer</strong></td> 
<td align="center"><strong>Assessor</strong></td> 
</tr> 
<tr> 
<td>&nbsp;</td> 
<td align="center"><input name="name" type="text" id="name" value="<? echo $rows['name']; ?>"></td> 
<td><input name="email" type="text" id="email" value="<? echo $rows['email']; ?>" size="40"></td> 
<td align="center"><input name="maintel" type="text" id="maintel" value="<? echo $rows['maintel']; ?>" size="15"></td> 
<td align="center"><input name="mobtel" type="text" id="mobtel" value="<? echo $rows['mobtel']; ?>"></td> 
<td align="center"><input name="organisation" type="text" id="organisation" value="<? echo $rows['organisation']; ?>"></td> 
<td align="center"><input name="group_leader" type="text" id="group_leader" value="<? echo $rows['group_leader']; ?>"></td> 
<td align="center"><input name="supervisor" type="text" id="supervisor" value="<? echo $rows['supervisor']; ?>"></td> 
<td align="center"><input name="volunteer" type="text" id="volunteer" value="<? echo $rows['volunteer']; ?>"></td> 
<td align="center"><input name="assessor" type="text" id="assessor" value="<? echo $rows['assessor']; ?>"></td> 
</tr> 
<tr> 
<td>&nbsp;</td> 
<td><input name="id" type="hidden" id="id" value="<? echo $rows['id']; ?>"></td> 
<td align="center"><input type="submit" name="Submit" value="Submit"></td> 
<td>&nbsp;</td> 
</tr> 
</table> 
</td> 
</form> 
</tr> 
</table> 
<? 
// close connection 
mysql_close(); 
?> 

Наконец, вот код для страницы '' upate_ac.php:

<?php 
     include_once 'login.php'; 
     include_once 'functions.php'; 
// Connect to server and select database. 
mysql_connect($dbhost, $dbuser, $dbpass) or die(mysql_error()); 
     mysql_select_db($dbname) or die("Unable to connect: " . mysql_error()); 
// update data in mysql database 
$id = $_POST['id']; 
$name = $_POST['name']; 
$email = $_POST['email']; 
$maintel = $_POST['maintel']; 
$mobtel = $_POST['mobtel']; 
$organisation = $_POST['organisation']; 
$group_leader = $_POST['group_leader']; 
$supervisor = $_POST['supervisor']; 
$volunteer = $_POST['volunteer']; 
$assessor = $_POST['assessor']; 
$sql="UPDATE `names` SET id='$id', `name`='$name', `email`='$email', `maintel`='$maintel', `mobtel`='$mobtel', `organisation`='$organisation', `group_leader`='$group_leader', `supervisor`='$supervisor', `volunteer`='$volunteer', `assessor`='$assessor' WHERE `id`='$id''"; 
$result=mysql_query($sql); 
// if successfully updated. 
if($result){ 
echo "Successful"; 
echo "<BR>"; 
echo "<a href='member.php?view=$user'>View result</a>"; 
} 
else { 
echo "ERROR"; 
} 
?> 

Что происходит, так это то, что я получаю «Successfull» и «View Result». Когда я нажимаю «Просмотр результата», меня берут на страницу «участник», но формы не отображаются.

Буду признателен за любую помощь.

С уважением,

'H'

+0

_ (Я еще не закодировал какую-либо безопасность или проверку - ths - все на локальном хосте - я хочу, чтобы сначала получить право кодирования. Обязательно не забывайте - хорошая практика - проверить и убежать, когда вы идете ... (В основном, этот комментарий подходит для тех, кто пропустит вашу заметку в вопросе и прыгнет на вас по поводу SQL-инъекции здесь) –

+0

Вы должны использовать правильную отступом кода и отдельную логику кода из своего html. Это позволит сделать так много отладки –

ответ

0

session_start() отсутствует в начале страницы. Кроме того, в update_ac.php вы ставите ссылку как

<a href='member.php?view=$user'>View result</a>". 

Так что либо вы должны использовать его, чтобы получить поле пользователя в memeber странице, как $_GET['view'], а затем использовать его для выполнения запросов далее как $_SESSION не доступен.

+0

Спасибо за это! – Hamish

+0

Я использовал «session_start();» в некотором более раннем коде. Однако есть и другая проблема: когда пользователь сначала регистрирует, а затем записывает в журнал, правильно отображается их значения, однако на каждом последующий вход в вводный параграф (в html) показывает, что таблица не имеет таблицы. Поэтому, как только они отредактировали свои значения, как только таблица не будет ppear снова. Кажется, это одноразовое действие, и я думаю, что это проблема - что-то мешает повторному отображению таблицы. – Hamish

Смежные вопросы