maar het word nogal groot om elke keer $naam er bij te zetten en da 12 keer in da script te gaan zetten hoe kan ik dit doen dat dit er voor alle velden maar 1 keer in staat. het moet natuurlijk geen pagina van 1000 regels worden :p
$query = "SELECT email , gbnaam , naam , voornaam , djnaam , bio , contact , muziek , website , locaties , profiel , nr FROM members WHERE gbnaam = '$gbnaam'";
$resultaat = mysql_query($query);
$rij = mysql_fetch_array($resultaat);
if ($voornaam != ''){
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$values = array ();
foreach ($_POST as $key => $value) {
$values[$key] = mysql_real_escape_string ($value);
// doe verder wat je wilt hier
}
}
mysql_query("UPDATE members SET naam = '".$_POST['naam']."',voornaam = '".$_POST['voornaam']."',djnaam = '".$_POST['djnaam']."',bio = '".$_POST['bio']."',contact = '".$_POST['contact']."',muziek = '".$_POST['muziek']."',website = '".$_POST['website']."',locaties = '".$_POST['locaties']."'WHERE gbnaam = '".$_POST[gbnaam]."'")
or die(mysql_error());
//melding gegevens zijn opgeslagen en worden nu weergegeven op deze pagina
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$values = array ();
foreach ($_POST as $key => $value) {
$values[$key] = mysql_real_escape_string ($value);
$values[$key] = strip_tags ($value);
// doe verder wat je wilt hier
}
}
?>
[edit]
WAT EEN VRESELIJK ONVEILIGE CODE!!! ZORG DAT MYSQL_INJECTION NIET MOGELIJK IS! http://www.phphulp.nl/php/zoeken.php?search=1&q=Mysql+Injection&w=PHP+tutorials&=+Zoeken+
sorry dat ik zo schreeuw...
[/edit]
@Jonathan: Waar denk je dat mysql_real_escape_string() voor wordt gebruikt? Daarmee is de boel aardig dichtgespijkerd.
Kun je aangeven wat er volgens jou nog zou moeten gebeuren?
@Jessy: Dit stukje kan regelrecht de prullenbak in:
<?
$user_ip = $_SERVER['REMOTE_ADDR'];
$gbnaam = $_POST['gbnaam'];
$gbnaam = $_GET['gbnaam'];
$naam = $_POST['naam'];
$voornaam = $_POST['voornaam'];
$djnaam = $_POST['djnaam'];
$website = $_POST['website'];
$bio = $_POST['bio'];
$contact = $_POST['contact'];
$muziek = $_POST['muziek'];
?>
Dubbele variabelen aanmaken is volkomen overbodig en vragen om problemen. Zolang je niets aan de inhoud van een variabele hebt veranderd, gebruik je de originele naam, dus $_POST[] in dit geval.
En waarom <br> in de database komt, weet ik niet, echo de query eens wanneer je het formulier hebt verstuurd. En zorg er voor dat je 200% zeker weet dat je nl2br() uit je code hebt gesloopt.
strip_tags() dan trim -> Check of tekens wel is wat je wil en/of dat ze niet te veel letters gebruiken -> Yes mysql_real_escape_string zeer belangrijk voor veilig code -> upsakee in de database ermee.
Uit de database halen is zeer makkelijk htmlentities() -> nl2br() -> zet alle ubb dingen (als je die hebt) om in html. Zo als dit niet veilig is weet ik het ook niet meer.....