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
Annonceindlæg fra Pax8
<? 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. : </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> </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> 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> 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> $navn</b></a>"; echo "</td>"; echo "<td ALIGN=\"right\" bgcolor=\"white\" width=\"50\">"; echo "<b>$email </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(); ?>
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 ;)
Parse error: parse error, unexpected T_STRING in E:\Apache2\htdocs\coclan\tagwall_script_texas_scramble.php on line 10 og der er SELECT
Har du skrevet to ' i stedet for én " ?
Hvis navnet i DB er UNIQUE kan den ikke sættes ind !!!
og efter din mysql_query($query); linie indsæt: ???
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
coderdk jeg kan ik finde ud af at sætte scriptet op, efter din forklaring Jeg er nok ik den dybeste kniv i skuffen :-))
Det kan måske ikke lade sig gøre
<? 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. : </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> </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> 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> 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> $navn</b></a>"; echo "</td>"; echo "<td ALIGN=\"right\" bgcolor=\"white\" width=\"50\">"; echo "<b>$email </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(); ?>
Kanon coderdk det virker point til dig :-))
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
Vi tilbyder markedets bedste kurser inden for webudvikling