xvilo
Gebruiker
- Lid geworden
- 14 dec 2008
- Berichten
- 492
Hallo Allemaal,
Ik ben 'es serieus bezig met PHP en ik probeer een admin panel te maken, nu kan de geregistreerde gebruiker zijn/haar gegevens aanpassen, hiervoor moet ik de database updaten, alleen als ik de form post, update hij niks, hij doet alles wel gewoon en ik kan er ook geen error's uitdebuggen -maar dat zal mijn incompetentie wel zijn-.
De code:
Waarom werkt het sumbitten niet? Hij haalt wel alle data goed uit de database.
En nog de vraag, is het handig/veilig zoals ik het op deze manier doe? (ga niet beginnen over PDO
)
Alvast bedankt,
//xvilo
Ik ben 'es serieus bezig met PHP en ik probeer een admin panel te maken, nu kan de geregistreerde gebruiker zijn/haar gegevens aanpassen, hiervoor moet ik de database updaten, alleen als ik de form post, update hij niks, hij doet alles wel gewoon en ik kan er ook geen error's uitdebuggen -maar dat zal mijn incompetentie wel zijn-.
De code:
PHP:
<?php
session_start();
require_once 'includes/config.php';
require_once 'includes/functions.php';
checkLogin();
require_once 'includes/header.php';
if ($_POST['update'] == 'ok') {
$required = array(
'email',
'firstname',
'lastname',
'adres',
'city',
'zip',
'country',
'phone'
);
// Loop over field names, make sure each one exists and is not empty
$error = false;
foreach ($required as $field) {
if (empty($_POST[$field])) {
$error = true;
$fields = $fields . " " . $field;
}
}
if ($error) {
$mesg = '<li class="danger alert">Oeps, je hebt niet alles ingevuld: ' . $fields . '</li><br>';
} else {
$con = mysqli_connect($db_host, $db_user, $db_password, $db_database);
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
die();
}
mysqli_query($con, "UPDATE users SET email='mysql_real_escape_string($_POST[email])' ip='$ip' firstname='mysql_real_escape_string($_POST[firstname])' lastname='mysql_real_escape_string($_POST[lastname])' adres='mysql_real_escape_string($_POST[adres])' city='mysql_real_escape_string($_POST[city])' zip='mysql_real_escape_string($_POST[zip])' country='mysql_real_escape_string($_POST[country])' phone='mysql_real_escape_string($_POST[phone])' WHERE id='$_SESSION[id]' ");
mysqli_close($con);
}
}
?>
<div class="row" id="login">
<div class="three columns">
<center> <h2>Account</h2> </center>
<p>All your information in one place, change it when you want! </p>
<center><h2>News</h2></center>
<p>Important news, updates or anything else will be posted here!</p>
</div>
<div class="nine columns">
<center><h3 id="information">Overview</h3></center>
<p> </p>
<?php
// Connects to your Database
mysql_connect($db_host, $db_username, $db_password) or die(mysql_error());
mysql_select_db($db_database) or die(mysql_error());
$data = mysql_query("SELECT * FROM users WHERE id='$_SESSION[id]'") or die(mysql_error());
while ($info = mysql_fetch_array($data)) {
?>
<form id="infoForm" action="<?php
$_SERVER['PHP_SELF'];
?>" method="post">
<div class="row">
<?php
echo $mesg;
?>
<div class="five columns">
<ul>
<li class="field"><input class="text input" name="firstname" type="text" placeholder="First name" value="<?php
echo $info['firstname'];
?>" /></li>
<li class="field"><input class="text input" name="lastname" type="text" placeholder="Last name" value="<?php
echo $info['lastname'];
?>"/></li>
<li class="field"><input class="text input" name="adres" type="text" placeholder="Adres" value="<?php
echo $info['adres'];
?>"/></li>
<li class="field"><input class="text input" type="text" name="zip" placeholder="Zip" value="<?php
echo $info['zip'];
?>"/></li>
<li class="field"><input class="text input" type="text" name="city" placeholder="City" value="<?php
echo $info['city'];
?>"/></li>
<li class="field"><input class="text input" type="text" name="country" placeholder="Country" value="<?php
echo $info['country'];
?>"/></li>
<li class="field"><input class="text input" type="text" name="phone" placeholder="phone" value="<?php
echo $info['phone'];
?>"></input></li>
</ul>
</div>
<div class="two columns">
<!--<h5>Statistics</h5>
<p>Balance due <em>€-12.50</em>.</p>
<p>Registerd about 3 years ago.</p>
<p><a href="pay.html">pay €12.50</a></p>-->
</div>
<div class="five columns">
<ul>
<li class="field"><input class="text input" type="text" name="email" placeholder="Email" value="<?php
echo $info['email'];
?>"/></li>
<p> </p>
<h5>Change password</h5>
<li class="field"><input class="text input" type="text" placeholder="Username" disabled value="<?php
echo $info['user'];
?>"/></li>
<li class="field"><input class="password input" type="password" placeholder="current passcode" /></li>
<li class="field"><input class="password input" type="password" placeholder="new passcode" /></li>
<li class="field"><input class="password input" type="password" placeholder="new passcode again" /></li>
</ul>
</div>
</div>
<input type="hidden" name="update" value="ok">
<center><p> </p> <div class="medium secondary btn icon-left icon-key"><a href="#" onclick="document.getElementById('infoForm').submit();">Submit</a></div></center>
</form>
<?php
}
?>
<p> </p><p> </p>
<table class="striped rounded">
<caption id="products">Products</caption>
<thead>
<tr>
<th>Name</th>
<th>Information</th>
</tr>
</thead>
<tbody>
<?php
// Connects to your Database
mysql_connect($db_host, $db_username, $db_password) or die(mysql_error());
mysql_select_db($db_database) or die(mysql_error());
$data = mysql_query("SELECT * FROM products WHERE uid='$_SESSION[id]'") or die(mysql_error());
while ($info = mysql_fetch_array($data)) {
?>
<tr>
<td><?php
echo $info['name'];
?></td>
<td><?php
echo $info['name'];
?> added <?php
echo aboutTime($info['regdate']);
?>, running until <?php
echo $info['enddate'];
?></td>
</tr>
<?php
}
?>
</tbody>
</table>
</div>
</div>
<?php
require_once 'includes/footer.php';
?>
Waarom werkt het sumbitten niet? Hij haalt wel alle data goed uit de database.
En nog de vraag, is het handig/veilig zoals ik het op deze manier doe? (ga niet beginnen over PDO

Alvast bedankt,
//xvilo