Archief - PHP header() refresht niet volledig, alternatief?

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

tghmember

Legacy Member
Beste 9livers

Ik ben momenteel bezig met een webshop, tot nu toe ging alles vrij snel maar ik zit met 1 probleempje.
Wanneer ik in het winkelwagentje mijn aantallen aanpas, en dan op de knop 'update' klik, refresh de pagina d.m.v. Header(location: pagina.php). De pagina refresh dan wel, maar de waarden blijven hetzelfde (ze worden uit een databank gehaald d.m.v. mysql_fetch_assoc). Wanneer ik dan op F5 druk, passen de waarden wel aan.

Hoe kan ik dit best oplossen?

Alvast bedankt

Robin

W0utR

Legacy Member
Sowieso zit er ergens een fout in je logica, als je uw waarden eerst update in je database, dan de pagina refresht en ze dan opnieuw ophaalt heb je de laatste waarden, indien het niet zo is gaat er iets fout.

Maar zonder code is het nogal moeilijk om hieraan iets te doen.

tghmember

Legacy Member
if(isset($_POST['update']))
{
for($j=1; $j<=$i; $j++)
{
$aantalverpakkingen = $_POST['aantalverpakkingen'.$j];
$aantalkartons = $_POST['aantalkartons'.$j];
$productnr = $_POST['product'.$j];
if($aantalverpakkingen == 0 AND $aantalkartons == 0)
{
$sql3 = "DELETE FROM winkelwagentje WHERE productnr=$productnr";
$result3 = mysql_query($sql3);
}
else
{
$sql3 = "UPDATE winkelwagentje SET aantalverpakkingen=$aantalverpakkingen, aantalkartons=$aantalkartons WHERE productnr=$productnr";
$result3 = mysql_query($sql3);
}
}
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
header('location: winkelkaretje.php');
}

Dit is de code die het winkelwagentje update. In de databank worden correct de waarden geupdate of verwijdert.

tghmember

Legacy Member
Heb het ondertussen zelf kunnen oplossen door een javascript refresh te gebruiken ipv php header.
mysql_real_escape_string volstaat tegen sql injection toch? Heb het zonet toegepast.

nameless

Legacy Member
Ik zou zaken zoals u tablenames etc in het Engels benoemen ipv in het Nederlands.

dendaak

Legacy Member
Volstaan weet ik niet zo direct hoor.
Ik zou eerder PDO overwegen om je db calls uit te voeren.

W0utR

Legacy Member
tghmember zei:
Bedankt voor de tip! Maar waarom eigenlijk? :wtf:

Naming conventions en coding standards, taal maakt in mijn ogen niet echt uit, maar Engels is gewoon best-practice in de programmeer wereld.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan