Avatar billede lsolesen Nybegynder
13. maj 2003 - 12:37 Der er 3 kommentarer og
1 løsning

Formular og if-sætning

Hvorfor er der ingen værdier på fx $modevariablen, så jeg kan gennemføre min løkke?

Se selv, hvordan scriptet opfører sig på http://www.vih.dk/nyhedsbrev/index.php - og bare rolig; du bliver ikke tilmeldt nyhedsbrevet, for det virker jo ikke :)

<?php
include("../includes/class.mysql.php");

if (isset($POST['mode'])) $mode = $POST['mode'];
if (isset($POST['$tilmeld_email'])) $$tilmeld_email = $POST['$tilmeld_email'];
if (isset($POST['$tilmeld_navn'])) $$tilmeld_navn = $POST['$tilmeld_navn'];

if ($mode == 1){
    $_db = new mysql;
    $_db->aabn_mysql("vihdk");
    $tjek = $_db->spoerg_mysql("select * FROM nyhedsbrev WHERE email = '$tilmeld_email'");
    $res = $_db->svar_mysql($tjek);

    if (!$res) {
        $result = $_db->spoerg_mysql("insert into nyhedsbrev (navn, email) values('$tilmeld_navn', '$tilmeld_email')");
        echo "<p><b>$tilmeld_email er nu tilmeldt nyhedsbrevet.</b></p>";
    }
   
    elseif ($res) echo "<p><b>Du var allerede tilmeldt nyhedsbrevet.</b></p>";
}
elseif ($mode == 2){

    $_db = new mysql;
    $_db->aabn_mysql("vihdk");

    $tjek = $_db->spoerg_mysql("select * FROM nyhedsbrev WHERE email = '$tilmeld_email'");
    $res = $_db->svar_mysql($tjek);

    if ($res) {
        $result = $_db->spoerg_mysql("DELETE FROM nyhedsbrev WHERE email = '$tilmeld_email'");

        echo "<p><b>$tilmeld_email er nu frameldt nyhedsbrevet.</b></p>";
    }

    elseif (!$res) echo "<p><b>Du var ikke tilmeldt nyhedsbrevet.</b></p>";
}

?>

Kaldes fra denne formular:

<form action="index.php" method="post" name="thisform" id="thisform" onsubmit="return Checkform(this);">
  <table border="0" cellspacing="0" cellpadding="2">
    <tr>
      <td><strong> <font color="#000000"> Dit navn: </font> </strong> </td>
      <td> <input type="text" name="tilmeld_navn" size="40" /> <br /> </td>
    </tr>
    <tr>
      <td> <strong> <font color="#000000"> E-mail: </font> </strong> </td>
      <td> <input type="text" name="tilmeld_email" size="40" /> <br /> </td>
    </tr>
    <tr>
      <td valign="top"> <input type="radio" name="mode" value="1" checked="checked" />
        Tilmeld
        <input type="radio" name="mode" value="2" />
        Frameld </td>
      <td align="right"> <input name="submit" type="submit" value="Send" /> </td>
    </tr>
  </table>
</form>
Avatar billede fri-hash Nybegynder
13. maj 2003 - 12:42 #1
fordi di skal skrive $_POST istedet for $POST
Avatar billede fri-hash Nybegynder
13. maj 2003 - 12:45 #2
ups, der er lidt mere
ændr
if (isset($POST['mode'])) $mode = $POST['mode'];
if (isset($POST['$tilmeld_email'])) $$tilmeld_email = $POST['$tilmeld_email'];
if (isset($POST['$tilmeld_navn'])) $$tilmeld_navn = $POST['$tilmeld_navn'];

til
if (isset($_POST['mode'])) $mode = $_POST['mode'];
if (isset($_POST['tilmeld_email'])) $tilmeld_email = $_POST['$tilmeld_email'];
if (isset($_POST['$tilmeld_navn'])) $tilmeld_navn = $_POST['$tilmeld_navn'];
Avatar billede fri-hash Nybegynder
13. maj 2003 - 12:46 #3
doh
if (isset($_POST['mode'])) $mode = $_POST['mode'];
if (isset($_POST['tilmeld_email'])) $tilmeld_email = $_POST['tilmeld_email'];
if (isset($_POST['tilmeld_navn'])) $tilmeld_navn = $_POST['tilmeld_navn'];

skulle det være
Avatar billede lsolesen Nybegynder
13. maj 2003 - 12:48 #4
fri-hash > Ved du hvad, det skaber jo en del mening, at tingene ikke virker, når man ikke skriver det rigtigt.

Nu skal I ikke bruge formularen længere, med mindre I gerne vil tilmeldes nyhedsbrevet :)
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