Avatar billede snigeren Nybegynder
08. april 2006 - 17:06 Der er 23 kommentarer og
2 løsninger

mailing liste form

Jeg prøver at fikse en form så man kan smide sin email på en mailing liste. Mit script ser ud som følger:

<td><p align="left" class="tekst">&Oslash;nsker du at komme p&aring; mailing listen skriv da venligst din email i feltet. Du vil kun modtage relevant info. </p>
<form action="index.php" method="post" name="mailingliste" id="mailingliste">
<p align="left">
<input name="email" type="text" id="email" size="30">
</p>
<p align="left">
<input type="submit" name="Submit" value="Send">
</p>
</form>
<?php if (isset('$email')){
$mail = $HTTP_POST_VARS['email'];
$sql = "insert into mailinglist (email) values ('$mail')";
$result = mysql_query($sql) or die(mysql_error());
}
?>
</td>

Men når jeg har koden <?php if (isset('$email')){
med viser browseren en helt blank side,.. "view source" viser:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1"></HEAD>
<BODY></BODY></HTML>


nogen idéer?

/Snig
Avatar billede gf Nybegynder
09. april 2006 - 11:18 #1
Hej prøv med.

<?php if ($_POST['email']){

mvh gf
Avatar billede snigeren Nybegynder
10. april 2006 - 21:28 #2
Hej gf

Det virker bedre nu =)
Men når jeg nu skriver en mail i feltet og trykker "send" reloader den siden men den får ikke alt indholdet med. Og hvis jeg så trykker "refresh" siger den at den ikke kan refreshe uden at sende oplysningerne igen.

Hvordan skal jeg bedst skrive min sætning så den smider emailen i databasen og derefter reloader siden som der man første gang skrev adressen ind i browseren. Og hvis man trykker refresh skal den selvfølgelig ikke sende oplysningerne en gang til.
Avatar billede snigeren Nybegynder
10. april 2006 - 21:29 #3
min kode ser i øvrigt således ud nu:

<?php if ($_POST['email']){
$mail = $HTTP_POST_VARS['email'];
$sql = "insert into mailinglist (email) values ('$mail')";
$result = mysql_query($sql) or die(mysql_error());
}
?>
Avatar billede gf Nybegynder
12. april 2006 - 18:55 #4
prøv med:
<?php if ($_POST['email']){
$mail = $_POST_['email'];
$sql = "insert into mailinglist (email) values ('$mail')";
$result = mysql_query($sql) or die(mysql_error());
}
?>

mvh gf
Avatar billede gf Nybegynder
12. april 2006 - 18:55 #5
ups

$mail = $_POST['email'];
Avatar billede snigeren Nybegynder
13. april 2006 - 21:48 #6
=( det virker heller ikke,..
Avatar billede snigeren Nybegynder
13. april 2006 - 21:50 #7
hov kom til at sende...

når jeg har skrevet en mail ind i feltet og trykt send refresher den siden og så mangler den pludselig det indhold der er hentet ind på selve siden via php. Og hvis jeg refresher igen, siger den at den ikke kan refreshe uden at sende oplysningerne igen
Avatar billede gf Nybegynder
14. april 2006 - 09:48 #8
Hvad er det for noget indhold der er hentet ind på siden via php? Det fremgår ikke af din kode.

mvh gf
Avatar billede snigeren Nybegynder
14. april 2006 - 10:28 #9
uhm kan det måske have noget med sagen at gøre? Her kommer hele koden så =) :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<?php

    // This page will list all of the items
    // from the items table. Each item will have
    // a link to add it to the cart

    include("db.php");
   
    // Get a connection to the database
    $cxn = @ConnectToDb($dbServer, $dbUser, $dbPass, $dbName);
?>
    <?php
    $result = mysql_query("SELECT * FROM indhold order by id asc")or die(mysql_error());
    //$link = mysql_fetch_array($result);
    ?>
<html>
<head>
<title>Salsa Akademiet</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="css/salsa.css" rel="stylesheet" type="text/css">

<script language="JavaScript">
<!--
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}
//-->
</script>

</head>

