Welcome, Guest. Please Login or Register.
March 29, 2024, 11:58:54 AM
Home Help Search Log in Register
News: SMF is the next generation in forum software, almost completely re-written from the ground up, make sure you don't fall for cheap imitations that suffer from feature bloat!

YaBB SE Community  |  Language Specific User Help  |  Svenska/Norsk/Dansk  |  Ställa in obligatoriska fält. « previous next »
Pages: [1] 2 Reply Ignore Print
Author Topic: Ställa in obligatoriska fält.  (Read 5913 times)
tompa
Noobie
*
Posts: 11


I'm a llama!

Ställa in obligatoriska fält.
« on: February 15, 2003, 12:15:22 AM »
Reply with quote

Kan man göra det?
Jag vill inte att användarna ska behöva fylla i vissa fält, men struntar de i det så går det inte att posta...
Logged
Daniel Hofverberg
YaBB God
*****
Posts: 582


WWW
Re:Ställa in obligatoriska fält.
« Reply #1 on: February 16, 2003, 11:34:37 AM »
Reply with quote

Om du syftar på profilen, så går det inte i dagsläget utan att ändra i själva skripten.

Jag förstår dock inte riktigt vad det är för obligatoriska fält du inte vill ha. De enda som är obligatoriska är ju namn och e-post-adress, varav namnet automatiskt blir samma som användarnamnet om man inte ändrar det. E-post-adressen behövs ju för att exempelvis kunna få sitt lösenord om man använt "Glömt bort lösenordet"-funktionen.

Om du syftar på postning av nya inlägg, så är väl ämne och meddelande det enda obligatoriska, och de behövs ju för att forumet överhuvudtaget ska fungera...

Du kanske kunde förklara exakt vilka fält du syftar på...?
Logged
tompa
Noobie
*
Posts: 11


I'm a llama!

Re:Ställa in obligatoriska fält.
« Reply #2 on: February 16, 2003, 03:56:05 PM »
Reply with quote

Egentligen så tänkte jag att de som postar som gäster kanske gör det för att de inte har/inte vill visa sin email.
Men de måste ange den för att posta.
Jag menar att det är bättre att ta bort kravet på emailadress än att få postningar med avsändare som [email protected]
Logged
Daniel Hofverberg
YaBB God
*****
Posts: 582


WWW
Re:Ställa in obligatoriska fält.
« Reply #3 on: February 16, 2003, 07:40:40 PM »
Reply with quote

Okej, då förstår jag hur du menar...

Tyvärr går det nog inte att ställa in så att e-post inte krävs för gäster i dagsläget - Inte utan att gå in och ändra i själva skriptet.

Det är gjort så här för att minska risken för spam, men jag förstår absolut din tanke...

Jag ska se om jag kan lista ut hur man tar bort den kontrollen ur skriptet...
Logged
mats
Full Member
***
Posts: 219


You have more company with a penguin than a window

Re:Ställa in obligatoriska fält.
« Reply #4 on: February 16, 2003, 10:17:53 PM »
Reply with quote

Kommentera bort dessa rader i post.php, eller ta bort dom helt:

# If poster is a Guest then evaluate the legality of name and email
   if ($username == 'Guest') {
      $name = trim($name);
      if ($name == '' || $name == '_' || $name == ' ')
         fatal_error($txt[75]);
      if (strlen($name) > 25)
         fatal_error($txt[568]);
      if ($email == '')
         fatal_error($txt[76]);
      if (!preg_match("/^[0-9A-Za-z@\._\-]+$/",$email))
         fatal_error($txt[243]);
   }

Email fältet kommer att finnas kvar men behöver inte fyllas i
« Last Edit: February 16, 2003, 10:18:29 PM by mats » Logged

Support Specialist Level 2  YaBBSP1.3.1
tompa
Noobie
*
Posts: 11


I'm a llama!

Re:Ställa in obligatoriska fält.
« Reply #5 on: February 16, 2003, 11:55:15 PM »
Reply with quote

Kanonbra, ska genast testa!
Tack för hjälpen.
Logged
Daniel Hofverberg
YaBB God
*****
Posts: 582


WWW
Re:Ställa in obligatoriska fält.
« Reply #6 on: February 17, 2003, 06:04:57 AM »
Reply with quote

Att ta bort kontrollen av namn är knappast så lyckat, eftersom ett namn behövs för att allt ska fungera...

Jag skulle istället föreslå följande förändring:

Kommentera bort rad 738 och 739 i Post.php, d.v.s:

if ($email == '')
    fatal_error($txt[76]);

(Lägg till antingen # eller // före dessa rader)

Byt sen ut rad 741 mot:

if (!preg_match("/^[0-9A-Za-z@\._\-]+$/", $email) && $email != "")

Det bör medföra att e-post-fältet går att lämna tomt, men att innehållet kontrolleras så att det innehåller en giltig adress om man inte lämnat det tomt.

Inte testat, men det borde fungera... Radnumren syftar på senaste versionen av YaBB SE 1.5.1 Release Candidate 1, men det borde vara ganska lika i de flesta versioner...
Logged
mats
Full Member
***
Posts: 219


You have more company with a penguin than a window

Re:Ställa in obligatoriska fält.
« Reply #7 on: February 17, 2003, 07:36:37 AM »
Reply with quote

Funktionen att kontrollera mailadressen är ju inte nödvändig egentligen eftersom du kan använda en adress som:

[email protected]

Den är inte giltig
men den går ju igenom kontrollen.
Logged

Support Specialist Level 2  YaBBSP1.3.1
Carina
Jr. Member
**
Posts: 97


I'm new here...

Re:Ställa in obligatoriska fält.
« Reply #8 on: February 17, 2003, 10:05:35 AM »
Reply with quote

Quote from: mats on February 17, 2003, 07:36:37 AM
Funktionen att kontrollera mailadressen är ju inte nödvändig egentligen eftersom du kan använda en adress som:

[email protected]

Den är inte giltig
men den går ju igenom kontrollen.


Nu vet inte jag om jag missförstår vad du menar? Men definitivt: visst är den mailadress som du exemplifierar med här ovan giltig. Man får ju skilja på att en mailadress är "giltig" resp att den "har en abonnent", s.a.s. Och det man vill kontrollera i programmering ofta det är ju just att mailadressen uppfyller vissa "baskrav" (t.ex. att "snabel-a" inte kommer först i adressen o.s.v.). Det har ju också att göra med att den som fyller i en mailadress uppmärksammas på att ngt gått snett, om den personen skulle skriva fel, helt enkelt

Till sist tycker jag faktiskt att tompa har tänkt på en bra sak: det är ju faktiskt bättre att slippa få meningslösa mailadresser (typ..."bananer i pyjamas") än att få dem. Och vill man sedan inte ha gäster som skribenter, så kan man ju välja att sådana inte får posta.
Logged
Daniel Hofverberg
YaBB God
*****
Posts: 582


WWW
Re:Ställa in obligatoriska fält.
« Reply #9 on: February 17, 2003, 03:18:44 PM »
Reply with quote

Visst är YaBB SE:s mailkontroll lite väl simpel, men den hjälper i alla fall mot personer som glömmer bort @-tecken och liknande.

Annars finns det betydligt mer avancerade möjligheter - Det finns exempelvis PHP-kommandon för att kontrollera om en adress har en MX-header (dvs är en giltig e-post-server). Jag vet inte om det finns något skäl till varför de valt en betydligt enklare lösning än så här...
Logged
mats
Full Member
***
Posts: 219


You have more company with a penguin than a window

Re:Ställa in obligatoriska fält.
« Reply #10 on: February 17, 2003, 03:20:08 PM »
Reply with quote

Jag menade inte att den är ogiltig på det viset.
Utan mera att man lätt kan räkna ut att den inte finns.
Vem som helst kan ju använda adressen som jag skrev men ingen kan nå den personen eller räkna ut var han finns.
Att sedan få sitt forum fyllt av en massa mailadresser som inte funkar är ju inte kul.
Därför tycker jag att min lösning är bäst eftersom man inte ens behöver skriva in någon adress för att posta.

Eller har jag fel ?
Logged

Support Specialist Level 2  YaBBSP1.3.1
Carina
Jr. Member
**
Posts: 97


I'm new here...

Re:Ställa in obligatoriska fält.
« Reply #11 on: February 17, 2003, 04:02:50 PM »
Reply with quote

Quote from: mats on February 17, 2003, 03:20:08 PM
Jag menade inte att den är ogiltig på det viset.
Utan mera att man lätt kan räkna ut att den inte finns.
Jaha, då menade vi samma sak. Och sedan är det väl just det här det handlar om: att man i programmering ofta vill göra en, om än aldrig så enkel, check av att den som fyller i en mailadress får med det viktigaste. Den funktionaliteten är ju då mest till för "ifyllaren".

Däremot hade det ju varit bättre då, tycker iaf jag, att man hade implementerat en mer utvidgad mailadresskontroll, om det nu ändå gives sådana möjligheter i PHP. Så det var ju synd - men det handlar ju alltid om vilken nivå man väljer och man kan ju inte ha med allt.
Quote
Att sedan få sitt forum fyllt av en massa mailadresser som inte funkar är ju inte kul.
Därför tycker jag att min lösning är bäst eftersom man inte ens behöver skriva in någon adress för att posta.

Eller har jag fel ?
Men du blandar in inte bara mailadressen utan även namnet, va? Och det skulle man ju kunna tänka sig att man gjorde, iofs - alltså att en gäst kunde posta utan att fylla i vare sig namn eller mail. Men det var väl liksom inte riktigt det tompa önskade sig. Jag har inte testat Daniels förändring här (jag tillåter inte gäster att posta öht) men det ser ju ut som om det som skulle hända är just det tompa ville ha: man behöver inte fylla i mail men om man gör det, så utförs den enkla kontrollen av adressen. Men jag har inte testat, det har jag inte.
Logged
Daniel Hofverberg
YaBB God
*****
Posts: 582


WWW
Re:Ställa in obligatoriska fält.
« Reply #12 on: February 17, 2003, 07:05:23 PM »
Reply with quote

Quote from: mats on February 17, 2003, 03:20:08 PM
Därför tycker jag att min lösning är bäst eftersom man inte ens behöver skriva in någon adress för att posta.

Eller har jag fel ?
Det behöver man inte med min lösning heller. Om du kollat koden noggrannare så skulle du se att man med min lösning kan lämna e-post-fältet tomt, men att man inte kan skriva in något i e-post-fältet som inte är en kliniskt riktig adress (exempelvis att skriva in "daniel" som e-post-adress).

Och som jag sa, så kan man inte kommentera bort namnbiten som du föreslog - Då kommer inte allt att funka som det ska, då databasen behöver något namn att lagra under. Men båda if-satserna för e-post-adresser bör man alltså kunna kommentera bort om man skulle vilja.

Carina - Du har helt rätt, och jag håller fullständigt med dig.
Logged
mats
Full Member
***
Posts: 219


You have more company with a penguin than a window

Re:Ställa in obligatoriska fält.
« Reply #13 on: February 17, 2003, 10:40:25 PM »
Reply with quote

Hade väl lite för bråttom eftersom jag inte såg att mittförslag även tog bort namn kontrollen.
Men om man även tar bort denna rad i Post.php så slipper du Email överhuvudtaget.

$email_field = $realemail == '' ? "<tr><td align=\"right\"><font size=2><b>$txt[69]:</b></font></td><td><font size=\"2\"><input type=\"hidden\" name=\"email\" size=\"25\"></font>" : '';

Man måste fortfarande kommentera bort följande rader
if ($email == '')
        fatal_error($txt[76]);
     if (!preg_match("/^[0-9A-Za-z@\._\-]+$/",$email))
        fatal_error($txt[243]);



Sedan får Tompa välja vilka förslag han vill använda

Logged

Support Specialist Level 2  YaBBSP1.3.1
Carina
Jr. Member
**
Posts: 97


I'm new here...

Re:Ställa in obligatoriska fält.
« Reply #14 on: February 17, 2003, 10:54:30 PM »
Reply with quote

Quote from: mats on February 17, 2003, 10:40:25 PM
Men om man även tar bort denna rad i Post.php så slipper du Email överhuvudtaget.
Om vi får hållas ett tag till här, allihop, så har vi väl snart lyckats kommentera ut nästan varje rad i nästan varje fil! Kvar blir bara ett mkt litet forum. Jag undrar vad tompa har att säga om det?  ;)

Buggfritt och bra blir det ju också - med ingen kod alls!  :D

Men nu skall jag inte busa mig mer - utan sova lite. Tror jag...*gäspande smiley*
Logged
Pages: [1] 2 Reply Ignore Print 
YaBB SE Community  |  Language Specific User Help  |  Svenska/Norsk/Dansk  |  Ställa in obligatoriska fält. « previous - next »
 


Powered by MySQL Powered by PHP YaBB SE Community | Powered by YaBB SE
© 2001-2003, YaBB SE Dev Team. All Rights Reserved.
SMF 2.1.4 © 2023, Simple Machines
Valid XHTML 1.0! Valid CSS

Page created in 0.045 seconds with 19 queries.