Reputation:
I want to show a list in PHP
with the entries in a mysql-database
. it works, now in the same .php
file, a form should insert a new entry in the database, and it should be then shown in the list. My attempts have failed, where the last entry is always inserted in the database upon every access to the site. Below is my code:
PHP-Part adminlist.php:
$adminname = mysqli_real_escape_string($con, $_POST['adminname']);
$server = mysqli_real_escape_string($con, $_POST['server']);
if(!empty($adminname && $server))
{
$insert = "INSERT INTO admins (ID, Name, Passwort, Server, Anmeldungen) VALUES (NULL, '" . $adminname . "', '', '" . $server . "', '0')";
$insertquery = mysqli_query($con, $insert);
}
HTML-Part adminlist.php:
<form name='einfuegen' action='adminlist.php' method='post'>
<table>
<tr>
<th>Name</th>
<th>Server</th>
</tr>
<tr>
<td><input name='adminname' value='' /></td>
<td><input name='server' value='' /></td>
<td><input type='submit' value='Einfügen' /></td>
</tr>
</table>
</form>
I've tried also to set under the form
$server = 0;
$adminname = 0;
and edited the above:
if(!empty($adminname && $server) && ($server != 0) && ($adminname != 0))
In this case it won't work and nothing is inserted. How could I set only one to be inserted and be shown then in the list?
Upvotes: 2
Views: 102
Reputation: 10548
Change this if(!empty($adminname && $server))
with if(!empty($adminname) && !empty($server))
And, don't unnecessary concatenate values for inserting.
Edited Code
if(!empty($adminname) && !empty($server))
{
$insert = "INSERT INTO admins (ID, Name, Passwort, Server, Anmeldungen) VALUES (NULL, '$adminname','', '$server', '0')";
$insertquery = mysqli_query($con, $insert);
}
For OP :
Use header("location:adminlist.php");
for redirecting it after submitting.
<?php
error_reporting(0);
if($_POST['submitValue']) {
$adminname = mysqli_real_escape_string($con, $_POST['adminname']);
$server = mysqli_real_escape_string($con, $_POST['server']);
$insert = "INSERT INTO admins (ID, Name, Passwort, Server, Anmeldungen) VALUES (NULL, '$adminname','', '$server', '0')";
$insertquery = mysqli_query($con, $insert);
header("location:adminlist.php");
}?>
<form name='einfuegen' action='' method='post'>
<table>
<tr>
<th>Name</th>
<th>Server</th>
</tr>
<tr>
<td><input name='adminname' value='' /></td>
<td><input name='server' value='' /></td>
<td><input type='submit' name='submitValue' value='Einfügen' /></td>
</tr>
</table>
</form>
Upvotes: 3