<body>
<table width="800" border="1" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td height="288" align="center" valign="top" bordercolor="#333333" bgcolor="#FFFAE4"><table width="100%"  border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td colspan="6"><?php include("menu.php"); ?></td>
      </tr>
      <tr align="center">
        <td colspan="6"><img src="gfx/prik.jpg" width="100%" height="2"></td>
      </tr>
      <tr align="center">
        <td colspan="6">&nbsp;</td>
      </tr>
      <tr>
        <td width="30%" rowspan="5" align="right" valign="top"><?php include ("randompic.php"); ?></td>
        <td rowspan="5" class="emptyspaceleft">&nbsp;</td>
        <td width="47%" align="center" valign="middle" class="bordertop">Velkommen til Salsa Akademiet</td>
        <td rowspan="5" class="emptyspaceleft">&nbsp;</td>
        <td width="17%" align="center" valign="middle" class="bordertop">Drop-in Salsa</td>
        <td rowspan="5" align="center" valign="top" class="emptyspaceleft">&nbsp;</td>
      </tr>
      <tr>
        <td width="47%" rowspan="4" align="right" valign="top" class="borderbottom"><table width="94%" height="570"  border="0" cellpadding="0" cellspacing="0">
          <tr>
          <td align="left" valign="top"><div id="header" style="width: 355px; height: 570px; overflow: auto">
            <p><br>
             
                  <?php
            while($row = mysql_fetch_array($result))
           
                {

            ?>
               
                <strong><?php echo nl2br($row["overskrift"]); ?></strong><br>
                  <br>
                  <?php echo nl2br($row["indhold"]); ?><br>
                  <br>
                  <img src="gfx/prik.jpg" width="325" height="1"><br>
                  <br>
               
                <?php
            };
        ?>
                <br>
                <br>
                Venlig hilsen<br>
                S&oslash;ren Henriksen
            </p>
            </div></td>
          </tr>
        </table>          </td>
        <td height="303" align="right" valign="top" class="borderbottom"><table width="92%"  border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td align="left"><br>
              <strong>Onsdag:</strong><br>
New York style on 2 <br>
19-20 intro<br>
20-21 let &oslash;vede<br>
21-01 salsatek
<p><strong>Fredag:</strong><br>
  Rueda de Casino - Cubansk <br>
  19-20 intro<br>
  20-21 let &oslash;vede<br>
  21-22 &oslash;vede<br>
  22-02 salsatek </p>
<p><strong>L&oslash;rdag:</strong><br>
  New York style on 2<br>
  19-20 intro<br>
  20-21 let &oslash;vede<br>
  21-22 &oslash;vede <br>
  22-02 salsatek </p>
<p>(Der er ingen drop-in skole 1. l&oslash;rdag hver m&aring;ned)</p></td>
          </tr>
        </table>          <p>&nbsp;</p></td>
        </tr>
      <tr>
        <td align="center" valign="top"><img src="gfx/blank.gif" width="15" height="15"></td>
      </tr>
      <tr>
        <td align="center" valign="middle" class="bordertop">Holdundervisning</td>
      </tr>
      <tr>
        <td height="207" align="right" valign="top" class="borderbottom">          <table width="92%"  border="0" cellspacing="0" cellpadding="0">
            <tr>
              <td align="left" valign="top"><p><br>
                    Her kan du tilmelde dig til de kommende hold der bl.a. kommer ind p&aring; f&oslash;lgende stilarter:<br>
                    <br>
  - Rueda Cubansk <br>
  - New York style
</p>
                <p><a href="stilarter.php" target="_blank" onClick="MM_openBrWindow('stilarter.php','stilarter','status=yes,scrollbars=yes,width=550,height=645');return false">L&aelig;s om stilarter &gt;&gt;</a>              </p>
                <p><a href="tilmelding.php">Tilmeld dig her &gt;&gt;</a></p></td>
            </tr>
          </table>          </td>
      </tr>
      <tr>
        <td height="50" colspan="6">&nbsp;</td>
      </tr>
      <tr align="center">
        <td colspan="6"><img src="gfx/prik.jpg" width="100%" height="2"></td>
      </tr>
      <tr align="center">
        <td height="25" colspan="6"><span class="tekst">
          <?php include("bundinfo.php"); ?></span></td>
      </tr>
    </table>    </td>
  </tr>
</table>
</body>
</html>
Avatar billede gf Nybegynder
14. april 2006 - 10:49 #10
ok det letteste vil være at lave en fil hvor der gemmes til DB'en den kan vi kalde gem_email.php

<td><p align="left" class="tekst">&Oslash;nsker du at komme p&aring; mailing listen skriv da venligst din email i feltet. Du vil kun modtage relevant info. </p>
<form action="gem_email.php" method="post" name="mailingliste" id="mailingliste">
<p align="left">
<input name="email" type="text" id="email" size="30">
</p>
<p align="left">
<input type="submit" name="Submit" value="Send">
</p>
</form>
</td>

gem_email.php  skal indholde følgende:

