Vraag & Antwoord

Webprogrammeren & scripting

Cookie hoe te doen?

10 antwoorden
  • Ik wil graag gebruik gaan maken van cookies voor mijn website. Ik heb 3 invulvelden op een pagina, waarvan de eerste 2 altijd bewaard (mits ingevuld) dienen te worden, en de derde alleen als iemand een vinkje zet bij bewaren? Is dit uberhaupt mogelijk en zo ja, kan iemand mij op weghelpen doormiddel van een site of voorbeeld ? bedankt.
  • Welke scripttaal gebruik je/kun je gebruiken? PHP? ASP? Dan kunnen we je iig beter op weg helpen :wink: .
  • Ik heb ff wat inelkaar gezet : [code:1:290aaf82d6] <HTML> <HEAD> <TITLE>Test</TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> <SCRIPT LANGUAGE="JavaScript"> function Set_Cookie( name, value, expires, path, domain, secure ) { var today = new Date(); today.setTime( today.getTime() ); if ( expires ) { expires = expires * 1000 * 60 * 60 * 24; } var expires_date = new Date( today.getTime() + (expires) ); document.cookie = name + "=" +escape( value ) + ( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) + ( ( path ) ? ";path=" + path : "" ) + ( ( domain ) ? ";domain=" + domain : "" ) + ( ( secure ) ? ";secure" : "" ); } function Get_Cookie( name ) { var start = document.cookie.indexOf( name + "=" ); var len = start + name.length + 1; if ( ( !start ) && ( name != document.cookie.substring( 0, name.length ) ) ) { return null; } if ( start == -1 ) return null; var end = document.cookie.indexOf( ";", len ); if ( end == -1 ) end = document.cookie.length; return unescape( document.cookie.substring( len, end ) ); } function search_form() { Set_Cookie( 'Geslacht', document.form.Geslacht.selectedIndex, '', '/', '', '' ); Set_Cookie( 'Age', document.form.Age.value, '', '/', '', '' ); if (document.form.Opslaan.checked) { Set_Cookie( 'Naam', document.form.Naam.value, '', '/', '', '' ); } // Hierna zou je iets nuttigs moeten doen dit is een voorbeeld. alert ("Hallo " + document.form.Naam.value + " je bent " + document.form.Age.value + " jaar oud en een " + document.form.Geslacht.value); } </SCRIPT> </HEAD> <BODY> <form name="form" onSubmit="return search_form();"> <table width="90%" border="0" cellspacing="0" cellpadding="3"> <tr> <td>Geslacht</td> <td> <select name="Geslacht"> <option value="Man">Man</option> <option value="Vrouw">Vrouw</option> </select> </td> </tr> <tr> <td>Leeftijd</td> <td> <input type="text" name="Age"> </td> </tr> <tr> <td>Naam</td> <td> <input type="text" name="Naam"> </td> </tr> <tr> <td>Naam opslaan ?</td> <td> Ja <input type="checkbox" name="Opslaan" value="Ja"> </td> </tr> <tr> <td> </td> <td> <input type="submit" name="Submit" value="OK"> </td> </tr> </table> <SCRIPT LANGUAGE="JavaScript"> // Hier halen we de gegevens weer op if ( Get_Cookie( 'Geslacht' ) ) document.form.Geslacht.selectedIndex = Get_Cookie('Geslacht'); if ( Get_Cookie( 'Age' ) ) document.form.Age.value = Get_Cookie('Age'); if ( Get_Cookie( 'Naam' ) ) document.form.Naam.value = Get_Cookie('Naam'); </script> </form> </BODY> </HTML>[/code:1:290aaf82d6]
  • Bedankt voor het voorbeeld script... Ik ben er een heel eind mee gekomen maar op de 1 of ander manier slaat hij de cookie niet op. Als ik mijn codes invul en daarna weer terug ga naar vorige pagina (met de terug knop) dan staan alle velden wel ingevuld, maar zodra ik de explorer sluit en weer opstart en dan naar dezelfde pagina ga, blijven de velden leeg. In de cookie map zie ik er ook geen cookie bijkomen? Ik zie geen foutmelding maar ik heb het idee dat hij niet goed wordt opgeslagen ?
  • Ik heb m ook even getest en hier werkt ie prima. Let er wel even op dat als je een beveiliginswaarschuwing krijgt, dat je dan even op "Geblokkeerde inhoud toestaan..." klikt (het script wordt namelijk anders geblokkeerd en werkt zodoende niet).
  • misschien dat je browser cookies blokkeert?
  • probeer deze pagina maar eens..... deze gebruik ik om te testen. Ik heb hem opgeslagen in c:\temp\ als test.htm. Als ik de gegevens invul, en daarna in dezelfde browser dezelfde pagina weer open staat alles keurig ingevuld. Alleen als ik een andere browser open en ik ga naar c:\temp\test.htm dan is die weer gewoon leeg ? <html> <head> <title>Test</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <script language="JavaScript"> function Set_Cookie( name, value, expires, path, domain, secure ) { var today = new Date(); today.setTime( today.getTime() ); if ( expires ) { expires = expires * 1000 * 60 * 60 * 24; } var expires_date = new Date( today.getTime() + (expires) ); document.cookie = name + "=" +escape( value ) + ( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) + ( ( path ) ? ";path=" + path : "" ) + ( ( domain ) ? ";domain=" + domain : "" ) + ( ( secure ) ? ";secure" : "" ); } function Get_Cookie( name ) { var start = document.cookie.indexOf( name + "=" ); var len = start + name.length + 1; if ( ( !start ) && ( name != document.cookie.substring( 0, name.length ) ) ) { return null; } if ( start == -1 ) return null; var end = document.cookie.indexOf( ";", len ); if ( end == -1 ) end = document.cookie.length; return unescape( document.cookie.substring( len, end ) ); } function search_form() { Set_Cookie( 'Geslacht', document.form.Geslacht.selectedIndex, '', '/', '', '' ); Set_Cookie( 'Age', document.form.Age.value, '', '/', '', '' ); if (document.form.Opslaan.checked) { Set_Cookie( 'Naam', document.form.Naam.value, '', '/', '', '' ); } // Hierna zou je iets nuttigs moeten doen dit is een voorbeeld. alert ("Hallo " + document.form.Naam.value + " je bent " + document.form.Age.value + " jaar oud en een " + document.form.Geslacht.value); } </script> </head> <body bgcolor="#FFFFFF"> <form name="form" onSubmit="return search_form();"> <table width="90%" border="0" cellspacing="0" cellpadding="3"> <tr> <td>Geslacht</td> <td> <select name="Geslacht"> <option value="Man">Man</option> <option value="Vrouw">Vrouw</option> </select> </td> </tr> <tr> <td>Leeftijd</td> <td> <input type="text" name="Age"> </td> </tr> <tr> <td>Naam</td> <td> <input type="text" name="Naam"> </td> </tr> <tr> <td>Naam opslaan ?</td> <td> Ja <input type="checkbox" name="Opslaan" value="Ja"> </td> </tr> <tr> <td> </td> <td> <input type="submit" name="Submit" value="OK"> </td> </tr> </table> <script language="JavaScript"> // Hier halen we de gegevens weer op if ( Get_Cookie( 'Geslacht' ) ) document.form.Geslacht.selectedIndex = Get_Cookie('Geslacht'); if ( Get_Cookie( 'Age' ) ) document.form.Age.value = Get_Cookie('Age'); if ( Get_Cookie( 'Naam' ) ) document.form.Naam.value = Get_Cookie('Naam'); </script> </form> </body> </html>
  • [quote:177a1a50f2]Alleen als ik een andere browser open en ik ga naar c:\temp\test.htm dan is die weer gewoon leeg ?[/quote:177a1a50f2] Dat klopt, dat gebeurd hier ook. Cookies geset in IE werken alleen maar in IE en niet in FF bijvoorbeeld.
  • Nee ik bedoelde geen andere browser, ik bedoelde een nieuw venster van internet explorer.
  • Als je de optie expires aanzet : Set_Cookie( 'Geslacht', document.form.Geslacht.selectedIndex, '[b:7e6eacd93e]1[/b:7e6eacd93e]', '/', '', '' ); Voor de elementen die je als cookie op de hardeschijf van de bezoeker wilt bewaren dan blijft het cookie ook bestaan als je de browser afsluit. Dus dit stukje code [code:1:7e6eacd93e] function search_form() { Set_Cookie( 'Geslacht', document.form.Geslacht.selectedIndex, '', '/', '', '' ); Set_Cookie( 'Age', document.form.Age.value, '', '/', '', '' ); if (document.form.Opslaan.checked) { Set_Cookie( 'Naam', document.form.Naam.value, '', '/', '', '' ); } // Hierna zou je iets nuttigs moeten doen dit is een voorbeeld. alert ("Hallo " + document.form.Naam.value + " je bent " + document.form.Age.value + " jaar oud en een " + document.form.Geslacht.value); } [/code:1:7e6eacd93e] Vervangen door dit: [code:1:7e6eacd93e] function search_form() { Set_Cookie( 'Geslacht', document.form.Geslacht.selectedIndex, '1', '/', '', '' ); Set_Cookie( 'Age', document.form.Age.value, '1', '/', '', '' ); if (document.form.Opslaan.checked) { Set_Cookie( 'Naam', document.form.Naam.value, '1', '/', '', '' ); } // Hierna zou je iets nuttigs moeten doen dit is een voorbeeld. alert ("Hallo " + document.form.Naam.value + " je bent " + document.form.Age.value + " jaar oud en een " + document.form.Geslacht.value); } [/code:1:7e6eacd93e]

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.