Avatar billede ping_pong Praktikant
06. maj 2004 - 21:06 Der er 11 kommentarer og
1 løsning

Kun en gang

Jeg kunne godt tænke mig at man kun kan tilmeld sig en gang.
Altså når man tilmelder sig første gang er det fint, men så hvis man prøver igen (en form for spam) så skulle den gerne finde personen i databasen og sige du er tilmeldt

Er det muligt?

Se eks. http://www.co-clan.dk/texas_scramble.php
Avatar billede ping_pong Praktikant
06. maj 2004 - 21:06 #1
<?
    mysql_connect("localhost","brugernavn","password");
    mysql_select_db("database");

    if( $navn && $tag )
    {

        $tid = date("d/m Y - H:i");
        $navn = addslashes($navn);
        $tag = addslashes($tag);
        $email = addslashes($email);

        $query = "
            INSERT INTO
                texas_scramble_match
                (
                    navn,
                    tag,
                    email,
                    ip,
                    dato
                )
            VALUES
                (
                    '$navn',
                    '$tag',
                    '$email',
                    '$REMOTE_ADDR',
                    '$tid'
                )
            ";
        mysql_query($query);
    }
?>

<form method=post>

<table border=0 cellspacing=0 cellpadding=0>
<tr>
    <td width=50><b>Navn :</td>
    <td><input type=text size=30 name=navn></td>
</tr>
<tr>
    <td width=72><b>Medlems nr. :&nbsp;&nbsp;</td>
    <td><input type=text size=10 name=email></td>
</tr>
<tr>
    <td width=50><b>Spisning :</td>
    <td><select size=1 name=tag>
            <option value=Ja>Ja</option>
            <option value=Nej>Nej</option>
        </select>
    </td>
</tr>
<tr>
    <td width=50><b>&nbsp;</td>
    <td><INPUT NAME="name" TYPE="image" SRC="billeder/golf_ball8.jpg" VALUE="Send">
    </td>
</tr>
</table>
<br>

</form>
<br>

Der er<b>
<?
$result = mysql_result(mysql_query("SELECT Count(id) FROM databasenavn"),0);
echo $result;

?>
</b>&nbsp;tilmeldt matchen til d. 27. Maj 2004

<br><br>

<table width=432 border=0 CELLSPACING=0 bgcolor=black style="border-bottom : #000000 1px solid;">
<tr>
    <td bgcolor=white width=232><b>&nbsp;Navn</td>
    <td align=right bgcolor=white width=50><b>Medlem</td>
    <td align=center bgcolor=white width=50><b>Spisning</td>
</tr>
</table>

<table width=432 border=0 CELLSPACING=0 bgcolor=black>
<?
    $result = mysql_query("select * from databasenavn order by id asc");
    while($row = mysql_fetch_array($result))
    {
        $email = $row[email];
        $navn = $row[navn];
        $tag = $row[tag];
        $dato = $row[dato];
        $tag = stripslashes($tag);
        $navn = stripslashes($navn);
        $tag = htmlentities($tag);
        $navn = htmlentities($navn);
        $email = htmlentities($email);


                            echo "<tr>";
                            echo "<td bgcolor=\"white\">";
                            echo "</td>";
                            echo "</tr>";
        echo "</table>";
        echo "<table width=\"432\" border=\"0\" CELLSPACING=\"0\" bgcolor=\"black\" style=\"border-bottom : #8DA7D6 1px solid;\">";
        echo "<tr>";
        echo "<td bgcolor=\"white\" width=\"232\">";
        echo "<b>&nbsp;$navn</b></a>";
        echo "</td>";
        echo "<td ALIGN=\"right\" bgcolor=\"white\" width=\"50\">";
        echo "<b>$email&nbsp;</b>";
        echo "</td>";
        echo "<td ALIGN=\"center\" bgcolor=\"white\" width=\"50\">";
        echo "<b>$tag</b>";
        echo "</td>";
        echo "</tr>";
        echo "</table>";
        echo "<table width=\"432\" border=\"0\" CELLSPACING=\"0\" bgcolor=\"black\">";
        echo "<tr>";
        echo "<td bgcolor=\"white\" align=\"right\">";
        echo "</td>";
        echo "</tr>";
    }
?>

</table>

<? mysql_close(); ?>
Avatar billede coderdk Praktikant
06. maj 2004 - 21:30 #2
Før din:

        $query = "

linie, indsæt dette:

  $sql = "
    SELECT
      1
    FROM
      texas_scramble_match
    WHERE
      navn = '$navn'
      AND tag = '$tag'
    ";
  $qh = mysql_query( $sql );
  if ( mysql_num_rows( $qh ) > 0 )
  {
    echo "Du er allerede tilmeldt!";
  }
  else
  {

og efter din mysql_query($query); linie indsæt:

  }

Tilpas efter smag ;)
Avatar billede ping_pong Praktikant
06. maj 2004 - 21:34 #3
Parse error: parse error, unexpected T_STRING in E:\Apache2\htdocs\coclan\tagwall_script_texas_scramble.php on line 10

og der er SELECT
Avatar billede coderdk Praktikant
06. maj 2004 - 21:36 #4
Har du skrevet to ' i stedet for én " ?
Avatar billede sukos Juniormester
06. maj 2004 - 21:36 #5
Hvis navnet i DB er UNIQUE kan den ikke sættes ind !!!
Avatar billede ping_pong Praktikant
06. maj 2004 - 21:38 #6
og efter din mysql_query($query); linie indsæt: ???
Avatar billede ping_pong Praktikant
06. maj 2004 - 21:41 #7
Min db ser sådan ud