<?php
include("db.php");
$mail = $mail = $_POST['email'];
$sql = "insert into mailinglist (email) values ('$mail')";
$result = mysql_query($sql) or die(mysql_error());
header("location: index.php");
?>
Avatar billede snigeren Nybegynder
14. april 2006 - 13:14 #11
uhm,.. ja altså det virker jo fint nok med at den hopper hen til gem_email.php og gemmer mail adressen, men den hopper så ikke tilbage til index.php skulle

header("location: index.php");

ikke gøre det? min gem_email.php ser således ud er det lige meget hvor php scriptet står eller kan det bare stå som her i <body>?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<?php

    // This page will list all of the items
    // from the items table. Each item will have
    // a link to add it to the cart

    include("db.php");
   
    // Get a connection to the database
    $cxn = @ConnectToDb($dbServer, $dbUser, $dbPass, $dbName);
?>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?php
$mail = $mail = $_POST['email'];
$sql = "insert into mailinglist (email) values ('$mail')";
$result = mysql_query($sql) or die(mysql_error());
header("location: index.php");
?>
</body>
</html>
Avatar billede snigeren Nybegynder
14. april 2006 - 13:15 #12
eller er det nødvendigt at lave en knap som fører tilbage til index.php?
Avatar billede gf Nybegynder
14. april 2006 - 13:50 #13
der er lige sneget sig en lille fejl ind.
$mail = $mail = $_POST['email']; skal være:  $mail = $_POST['email'];

ligger din index.php i samme bibliotek som    gem_email.php  ?

og nej der skal ikke være en knap i  gem_email.php

mvh gf
Avatar billede snigeren Nybegynder
14. april 2006 - 17:25 #14
ahh ja flot jeg ikke lige så den lille fejl :P

øhm, yesh de to filer ligger i samme bibliotek... efter man har indtastet en mail og trykt send, hopper den hen til gem_email.php og bliver der med hvid skærm...

er dette den rigtige kode til at sende brugeren til en anden side?
header("location: index.php");
Avatar billede gf Nybegynder
14. april 2006 - 19:59 #15
prøv lige at rette din gem_email.php  så den kun indeholder følgende.

header location er måden man gør det på

<?php
mysql_query("insert into mailinglist (email) values ('$_POST[email]')")or die(mysql_error());
header("location: index.php");
?>
mvh gf
Avatar billede gf Nybegynder
14. april 2006 - 21:50 #16
ehhmm  du skal selvfølgelig have din DB connect med  :)

mvh gf
Avatar billede snigeren Nybegynder
16. april 2006 - 17:29 #17
wolla har haft den vildeste weekend! =)

øhm,.. det virker stadig ikke og har selvfølgelig også connect to DB med =)

men den gør det samme stadig, bliver på gem_email.php
Avatar billede duejensen Nybegynder
16. april 2006 - 17:43 #18
Var det ikke en bedre ide, at skrive en besked til brugeren, om at han/hun er sat på mailinglisten, så man ved at det er gået godt.

Evt med en knap eller blot en <a href="index.php">Vend tilbage til forsiden</a>.
Avatar billede duejensen Nybegynder
16. april 2006 - 17:48 #19
Hvis du foretrækker header location, idéen, skal du sikkert fjerne den øverste linie:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

fra gem_email.php
Avatar billede snigeren Nybegynder
18. april 2006 - 21:39 #20
uhm... jeg fatter ikke den der header kommando,.. den virker altså ikke for mig nu har jeg lavet to test filer der ser ud som følgende og test2.php vil stadig ikke sende brugeren tilbage til test1.php:

test1.php

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<a href="test2.php" target="_self">gå til test2.php</a>
</body>
</html>



test2.php

<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?php
header("location: test1.php");
?>
</body>
</html>
Avatar billede duejensen Nybegynder
18. april 2006 - 21:46 #21
Din header i test2.php virker ikke, fordi du allerede har skrevet http headere.

Hvis din test2.php indeholder følgende:
<?php
header("location: test1.php");
?>

bør det virker. Bemærk har du bare en blank linie før <?php - går det allerede galt
Avatar billede snigeren Nybegynder
18. april 2006 - 22:08 #22
ahhh jamen det var jo lige det jeg manglede at vide! Tak due!

der har sikkert været en blank linie foran nogle af de gange jeg har lavet tests osv.

Men gf og due smid lige begge et svar svar så får i begge points =)
Avatar billede duejensen Nybegynder
19. april 2006 - 06:34 #23
Jamen, så kommer her et svar
Avatar billede gf Nybegynder
19. april 2006 - 16:49 #24
svar
Avatar billede snigeren Nybegynder
20. april 2006 - 16:08 #25
Tak ska i fik,.. så lykkedes det endelig at få lukket og slukket =)
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