webForumDet fria alternativet

fel

8 svar · 408 visningar · startad av patrik2002

patrik2002Medlem sedan okt. 2001253 inlägg
#1

vad är det för fel.... d står rad 30 är det fel på....

<html>

<head>
<title>.:SluGGo:. [CoMMunity}För dig:. (http://www.sluggo.tk)</title>
<link rel="stylesheet" href="style.css">
<script language="JavaScript">
<!--
function MM_reloadPage(init) { //reloads the window if Nav4 resized
if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
// -->
</script>
</head>

<body leftmargin="15" marginwidth="15" marginheight="15" bgcolor="#003366">

<?
include ('include.php');
if($reg){

$okName = isset($namn) && strlen($name) > 1;
$okEfter = isset($efternamn) && strlen ($name) > 1;
$braLosen = isset($losen) && isset($losen2) && $losen == $losen2;
(rad 30)$okLosen = isset($braLosen) strlen($braLosen) > 3 && < 15;
$okuser = isset($username) && strlen($username) > 3 && < 15;
$okEmail = (isset($email) && strlen($email) > 5 && eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+([a-z]{2,3}$)",$email,$check));

SPiNMedlem sedan mars 20007 896 inlägg
#2

Och vilken är rad 30? Är det sista raden?

patrik2002Medlem sedan okt. 2001253 inlägg
#3

ja skrev d......
(rad 30)$okLosen = isset($braLosen) strlen($braLosen) > 3 && < 15;

SPiNMedlem sedan mars 20007 896 inlägg
#4

Ah, sorry. Missade det. :)

$okLosen = ( isset ( $braLosen ) && strlen ( $braLosen ) > 3 && strlen ( $braLosen ) < 15 );

:)

patrik2002Medlem sedan okt. 2001253 inlägg
#5

denna metod verkar inte vilja fungera.....

hur ska jag göra för att:

  • kontrollera att lösenordet är minst 3 tecken och max 20
  • kontrollera personens email (inte bara att den innhehåller ett @)
  • kolla att lösenordet är lika dant i båda rutorna
  • om nyhetsbrev är i kryssat lägs emailen till i en databas
  • kolla att användarnamnet eller eposten redan används
FlashXMedlem sedan nov. 19991 033 inlägg
#6

Är det här endast till för att man ska kunna anmäla och avanmäla sig till ett nyhetsbrev?
I så fall är det bättre att skippa e-postverifiering och lösenord eftesom det inte är helt tillförlitligt i.a.f. Man kan aldrig kontrollera om en e-postadress är giltighet eller inte, såvida man inte skickar något till adressen. Jag hade nog använt mig av en aktiveringsfunktion istället. Eftersom du har tillgång till en databas så är det ganska enkelt att fixa så allt fungerar automatiskt.
Man anger sin adress bara samt att man bockar i om man vill anmäla eller plocka bort sig. Ett mail skickas till adressen som angavs och denna innehåller en länk som man måste klicka på för att det hela ska träda i kraft.
På så sätt säkerhetsställer man ganska enkelt att det är rätt person man behandlar. I skriptet har man lämpligen en funktion som raderar alla adresser som inte har aktiverats inom en viss tid och därmed hålls alltid databasen uppdaterad med auktuella adresser.

Jag gjorde ganska nyligen ett sådant skript åt en klient och du får gärna testa att anmäla/avanmäla dig. Är det något som passar till dig så kan jag skicka lite kod.

patrik2002Medlem sedan okt. 2001253 inlägg
#7

Det skulle inte vara helst fel flashX ;)

ThACRoWMedlem sedan dec. 2001314 inlägg
#8

Jag kanske är lite sent ute?
Iaf så la jag märke till att $braLosen inte är en sträng, så rad 30 ska ju se ut så här:

$okLosen = ( isset ( $braLosen ) && strlen ( $losen ) > 3 && strlen ( $losen ) < 15 );
FlashXMedlem sedan nov. 19991 033 inlägg
#9

Jag har inte så mycket tid över för att skriva om den så om du kan ta den "as is" så vore det bra. Det finns kanske lite egenheter i koden som vi använder men du ser ju helheten och kan plocka ut det väsentliga. Jag använder följande tabell:

CREATE TABLE newsletter_subscribers (
  ID int(14) NOT NULL auto_increment,
  nl_email varchar(200) NOT NULL default '',
  nl_timestamp int(20) NOT NULL default '0',
  nl_ip varchar(20) default NULL,
  nl_host varchar(100) default NULL,
  nl_ua varchar(150) default NULL,
  nl_date varchar(20) NOT NULL default '',
  nl_lang char(3) default NULL,
  nl_lang_real varchar(10) default NULL,
  nl_status int(2) NOT NULL default '0',
  PRIMARY KEY  (ID)
) TYPE=MyISAM;

och skriptet i sin helhet finns här

Jag kommenterar alltid mina skript så det borde inte vara några större problem. Det som möjligen kan vara värt att notera, är att jag använder även time() som id-nummer för att verifiera vem som avses. Det har räckt gott och väl för denna listan men vill man använda en random-funktion istället så är det ju bara att lägga till ett extra fält för detta.

132 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)