Form wil niet werken...
Maarten Leemans
13/09/2013 15:08:10Ik probeer een form te maken waarbij bezoekers een e-mailadres kunnen achterlaten.
ik heb volgende gedaan:
in mijn database heb ik een tabel aa_nieuwsbrief aangemaakt met volgende gegevens
1 id int(11)
2 email varchar(255) utf8_general_ci
dan mijn code:
<form action="save-in-database.php" method="post">
<h1><input type="varchar" name="email" /> <input type="submit" value="Blijf op de hoogte!" /></h1>
</form>
en mijn bestand save-in-database.php
Er worden echter geen gegevens opgeslagen en ik kom uit bij een witte, lege pagina...
ik heb volgende gedaan:
in mijn database heb ik een tabel aa_nieuwsbrief aangemaakt met volgende gegevens
1 id int(11)
2 email varchar(255) utf8_general_ci
dan mijn code:
<form action="save-in-database.php" method="post">
<h1><input type="varchar" name="email" /> <input type="submit" value="Blijf op de hoogte!" /></h1>
</form>
en mijn bestand save-in-database.php
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
define('DB_NAME', 'xxx');
define('DB_USER', 'xxxx');
define('DB_PASSWORD', 'xxxx');
define('DB_HOST', 'localhost');
$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
$db_selected = mysql_select_db(DB_NAME, $link);
$value = $_POST['email'];
$sql = "INSERT INTO aa_nieuwsbrief (email) VALUES ('$email')";
mysql_close();
?>
define('DB_NAME', 'xxx');
define('DB_USER', 'xxxx');
define('DB_PASSWORD', 'xxxx');
define('DB_HOST', 'localhost');
$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
$db_selected = mysql_select_db(DB_NAME, $link);
$value = $_POST['email'];
$sql = "INSERT INTO aa_nieuwsbrief (email) VALUES ('$email')";
mysql_close();
?>
Er worden echter geen gegevens opgeslagen en ik kom uit bij een witte, lege pagina...
PHP hulp
17/11/2024 14:41:52Niet verwonderlijk, je heb nu alleen een connectie met de de host, en de database, en een string in $sql staan.
Je moet deze wel uitvoeren met mysql_query().
Daarna moet je kijken of goede foutafhandeling of de query gelukt is.
Nog wat tips:
- Verdiep je eens in MySQLi, de nieuwe functiebibliotheek die mysql-functies op zal volgen.
- Let op SQL-injection. Elke vorm van $_POST, $_GET, $_COOKIE en $_SESSION in je query dien je te beveiligen met mysql_real_escape_string()
- Variabelen horen buiten quotes (je #email) in je $sql;
Je moet deze wel uitvoeren met mysql_query().
Daarna moet je kijken of goede foutafhandeling of de query gelukt is.
Nog wat tips:
- Verdiep je eens in MySQLi, de nieuwe functiebibliotheek die mysql-functies op zal volgen.
- Let op SQL-injection. Elke vorm van $_POST, $_GET, $_COOKIE en $_SESSION in je query dien je te beveiligen met mysql_real_escape_string()
- Variabelen horen buiten quotes (je #email) in je $sql;
Gewijzigd op 13/09/2013 15:16:50 door - Ariën -
Erwin H
13/09/2013 15:21:13En dan nog:
Wat is het $value, of $email?
Code (php)
1
2
3
4
5
2
3
4
5
<?php
$value = $_POST['email'];
$sql = "INSERT INTO aa_nieuwsbrief (email) VALUES ('$email')";
?>
$value = $_POST['email'];
$sql = "INSERT INTO aa_nieuwsbrief (email) VALUES ('$email')";
?>
Wat is het $value, of $email?