Avatar billede JJ77 Juniormester
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 &eacute;n annonce pr. vare/produkt.</span><br>
        <span class=\"lille\">- Du kan slette, redigere eller forlænge dine annoncers løbetid under &quot;Min konto&quot;</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>
Avatar billede coderdk Praktikant
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 &eacute;n annonce pr. vare/produkt.</span><br>
        <span class=\"lille\">- Du kan slette, redigere eller forlænge dine annoncers løbetid under &quot;Min konto&quot;</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>
Avatar billede JJ77 Juniormester
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
Avatar billede JJ77 Juniormester
17. februar 2007 - 22:25 #3
så det er vel faktisk kun variablen som den henter..
Avatar billede JJ77 Juniormester
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']; ?>"
Avatar billede coderdk Praktikant
17. februar 2007 - 22:36 #5
Prøv lige efter session_start()
Avatar billede JJ77 Juniormester
17. februar 2007 - 22:40 #6
dooh.. virkede heller ikke
Avatar billede JJ77 Juniormester
17. februar 2007 - 22:41 #7
er det noget med .. if (isset($_POST['cookie'
Avatar billede coderdk Praktikant
17. februar 2007 - 22:44 #8
Prøv bare med:

if (isset($_POST['email'])) {
    setcookie('email',$_POST['email'],time()+2592000);
}
Avatar billede JJ77 Juniormester
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">
Avatar billede JJ77 Juniormester
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
Avatar billede JJ77 Juniormester
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..
Avatar billede coderdk Praktikant
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 ;)
Avatar billede coderdk Praktikant
18. februar 2007 - 01:34 #13
Du får lige et svar, hvis du synes du kan bruge det ;)
Avatar billede showsource Seniormester
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">
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB