hey ik heb even een kort vraagje ik heb een form met 12 velden op elk veld moet dit komen
<?

$naam = htmlentities($naam);
$naam = nl2br($naam);

?>

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
hehe ik wou weer te snel zijn \n

maar wat jan daar heeft vind ik iets heel raar het klopt wat hij daar heeft maar ik krijg altijd

syntax error, unexpected '}' in .......

dus de laatste 2 } zegt hij dit maar toch staan ze er ni te veel en klopt dat


(Probleempje gevonden was ergens ; vergeten )
ik denk dat ik die strip_tags() er verkeer inzet ofzo hoe moet ik da er dan inzetten ?
ik snap er geen reet eer van hoe zet ik hie strip_tags() er in ??

het word wel op dezelfde pagina na querry update alles weergegeven dat verandert is

in dat scriptje van jan werkt het niet

als ik strip_tags apart zet bv $naam = strip_tags($naam)

dan word <br> nog altijd doegevoegd aan db maar word in de print na die sql UPDATE de spatie niet weergegeven :s
hier is dat deel van het script met sql en print

<?
$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'];


$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


print "<font color=#000000><body bgcolor=#dcdcdc>Ok, je gegevens zijn sucessvol gewijzigd <br><br>
Naam : " . $naam . " <br><br>
voornaam: " . $voornaam . " <br><br>
dj naam: " . $djnaam . " <br><br>
website: " . $website . " <br><br>
bio: " . $bio . " <br><br>
contact: " . $contact . " <br><br>

terug naar profiel
<a href=http://www.epartyzone.nl/profiel.php>klik hier om in te loggen</a>";

exit;

}
?>
<?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]
weet ik moet nog nen hoop bij is ook niet heel da script

maar op die manier dat jij zegt werkt het nog niet waarom komt die <br> nog altijd in de db te staan ?
@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.



Wat ik doe voor veilige invoer is dit:

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.....
[off]

/n is wat anders dan \n...


GEBRUIK DEZE FUNCTIES NOOIT OM GEGEVENS IN DE DATABASE TE ZETTEN!!

Sorry dat ik zo schreeuw, maar

Lol, frank, soms vind ik het heel grappig hoe je reageert xD
[/off]

@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?

[php]mysql_real_escape_string()[/php] is heel veilig ja, maar in zijn script staat dat niet... wel in voorbeelden van jan , maar niet in zn script

Reageren