Hi im really at the beginning of my programming career. I have to program a little website for my school project. I did implement some sort of guestbook on my website and tried to secure the variables that get posted into the db from some sql injection etc.
My input form on the main page guestbook.php:
< form action="post.php" method="post">
< strong>Name:< /strong><br/> < input type="text" name="name" /><br/>
< strong>Message:< /strong><br/> < textarea name="message" rows="5"
cols="25">< /textarea><br/>
< input type="submit" value="send">
</form>
my post method php:
< ?php
require_once 'config.php'; (db connect)
$fields = array("name", "message");
$isOkay = TRUE;
foreach ($fields as $field) {
if (empty($_POST[$field])) {
$isOkay = FALSE;
}
}
if ($isOkay) {
extract($_POST);
$now = time();
if (mysqli_query($db_link,"insert into comments (`name`,message,`timestamp` ) values ('{$name}','$message','{$now}')")) {
header("Location: guestbook.php");
} else {
echo "Can't connect to database.";
}
} else {
echo "One or more fields are empty.";
}
?>
Everything works fine and gets posted to my db but if I now add something like this to my code:
$safename = $_POST["name"];
$name = mysql_real_escape_string($safename)
$safemessage = $_POST["message"];
$message = mysql_real_escape_string($safemessage)
my variables i try to get into my db are now empty ... probably a dumb mistake somewhere by me but is anyone willing to help me here?
thanks in advance :)