Неопределенные ошибки индекса

Когда я запускаю этот код в браузере, я получаю сообщение об ошибке, в котором говорится, что существует неопределенный индекс. Я потратил пару часов, пытаясь заставить его работать, но я просто не знаю, почему я продолжаю получать ту же самую точную ошибку.

<?php
if ($dbSuccess) {
$companyID = $_POST['ID'];

$preName = $_POST['preName'];
$companyName = $_POST['Name'];
$RegType = $_POST['RegType'];
$StreetA = $_POST['StreetA'];
$StreetB = $_POST['StreetB'];
$StreetC = $_POST['StreetC'];
$Town = $_POST['Town'];
$County = $_POST['County'];
$Postcode = $_POST['Postcode'];
$COUNTRY = $_POST['COUNTRY'];

}

$tCompany_SQLupdate = "UPDATE tCompany SET ";
$tCompany_SQLupdate .= "preName = ".$preName.", ";
$tCompany_SQLupdate .= "Name = ".$companyName.", ";
$tCompany_SQLupdate .= "RegType = ".$RegType.", ";
$tCompany_SQLupdate .= "StreetA = ".$StreetA.", ";
$tCompany_SQLupdate .= "StreetB = ".$StreetB.", ";
$tCompany_SQLupdate .= "StreetC = ".$StreetC.", ";
$tCompany_SQLupdate .= "Town = ".$Town.", ";
$tCompany_SQLupdate .= "County = ".$County.", ";
$tCompany_SQLupdate .= "Postcode = ".$Postcode.", ";
$tCompany_SQLupdate .= "COUNTRY = ".$COUNTRY.", ";
$tCompany_SQLupdate .= "WHERE ID = ".$companyID." ";

if (empty($companyName)) {
echo '<span style="color: red;">Cannot make the company name empty.</span><br /><br />';
}   else {
echo '<span style="text-decoration: underline;">
SQL statement</span>
<br />'.$tCompany_SQLupdate.'<br /><br />';

if (mysql_query($tCompany_SQLupdate)) {
echo 'used to Successfully update the company.<br /><br />';
}   else {
echo '<span style="color: red;">FAILED to update the company.</span><br /><br />';
}
}

?>

Сообщение об ошибке:

Notice: Undefined index: ID in C:\xampp\htdocs\forms\companyUpdate.php on line 40

Notice: Undefined index: preName in C:\xampp\htdocs\forms\companyUpdate.php on line 42

Notice: Undefined index: Name in C:\xampp\htdocs\forms\companyUpdate.php on line 43

Notice: Undefined index: RegType in C:\xampp\htdocs\forms\companyUpdate.php on line 44

Notice: Undefined index: StreetA in C:\xampp\htdocs\forms\companyUpdate.php on line 45

Notice: Undefined index: StreetB in C:\xampp\htdocs\forms\companyUpdate.php on line 46

Notice: Undefined index: StreetC in C:\xampp\htdocs\forms\companyUpdate.php on line 47

Notice: Undefined index: Town in C:\xampp\htdocs\forms\companyUpdate.php on line 48

Notice: Undefined index: County in C:\xampp\htdocs\forms\companyUpdate.php on line 49

Notice: Undefined index: Postcode in C:\xampp\htdocs\forms\companyUpdate.php on line 50

Notice: Undefined index: COUNTRY in C:\xampp\htdocs\forms\companyUpdate.php on line 51

Форма:

<?php
if ($dbSuccess) {
$companyID = $_POST['companyID'];

$tCompany_SQLselect = "SELECT * ";
$tCompany_SQLselect .= "FROM ";
$tCompany_SQLselect .= "tCompany ";
$tCompany_SQLselect .= "WHERE ID = ".$companyID." ";

$tCompany_SQLselect_Query = mysql_query($tCompany_SQLselect);

while ($row = mysql_fetch_array($tCompany_SQLselect_Query, MYSQL_ASSOC)) {
$current_preName = $row['preName'];
$current_Name = $row['Name'];
$current_RegType = $row['RegType'];
$current_StreetA = $row['StreetA'];
$current_StreetB = $row['StreetB'];
$current_StreetC = $row['StreetC'];
$current_Town = $row['Town'];
$current_County = $row['County'];
$current_Postcode = $row['Postcode'];
$current_COUNTRY = $row['COUNTRY'];
}

echo '<h2 style="font-family: arial, helvetica, sans-serif;">
Company EDIT form
</h2>';

echo '<form name="postCompany" action="companyUpdate.php" method="post">';

echo '<input type="hidden" name="companyID" value="'.$companyID.'">';
echo '
<table>
<tr>
<td>pre Name</td>
<td><input type="text" name="" value="'.$current_preName.'"></td>
</tr>
<tr>
<td>Name</td>
<td><input type="text" name="" value="'.$current_Name.'"></td>
</tr>
<tr>
<td>Reg Type</td>
<td><input type="text" name="" value="'.$current_RegType.'"></td>
</tr>
<tr>
<td>Street A</td>
<td><input type="text" name="" value="'.$current_StreetA.'"></td>
</tr>
<tr>
<td>Street B</td>
<td><input type="text" name="" value="'.$current_StreetB.'"></td>
</tr>
<tr>
<td>Street C</td>
<td><input type="text" name="" value="'.$current_StreetC.'"></td>
</tr>
<tr>
<td>Town</td>
<td><input type="text" name="" value="'.$current_Town.'"></td>
</tr>
<tr>
<td>County</td>
<td><input type="text" name="" value="'.$current_County.'"></td>
</tr>
<tr>
<td>Postcode</td>
<td><input type="text" name="" value="'.$current_Postcode.'"></td>
</tr>
<tr>
<td>COUNTRY</td>
<td><input type="text" name="" value="'.$current_COUNTRY.'"></td>
</tr>
<tr>
<td></td>
<td align="right"><button type="submit">Save</button></td>
</tr>
</table>
';

echo "</form>";
}

?>

Если вам нужна дополнительная информация, пожалуйста, прокомментируйте ниже.

1

Решение

Ваш HTML неправильный. Поля формы нуждаются в настройке атрибута имени, так как вы не установили их, они будут индексироваться численно в $ _POST, а не индексироваться по имени, используйте print_r ($ _ POST), чтобы понять, что я имею в виду.

Вам необходимо обновить HTML, чтобы установить name = «» в name = «COUNTRY» и т. Д.

У вас также может быть проблема в том, что все имена столбцов в базе данных строчные (как правило, это случай imo), и вы обращаетесь к ним в разных случаях во втором примере кода.

Попробуйте проверить, что $ row содержит в вашем цикле while, используя print_r. Вы можете найти, что вам нужно изменить на:


$current_preName = $row['prename'];
$current_Name = $row['name'];
$current_RegType = $row['regtype'];
$current_StreetA = $row['streeta'];
$current_StreetB = $row['streetb'];
$current_StreetC = $row['streetc'];
$current_Town = $row['town'];
$current_County = $row['county'];
$current_Postcode = $row['postcode'];
$current_COUNTRY = $row['country'];

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]