webForumDet fria alternativet

Radera automatiskt vid besök

PHP

10 svar · 365 visningar · startad av Rickard

Medlem sedan maj 2001287 inlägg
Frågan#1

Hej!

Jag har lite problem på en webplats.
Jag har ett formulär där folk kan anmäla sig med sitt namn och mail å sånt, vilket folk använder flitigt.
FÖR flitigt.
Fälten i formuläret är kontrollerade med ett javascript som kolla så att man verkligen fyller i fälten, men folk tycker tydligen att det är roligt att stänga av sitt javastöd och spama in med tomma entrys.

Jag behöver en lite includefil som körs varje gång någon besöker sidan, som rensar ur alla toma poster.

i phpmyadmin så skriver jag ju

DELETE FROM medlem WHERE nick = " "

Men hur skriver jag i includefilen som exekveras varje gång?
Ser detta rätt ut tro?

<?
include("sql_user_data.php");
mysql_query("DELETE FROM medlem WHERE nick = " ");
?>

Bättre är kanske att den kan kontrollera att det finns sånna toma fält i databasen först.. men hur gör jag det? Går det?

Tack på förhand.

/Rickard

red:
Finns det förresten något sätt som man kan få scriptet att leta efter dubletter och radera dubletterna och endast lämna kvar en post?

Medlem sedan okt. 20023 030 inlägg
#2

Angående javascript-biten, varför kollar du inte först att användare har javascript påslaget för att de ska få registrera sig? Då löser det ju sig på den biten. :)

Medlem sedan maj 2001287 inlägg
#3

Om jag bara viste hur man gjorde det så hade jag ju gjort det med. =)
Men sen är det ju så att alla vill inte ha javascipt påslaget pga. popups å grejs.. så jag förstår dom... =)

Medlem sedan okt. 20023 030 inlägg
#4

För att kolla om man har javascript påslaget:

$browser = get_browser();

if ($browser['javascript'] == 1) {
    // Javascript påslaget
} else {
    // Javascript avstängt
}

Detta kräver dock att servern har en browscap.ini-fil och att sökvägen till den är inskriven i php.ini.

R// Se http://se.php.net/manual/sv/function.get-browser.php för mer information.

Medlem sedan okt. 20023 030 inlägg
#5

För att ta bort alla tomma ur databasen:

DELETE FROM medlem WHERE TRIM(nick) = ''
Medlem sedan maj 2001287 inlägg
#6

Jo, men som sagt, nu är jag mer ute efter rensningen än efter etts cript som kontrollerar att javan är påslagen.

Eftersom många stänger av javascript pga. popuper å annat tjafs så är det helt förståeligt.
Jag stänger själv av mitt javastöd ibland.

Medlem sedan maj 2001287 inlägg
#7

Ok... men i övrigt så stämmer det jag skrev först eller?

Dvs att det ska se ut såhär:

<?
include("sql_user_data.php");
mysql_query("DELETE FROM medlem WHERE TRIM(nick) = '' ");
?>
Medlem sedan okt. 20023 030 inlägg
#8

För att slippa dubletter kan du ju kolla om användarnamnet redan finns i databasen innan du lägger till användaren i databasen. Gör den det, så skickar du tillbaka användaren till sidan där man blir medlem och skriver att användaren redan finns. :)

Medlem sedan okt. 20023 030 inlägg
#9

Rickard skrev:

Ok... men i övrigt så stämmer det jag skrev först eller?

Dvs att det ska se ut såhär:

<?
include("sql_user_data.php");
mysql_query("DELETE FROM medlem WHERE TRIM(nick) = '' ");
?>

Japp sånär som på ett mellanslag. ;)

<?
include("sql_user_data.php");
mysql_query("DELETE FROM medlem WHERE TRIM(nick) = ''");
?>
Medlem sedan maj 2001287 inlägg
#10

Det där funkade inget vidare...
Det togs inte bort ett smack i databasen...

Medlem sedan maj 2001287 inlägg
#11

Det funkade visst... det var bara jag som klåpat mig och laggt
include("deletespam.php");
i fel del av php koden så den inte exekverades först när man tröck på submit knappen...

men nu funkar det iaf.. Tack.. =)

258 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)