17. februar 2007 - 21:33
Der er
13 kommentarer og 1 løsning
Indsæt cookie i feltet email
Hej eksperter Nedenstående bruges til at oprette en annonce. Jeg kunne dog godt tænke mig den kan huske værdien i feltet email så en bruger ikke skal indtaste dette flere gange i træk. Altså så første gang en annonce oprettes gemmes en cookie med værdien fra feltet email. Men hvordan gør jeg det med en cookie.. har forsøgt, men uden held.. <?PHP session_start(); ?> <head> <meta http-equiv="content-type" content="text/html;charset=iso-8859-1"> </head> <body link="#0000cc" vlink="#0000cc"> <?PHP require_once("../members/common.php"); if(!empty($_POST['produkt'])) { //Strip tags er sat på inputfelter for at undgå html-tags. htmlentities er sat på for at undgå at databasen sætter \\ foran "" $userId = mysql_real_escape_string($_POST['userId']); $gruppe = mysql_real_escape_string($_POST['gruppe']); $kategori = mysql_real_escape_string($_POST['kategori']); $produkt = htmlentities(strip_tags($_POST['produkt'])); $supplerendeTekst = htmlentities(strip_tags($_POST['supplerendeTekst'])); $pris = mysql_real_escape_string(strip_tags($_POST['pris'])); $loebetidForAnnonce = mysql_real_escape_string($_POST['loebetidForAnnonce']); $tlf1 = mysql_real_escape_string(strip_tags($_POST['tlf1'])); $tlf2 = mysql_real_escape_string(strip_tags($_POST['tlf2'])); $email = mysql_real_escape_string(strip_tags($_POST['email'])); $postNr = mysql_real_escape_string(strip_tags($_POST['postNr'])); $checkbox = mysql_real_escape_string($_POST['checkbox']); mysql_query ("INSERT INTO bortgivesAfProdukt (Id,userId,gruppe,kategori,produkt,supplerendeTekst,pris,loebetidForAnnonce,tlf1,tlf2,email,postNr,checkbox) VALUES ('','".$userId."','".$gruppe."','".$kategori."','".$produkt."','".$supplerendeTekst."','".$pris."', DATE_ADD(NOW(), INTERVAL ".$loebetidForAnnonce." DAY),'".$tlf1."','".$tlf2."','".$email."','".$postNr."','".$checkbox."')"); } echo "<b><span class=\"speciel\">Annoncen er oprettet!</span></b><br> <span class=\"lille\">- Det er kun tilladt at oprette én annonce pr. vare/produkt.</span><br> <span class=\"lille\">- Du kan slette, redigere eller forlænge dine annoncers løbetid under "Min konto"</span>"; } else { echo "Fejl: " . mysql_error() . "<br>"; } } ?> <?PHP if($userId = is_logged()) { $userId = is_logged(); } $query=mysql_query("SELECT userId FROM `users` WHERE userId = '".is_logged()."'"); $row=mysql_fetch_assoc($query); ?> <form action="<?=$_SERVER['PHP_SELF'];?>" method="post" name="form" enctype="multipart/form-data" onsubmit="return validering(this)"> <table width="100%" border="0" cellspacing="0" cellpadding="0" height="100%"> <tr> <td width="100%"> <div align="center"> <table width="534" border="0" cellspacing="2" cellpadding="0"> <p></p> <table width="462" border="0" cellspacing="2" cellpadding="0"> <span class="lille"> <tr> <td width="200"><span class="lille">Telefonnr. 1</span></td> <td><input type="text" name="tlf1" size="25" maxlength="8" border="0"></td> </tr> <tr> <td width="200"><span class="lille">Telefonnr. 2</span></td> <td><input type="text" name="tlf2" size="25" maxlength="8" border="0"></td> </tr> <tr> <td width="200"><span class="lille">E-mail</span></td> <td><input type="text" name="email" size="25" maxlength="40" border="0"></td> </tr> <tr> <td width="200"><span class="lille">Postnr.</span></td> <td><input type="text" name="postNr" size="10" maxlength="4" border="0"> <font color="#ee0000">*</font></td> </tr> <tr> <td width="200"></td> <td></td> </tr> </table> </form> </body>
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
17. februar 2007 - 22:05
#1
Burde virke: <?PHP session_start(); ?> <head> <meta http-equiv="content-type" content="text/html;charset=iso-8859-1"> </head> <body link="#0000cc" vlink="#0000cc"> <?PHP require_once("../members/common.php"); if(!empty($_POST['produkt'])) { //Strip tags er sat på inputfelter for at undgå html-tags. htmlentities er sat på for at undgå at databasen sætter \\ foran "" $userId = mysql_real_escape_string($_POST['userId']); $gruppe = mysql_real_escape_string($_POST['gruppe']); $kategori = mysql_real_escape_string($_POST['kategori']); $produkt = htmlentities(strip_tags($_POST['produkt'])); $supplerendeTekst = htmlentities(strip_tags($_POST['supplerendeTekst'])); $pris = mysql_real_escape_string(strip_tags($_POST['pris'])); $loebetidForAnnonce = mysql_real_escape_string($_POST['loebetidForAnnonce']); $tlf1 = mysql_real_escape_string(strip_tags($_POST['tlf1'])); $tlf2 = mysql_real_escape_string(strip_tags($_POST['tlf2'])); setcookie( "email", $_POST['email'], strtotime( "+1 month" ) ); $email = mysql_real_escape_string(strip_tags($_POST['email'])); $postNr = mysql_real_escape_string(strip_tags($_POST['postNr'])); $checkbox = mysql_real_escape_string($_POST['checkbox']); mysql_query ("INSERT INTO bortgivesAfProdukt (Id,userId,gruppe,kategori,produkt,supplerendeTekst,pris,loebetidForAnnonce,tlf1,tlf2,email,postNr,checkbox) VALUES ('','".$userId."','".$gruppe."','".$kategori."','".$produkt."','".$supplerendeTekst."','".$pris."', DATE_ADD(NOW(), INTERVAL ".$loebetidForAnnonce." DAY),'".$tlf1."','".$tlf2."','".$email."','".$postNr."','".$checkbox."')"); } echo "<b><span class=\"speciel\">Annoncen er oprettet!</span></b><br> <span class=\"lille\">- Det er kun tilladt at oprette én annonce pr. vare/produkt.</span><br> <span class=\"lille\">- Du kan slette, redigere eller forlænge dine annoncers løbetid under "Min konto"</span>"; } else { echo "Fejl: " . mysql_error() . "<br>"; } } else { $email = ( !empty( $_COOKIE['email'] ) ? ' value="' . $_COOKIE['email'] . '"' : '' ); } ?> <?PHP if($userId = is_logged()) { $userId = is_logged(); } $query=mysql_query("SELECT userId FROM `users` WHERE userId = '".is_logged()."'"); $row=mysql_fetch_assoc($query); ?> <form action="<?=$_SERVER['PHP_SELF'];?>" method="post" name="form" enctype="multipart/form-data" onsubmit="return validering(this)"> <table width="100%" border="0" cellspacing="0" cellpadding="0" height="100%"> <tr> <td width="100%"> <div align="center"> <table width="534" border="0" cellspacing="2" cellpadding="0"> <p></p> <table width="462" border="0" cellspacing="2" cellpadding="0"> <span class="lille"> <tr> <td width="200"><span class="lille">Telefonnr. 1</span></td> <td><input type="text" name="tlf1" size="25" maxlength="8" border="0"></td> </tr> <tr> <td width="200"><span class="lille">Telefonnr. 2</span></td> <td><input type="text" name="tlf2" size="25" maxlength="8" border="0"></td> </tr> <tr> <td width="200"><span class="lille">E-mail</span></td> <td><input type="text" name="email" size="25" maxlength="40" border="0"<?php echo $email; ?>></td> </tr> <tr> <td width="200"><span class="lille">Postnr.</span></td> <td><input type="text" name="postNr" size="10" maxlength="4" border="0"> <font color="#ee0000">*</font></td> </tr> <tr> <td width="200"></td> <td></td> </tr> </table> </form> </body>
17. februar 2007 - 22:24
#2
nu huskes emailen.. men hvis jeg skifter til en ny side og går tilbage er det glemt igen.. mystisk
17. februar 2007 - 22:25
#3
så det er vel faktisk kun variablen som den henter..
17. februar 2007 - 22:33
#4
kan dette bruges, og hvis,, hvordan?? det er ihvertfald det jeg prøvede med før... men hvor skal det ind for at virke..?? if (isset($_POST['cookie'])) { setcookie('email',$_POST['email'],time()+2592000); } value="<?php echo $_COOKIE['email']; ?>"
17. februar 2007 - 22:36
#5
Prøv lige efter session_start()
17. februar 2007 - 22:40
#6
dooh.. virkede heller ikke
17. februar 2007 - 22:41
#7
er det noget med .. if (isset($_POST['cookie'
17. februar 2007 - 22:44
#8
Prøv bare med: if (isset($_POST['email'])) { setcookie('email',$_POST['email'],time()+2592000); }
17. februar 2007 - 22:51
#9
prøvede men uden held.. Nu ser det ud som følger.. hmm burde sq da virke..?? <?PHP session_start(); if (isset($_POST['email'])) { setcookie('email',$_POST['email'],time()+2592000); } ?> <input type="text" name="email" value="<?php echo $_COOKIE['email']; ?>" size="25" maxlength="40" border="0">
17. februar 2007 - 22:56
#10
hmmm.. eller det virker faktisk... det mystiske er at den først husker e-mailen hvis jeg går til en anden side og så tilbage til siden igen.. mystisk
17. februar 2007 - 22:57
#11
hvordan løses dette??? ku være cool hvis den huskede det med det samme også.. så man ikke skal skifte side og tilbage igen, før emailen bliver skrevet automatisk..
18. februar 2007 - 01:34
#12
Ah, ja, men jeg vil også foreslå dig at checke om du POST'er helt i starten, gemmer i databasen og redirecter til samme side hvor du så kan skrive tak eller hvad du gør - Så er siden også reloadet, og hvis du refresher får du ikke den der standard dialog fra browseren om at du vil POST'e igen ;)
18. februar 2007 - 01:34
#13
Du får lige et svar, hvis du synes du kan bruge det ;)
18. februar 2007 - 07:25
#14
Man "skal" sætte path på når cookien sættes <?php session_start(); if (isset($_POST['email'])) { setcookie('email',$_POST['email'],time()+2592000, "/"); } ?> <input type="text" name="email" value="<?php echo (isset($_COOKIE['email']) ? $_COOKIE['email'] : ""); ?>" size="25" maxlength="40" border="0">
Vi tilbyder markedets bedste kurser inden for webudvikling