Database Formulier

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Dennis Ham

Dennis Ham

18/11/2008 19:54:00
Quote Anchor link
Hallo iedereen, ik heb een probleempje met een formulier die alle gegevens uit een database haalt en dan alle gegevens bv. naam, telnr, adres ens. op de juiste invoervelden invult. Dat gaat goed maar als je iets wijzigd of aanvult dan wordt de database aangepast maar ga je terug naar die pagina dan staat de veranderingen er niet bij, maar de selfde situatie zoals voor de aanpassing. Als je de browser sluit en opnieuw naar toe gaat staat het er wel. Kan het zijn dat de browser onthoud wat er moet staan en hoe kan ik dit oplossen??
 
PHP hulp

PHP hulp

22/11/2024 12:11:12
 
- SanThe -

- SanThe -

18/11/2008 20:07:00
Quote Anchor link
Zet dit tussen <head. en </head> .

<meta http-equiv="expires" content="0" />
<meta http-equiv="pragma" content="no-cache" />
<meta http-equiv="cache-control" content="no-cache" />
 
Dennis Ham

Dennis Ham

18/11/2008 20:13:00
Quote Anchor link
Bedankt!!! het werkt ;)

Ik weet niet wat het betekend maar als het maar werkt, een goude stukje script dus voor formulieren met een database.
 
- SanThe -

- SanThe -

18/11/2008 20:48:00
Quote Anchor link
Het leegt de cache van de browser. Dus de pagina moet echt weer worden opgehaald bij de server.
 
Dennis Ham

Dennis Ham

19/11/2008 14:54:00
Quote Anchor link
Zijn er nog nadelen by het gebruik hiervan of kan ik dit gewoon standaard in iedere pagina invullen? Want ik zie als ik bv. een factuur verwijderd deze ook blijft staan als ik terug naar de pagina gaat maar wel uit de database haalt
 
- SanThe -

- SanThe -

19/11/2008 14:56:00
Quote Anchor link
Ik gebruik het altijd. Nadelen? Ik zou het niet weten.
 
Crispijn -

Crispijn -

19/11/2008 15:55:00
Quote Anchor link
De laad tijd zal misschien iets omhoog gaan omdat alles weer direct van de server moet worden opgehaald. Dit hoeft geen groot probleem te zijn lijkt me :)
 
Dennis Ham

Dennis Ham

19/11/2008 16:33:00
Quote Anchor link
Worden sessies dan wel bewaard? want ik start de volgende sessies

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?
  session_start();
  session_register("inkoopleveranciernaam_session");
  session_register("inkoopfactuurid_session");
  session_register("inkoopfactuurnr_session");
  include("admincheck.php");
?>


maar iedere keer als ik een nieuw factuurtje aanklik dan zie ik de sessie van de vorige als ik echo $_SESSION['inkoopfactuurnr']; oproep
 
- SanThe -

- SanThe -

19/11/2008 17:02:00
Quote Anchor link
session_register() is antiek gebruik $_SESSION['....'] = .....;
 
Dennis Ham

Dennis Ham

19/11/2008 17:16:00
Quote Anchor link
session_register("inkoopfactuurnr_session");
sou moeten worden
$_SESSION[inkoopfactuurnr]=inkoopfactuurnr; ??

Ik denk dat dat een probleem gaat opleveren want session register registreerd alleen de sessie sodat de script weet dat hij bij de betreffende factuur door moet gaan totdat (zie onderstaande script) de sessie veranderd moet worden

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?
$SQL
="select * from (inkoopfacturen inner join inkoopfactuurdetails on inkoopfacturen.ink_fac_id = inkoopfactuurdetails.inkfactuurid) inner join producten on inkoopfactuurdetails.productid = producten.pid where ink_fac_id=".$factuurid." order by iinkfid";
$zoekresultaten=$zoekresultaten_query=mysql_query(($SQL),$eaccesDB);
$zoekresultaten=mysql_fetch_array($zoekresultaten_query);
;
?>
<br><br>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<? if (!($zoekresultaten==0))
{

  $factuurbedrag=$zoekresultaten["factuurbedrag"];
  $factuurdatum=$zoekresultaten["factuurdatum"];
  $factuurnummer=$zoekresultaten["factuurnummer"];
  $factuuromschrijving=$zoekresultaten["omschrijving"];
  $_SESSION['inkoopfactuurnr']=$zoekresultaten["factuurnummer"];
?>


PS. ik denk dat er een fout in SQL= gedeelte sit maar hij werkt zo en als ik iets verander van quotes krijg ik alleen een foutmelding.

Me enige probleem is dus dat de sessie niet vernieuwd als je een nieuwe factuur aanklikt en alles bij de vorige factuur bijgezet wordt??
 
- SanThe -

- SanThe -

19/11/2008 17:24:00
Quote Anchor link
Wijzig jij de session misschien pas nadat je de info op het scherm hebt gezet?
 
Dennis Ham

Dennis Ham

19/11/2008 17:48:00
Quote Anchor link
Die session register van twee posts terug staat helemaal bovenaan, als je dat bedoeld. Hier kan je de hele script zien http://codeviewer.org/view/code:587
 
Dennis Ham

Dennis Ham

20/11/2008 04:20:00
Quote Anchor link
@ SanThe: Je had toch gelijk ;) het heb wat werk gekost om het uit te zoeken maar uiteindelijk een manier gevonden om die ene session
$_SESSION['inkoopfactuurnr']=$zoekresultaten["factuurnummer"];
naar boven de html te verplaatsen en nu werkt het. ook nog even je ''cache legen'' op andere paginas geplaatst waar het nodig was.

Bedankt!!!!
 
Robert Deiman

Robert Deiman

20/11/2008 08:39:00
Quote Anchor link
@Dennis

Ik heb nog nooit meegemaakt dat een browser de inhoud van een formulier na verzenden uit zichzelf meenam en er weer in zette. De cache legen heeft daarom voor jou geen toegevoegde waarde, je moet alleen zorgen dat die de sessie-variabelen voor het formulier al instelt.

Doe je dat erna, dan is het logisch dat de waarden "verkeerd" worden weergegeven, maar dat ligt niet aan de cache, maar aan je opbouw van de code.
 
Dennis Ham

Dennis Ham

21/11/2008 02:09:00
Quote Anchor link
@ Robert, en toch gebeurt het, er zijn geen sessies bij deze formulieren en ik denk dat hetzelfde gebeurd als wat je in je browser een pagina terug gaat bij een formulier dan staat wat je hebt ingevuld er vaak ook weer. En het gaat niet om lege fromulieren maar het is een overzicht van gegevens die gelijk ingevuld word uit een database in een formulier die je dan gelijk kan bijwerken. Bv naam, adres, tel, mobiel, email ens.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.