id  int(10)  Nej    auto_increment
navn  varchar(40)  Ja  NULL
tag  varchar(225)  Ja  NULL
ip  varchar(16)  Ja  NULL
dato  varchar(20)  Ja  NULL
email  varchar(225)  Ja  NULL
Avatar billede ping_pong Praktikant
06. maj 2004 - 21:54 #8
coderdk jeg kan ik finde ud af at sætte scriptet op, efter din forklaring

Jeg er nok ik den dybeste kniv i skuffen :-))
Avatar billede ping_pong Praktikant
06. maj 2004 - 22:14 #9
Det kan måske ikke lade sig gøre
Avatar billede coderdk Praktikant
06. maj 2004 - 22:30 #10
<?
    mysql_connect("localhost","brugernavn","password");
    mysql_select_db("database");

    if( $navn && $tag )
    {

        $tid = date("d/m Y - H:i");
        $navn = addslashes($navn);
        $tag = addslashes($tag);
        $email = addslashes($email);

  $sql = "
    SELECT
      1
    FROM
      texas_scramble_match
    WHERE
      navn = '$navn'
      AND tag = '$tag'
    ";
  $qh = mysql_query( $sql );
  if ( mysql_num_rows( $qh ) > 0 )
  {
    echo "Du er allerede tilmeldt!";
  }
  else
  {

        $query = "
            INSERT INTO
                texas_scramble_match
                (
                    navn,
                    tag,
                    email,
                    ip,
                    dato
                )
            VALUES
                (
                    '$navn',
                    '$tag',
                    '$email',
                    '$REMOTE_ADDR',
                    '$tid'
                )
            ";
        mysql_query($query);
      }
    }
?>

<form method=post>

<table border=0 cellspacing=0 cellpadding=0>
<tr>
    <td width=50><b>Navn :</td>
    <td><input type=text size=30 name=navn></td>
</tr>
<tr>
    <td width=72><b>Medlems nr. :&nbsp;&nbsp;</td>
    <td><input type=text size=10 name=email></td>
</tr>
<tr>
    <td width=50><b>Spisning :</td>
    <td><select size=1 name=tag>
            <option value=Ja>Ja</option>
            <option value=Nej>Nej</option>
        </select>
    </td>
</tr>
<tr>
    <td width=50><b>&nbsp;</td>
    <td><INPUT NAME="name" TYPE="image" SRC="billeder/golf_ball8.jpg" VALUE="Send">
    </td>
</tr>
</table>
<br>

</form>
<br>

Der er<b>
<?
$result = mysql_result(mysql_query("SELECT Count(id) FROM databasenavn"),0);
echo $result;

?>
</b>&nbsp;tilmeldt matchen til d. 27. Maj 2004

<br><br>

<table width=432 border=0 CELLSPACING=0 bgcolor=black style="border-bottom : #000000 1px solid;">
<tr>
    <td bgcolor=white width=232><b>&nbsp;Navn</td>
    <td align=right bgcolor=white width=50><b>Medlem</td>
    <td align=center bgcolor=white width=50><b>Spisning</td>
</tr>
</table>

<table width=432 border=0 CELLSPACING=0 bgcolor=black>
<?
    $result = mysql_query("select * from databasenavn order by id asc");
    while($row = mysql_fetch_array($result))
    {
        $email = $row[email];
        $navn = $row[navn];
        $tag = $row[tag];
        $dato = $row[dato];
        $tag = stripslashes($tag);
        $navn = stripslashes($navn);
        $tag = htmlentities($tag);
        $navn = htmlentities($navn);
        $email = htmlentities($email);


                            echo "<tr>";
                            echo "<td bgcolor=\"white\">";
                            echo "</td>";
                            echo "</tr>";
        echo "</table>";
        echo "<table width=\"432\" border=\"0\" CELLSPACING=\"0\" bgcolor=\"black\" style=\"border-bottom : #8DA7D6 1px solid;\">";
        echo "<tr>";
        echo "<td bgcolor=\"white\" width=\"232\">";
        echo "<b>&nbsp;$navn</b></a>";
        echo "</td>";
        echo "<td ALIGN=\"right\" bgcolor=\"white\" width=\"50\">";
        echo "<b>$email&nbsp;</b>";
        echo "</td>";
        echo "<td ALIGN=\"center\" bgcolor=\"white\" width=\"50\">";
        echo "<b>$tag</b>";
        echo "</td>";
        echo "</tr>";
        echo "</table>";
        echo "<table width=\"432\" border=\"0\" CELLSPACING=\"0\" bgcolor=\"black\">";
        echo "<tr>";
        echo "<td bgcolor=\"white\" align=\"right\">";
        echo "</td>";
        echo "</tr>";
    }
?>

</table>

<? mysql_close(); ?>
Avatar billede ping_pong Praktikant
07. maj 2004 - 19:12 #11
Kanon coderdk det virker

point til dig :-))
Avatar billede ping_pong Praktikant
07. maj 2004 - 19:20 #12
Lige en lille ting, den skriver Du er allerede tilmeldt! kun vis navnet er det samme.
kan man gøre sådan at den skriver Du er allerede tilmeldt! vis man skrivet samme navn og medlemsnr.???

navn = $navn
medlemsnr = $email
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