Avatar billede zidane5 Nybegynder
13. oktober 2011 - 16:17 Der er 11 kommentarer og
1 løsning

Få "minlength" inkluderet, så der skal skrives min. 200 tegn før beskeden kan oprettes

Hej. Jeg ved der noget er hedder maxlength, men har søgt på google og ikke fundet noget der gør det modsatte..

Er det muligt at få en minlength, altså "du skal min. skrive 200 tegn", før din besked kan oprettes? Hvis det kan lade sig gøre, kan jeg så også få inkluderet, "hvor mange tegn, der er skrevet" og hvor mange der mangler? Det skal være ved det der er markeret med sort i nedenstående fil.

<?php
/*-------------------------------------------------------+
| PHP-Fusion Content Management System
| Copyright (C) 2002 - 2011 Nick Jones
| http://www.php-fusion.co.uk/
+--------------------------------------------------------+
| Filename: postnewthread.php
| Author: Nick Jones (Digitanium)
+--------------------------------------------------------+
| This program is released as free software under the
| Affero GPL license. You can redistribute it and/or
| modify it under the terms of this license which you
| can read by viewing the included agpl.txt or online
| at www.gnu.org/licenses/agpl.html. Removal of this
| copyright header is strictly prohibited without
| written permission from the original author(s).
+--------------------------------------------------------*/
if (!defined("IN_FUSION")) { die("Access Denied"); }

if (isset($_POST['previewpost']) || isset($_POST['add_poll_option'])) {
$subject = trim(stripinput(censorwords($_POST['Spilstop']))).': '.
trim(stripinput(censorwords($_POST['Hjemmehold']))).' - '.trim(stripinput(censorwords($_POST['Udehold']))).' '.
trim(stripinput(censorwords($_POST['Tip']))).', '.trim(stripinput(censorwords($_POST['Odds'])));    $message = trim(stripinput(censorwords($_POST['message'])));
    $sticky_thread_check = isset($_POST['sticky_thread']) ? " checked='checked'" : "";
    $lock_thread_check = isset($_POST['lock_thread']) ? " checked='checked'" : "";
    $sig_checked = isset($_POST['show_sig']) ? " checked='checked'" : "";
    $disable_smileys_check = isset($_POST['disable_smileys']) || preg_match("#(\[code\](.*?)\[/code\]|\[geshi=(.*?)\](.*?)\[/geshi\]|\[php\](.*?)\[/php\])#si", $message) ? " checked='checked'" : "";
    if ($settings['thread_notify']) { $notify_checked = isset($_POST['notify_me']) ? " checked='checked'" : ""; }

    if ($fdata['forum_poll'] && checkgroup($fdata['forum_poll'])) {
        $poll_title = trim(stripinput(censorwords($_POST['poll_title'])));
        if (isset($_POST['poll_options']) && is_array($_POST['poll_options'])) {
            $poll_opts = array();
            foreach ($_POST['poll_options'] as $poll_option) {
                if ($poll_option) { $poll_opts[] = stripinput($poll_option); }
            }
        } else {
            $poll_opts = array();
        }
        if (isset($_POST['add_poll_option'])) {
            if (count($poll_opts)) { array_push($poll_opts, ""); }
        }
    }

    if (isset($_POST['previewpost'])) {
        if ($subject == "") { $subject = $locale['830']; }
        if ($message == "") {
            $previewmessage = $locale['831'];
        } else {
            $previewmessage = $message;
            if ($sig_checked) { $previewmessage = $previewmessage."\n\n".$userdata['user_sig']; }
            if (!$disable_smileys_check) { $previewmessage = parsesmileys($previewmessage); }
            $previewmessage = parseubb($previewmessage);
            $previewmessage = nl2br($previewmessage);
        }
        //$is_mod = iMOD && iUSER < "102" ? true : false;
        opentable($locale['400']);
        echo "<div class='tbl2 forum_breadcrumbs' style='margin-bottom:5px'><a href='generelt.php'>".$settings['sitename']."</a> &raquo; ".$caption."</div>\n";

        if ($fdata['forum_poll'] && checkgroup($fdata['forum_poll'])) {
            if ((isset($poll_title) && $poll_title) && (isset($poll_opts) && is_array($poll_opts))) {
                echo "<table cellpadding='0' cellspacing='1' width='100%' class='tbl-border' style='margin-bottom:5px'>\n<tr>\n";
                echo "<td align='center' class='tbl2'><strong>".$poll_title."</strong></td>\n</tr>\n<tr>\n<td class='tbl1'>\n";
                echo "<table align='center' cellpadding='0' cellspacing='0'>\n";
                foreach ($poll_opts as $poll_option) {
                    echo "<tr>\n<td class='tbl1'><input type='radio' name='poll_option' value='$i' style='vertical-align:middle;' /> ".$poll_option."</td>\n</tr>\n";
                    $i++;
                }
                echo "</table>\n</td>\n</tr>\n</table>\n";
            }
        }
        echo "<table cellpadding='0' cellspacing='1' width='100%' class='tbl-border forum_thread_table'>\n<tr>\n";
        echo "<td colspan='2' class='tbl2'><strong>".$subject."</strong></td>\n</tr>\n";
        echo "<tr>\n<td class='tbl2 forum_thread_user_name' style='width:140px;'>".profile_link($userdata['user_id'], $userdata['user_name'], $userdata['user_status'])."</td>\n";
        echo "<td class='tbl2 forum_thread_post_date'>".$locale['426'].showdate("forumdate", time())."</td>\n";
        echo "</tr>\n<tr>\n<td valign='top' width='140' class='tbl2 forum_thread_user_info'>\n";
        if ($userdata['user_avatar'] && file_exists(IMAGES."avatars/".$userdata['user_avatar'])) {
            echo "<img src='".IMAGES."avatars/".$userdata['user_avatar']."' alt='' /><br /><br />\n";
        }
        echo "<!--forum_thread_user_info--><span class='small'><strong>Antal forslag: </strong> ".score_account_stand($user_data['user_id'])."</span><br />\n";
        echo "<!--forum_thread_user_info--><span class='small'><strong>Antal vundne: </strong> ".number_format(dbcount("(post_solved)", DB_POSTS, "post_author='".$userdata['user_id']."' AND post_solved='1'"))."</span><br />\n";
        echo "<br /></td>\n<td valign='top' class='tbl1 forum_thread_user_post'>".$previewmessage."</td>\n";
        echo "</tr>\n</table>\n";
        closetable();
    }
}
if (isset($_POST['postnewthread'])) {
$subject = trim(stripinput(censorwords($_POST['Spilstop']))).': '.
trim(stripinput(censorwords($_POST['Hjemmehold']))).' - '.trim(stripinput(censorwords($_POST['Udehold']))).' '.
trim(stripinput(censorwords($_POST['Tip']))).', '.trim(stripinput(censorwords($_POST['Odds'])));    $message = trim(stripinput(censorwords($_POST['message'])));
    $flood = false; $error = 0;
    $sticky_thread = isset($_POST['sticky_thread']) && (iMOD || iSUPERADMIN) ? 1 : 0;
    $lock_thread = isset($_POST['lock_thread']) && (iMOD || iSUPERADMIN) ? 1 : 0;
    $sig = isset($_POST['show_sig']) ? 1 : 0;
    $smileys = isset($_POST['disable_smileys']) || preg_match("#(\[code\](.*?)\[/code\]|\[geshi=(.*?)\](.*?)\[/geshi\]|\[php\](.*?)\[/php\])#si", $message) ? 0 : 1;
    $thread_poll = 0;

    if ($fdata['forum_poll'] && checkgroup($fdata['forum_poll'])) {
        if (isset($_POST['poll_options']) && is_array($_POST['poll_options'])) {
            foreach ($_POST['poll_options'] as $poll_option) {
                if (trim($poll_option)) { $poll_opts[] = trim(stripinput(censorwords($poll_option))); }
                unset($poll_option);
            }
        }
        $thread_poll = (trim($_POST['poll_title']) && (isset($poll_opts) && is_array($poll_opts)) ? 1 : 0);
    }

    if (iMEMBER) {
        if ($subject != "" && $message != "") {
            require_once INCLUDES."flood_include.php";
            if (!flood_control("post_datestamp", DB_POSTS, "post_author='".$userdata['user_id']."'")) {
                $result = dbquery("INSERT INTO ".DB_THREADS." (forum_id, thread_subject, thread_author, thread_views, thread_lastpost, thread_lastpostid, thread_lastuser, thread_postcount, thread_poll, thread_sticky, thread_locked) VALUES('".$_GET['forum_id']."', '$subject', '".$userdata['user_id']."', '0', '".time()."', '0', '".$userdata['user_id']."', '1', '".$thread_poll."', '".$sticky_thread."', '".$lock_thread."')");
                $thread_id = mysql_insert_id();
                $result = dbquery("INSERT INTO ".DB_POSTS." (forum_id, thread_id, post_message, post_showsig, post_smileys, post_author, post_datestamp, post_ip, post_ip_type, post_edituser, post_edittime) VALUES ('".$_GET['forum_id']."', '".$thread_id."', '".$message."', '".$sig."', '".$smileys."', '".$userdata['user_id']."', '".time()."', '".USER_IP."', '".USER_IP_TYPE."', '0', '0')");
                $post_id = mysql_insert_id();
                $result = dbquery("UPDATE ".DB_FORUMS." SET forum_lastpost='".time()."', forum_postcount=forum_postcount+1, forum_threadcount=forum_threadcount+1, forum_lastuser='".$userdata['user_id']."' WHERE forum_id='".$_GET['forum_id']."'");
                $result = dbquery("UPDATE ".DB_THREADS." SET thread_lastpostid='".$post_id."' WHERE thread_id='".$thread_id."'");
                $result = dbquery("UPDATE ".DB_USERS." SET user_posts=user_posts+1 WHERE user_id='".$userdata['user_id']."'");
                if ($settings['thread_notify'] && isset($_POST['notify_me'])) { $result = dbquery("INSERT INTO ".DB_THREAD_NOTIFY." (thread_id, notify_datestamp, notify_user, notify_status) VALUES('".$thread_id."', '".time()."', '".$userdata['user_id']."', '1')"); }

                if (($fdata['forum_poll'] && checkgroup($fdata['forum_poll'])) && $thread_poll) {
                    $poll_title = trim(stripinput(censorwords($_POST['poll_title'])));
                    if ($poll_title && (isset($poll_opts) && is_array($poll_opts))) {
                        $result = dbquery("INSERT INTO ".DB_FORUM_POLLS." (thread_id, forum_poll_title, forum_poll_start, forum_poll_length, forum_poll_votes) VALUES('".$thread_id."', '".$poll_title."', '".time()."', '0', '0')");
                        $forum_poll_id = mysql_insert_id();
                        $i = 1;
                        foreach ($poll_opts as $poll_option) {
                            $result = dbquery("INSERT INTO ".DB_FORUM_POLL_OPTIONS." (thread_id, forum_poll_option_id, forum_poll_option_text, forum_poll_option_votes) VALUES('".$thread_id."', '".$i."', '".$poll_option."', '0')");
                            $i++;
                        }
                    }
                }

                if ($fdata['forum_attach'] && checkgroup($fdata['forum_attach'])) {
                        // $attach = $_FILES['attach'];
                    foreach($_FILES as $attach){
                        if ($attach['name'] != "" && !empty($attach['name']) && is_uploaded_file($attach['tmp_name'])) {
                            $attachname = stripfilename(substr($attach['name'], 0, strrpos($attach['name'], ".")));
                            $attachext = strtolower(strrchr($attach['name'],"."));
                            if (preg_match("/^[-0-9A-Z_\[\]]+$/i", $attachname) && $attach['size'] <= $settings['attachmax']) {
                                $attachtypes = explode(",", $settings['attachtypes']);
                                if (in_array($attachext, $attachtypes)) {
                                    $attachname .= $attachext;
                                    $attachname = attach_exists(strtolower($attachname));
                                    move_uploaded_file($attach['tmp_name'], FORUM."attachments/".$attachname);
                                    chmod(FORUM."attachments/".$attachname,0644);
                                    if (in_array($attachext, $imagetypes) && (!@getimagesize(FORUM."attachments/".$attachname) || !@verify_image(FORUM."attachments/".$attachname))) {
                                        unlink(FORUM."attachments/".$attachname);
                                        $error = 1;
                                    }
                                    if (!$error) { $result = dbquery("INSERT INTO ".DB_FORUM_ATTACHMENTS." (thread_id, post_id, attach_name, attach_ext, attach_size) VALUES ('".$thread_id."', '".$post_id."', '".$attachname."', '".$attachext."', '".$attach['size']."')"); }
                                } else {
                                    @unlink($attach['tmp_name']);
                                    $error = 1;
                                }
                            } else {
                                @unlink($attach['tmp_name']);
                                $error = 2;
                            }
                        }
                    }
                }
            } else {
                    redirect("viewforum1.php?forum_id=".$_GET['forum_id']);
            }
        } else {
            $error = 3;
        }
    } else {
        $error = 4;
    }
    if ($error > 2) {
        redirect("postify.php?post=new&error=$error&forum_id=".$_GET['forum_id']);
    } else {
        redirect("postify.php?post=new&error=$error&forum_id=".$_GET['forum_id']."&thread_id=".$thread_id."");
    }
} else {
    if (!isset($_POST['previewpost']) && !isset($_POST['add_poll_option'])) {
        $subject = "";
        $message = "";
        $sticky_thread_check = "";
        $lock_thread_check = "";
        $disable_smileys_check = "";
        $sig_checked = " checked='checked'";
        if ($settings['thread_notify']) { $notify_checked = ""; }
        $poll_title = "";
        $poll_opts = array();
    }
    add_to_title($locale['global_201'].$locale['401']);
    echo "<!--pre_postnewthread-->";
    opentable($locale['401']);
    if (!isset($_POST['previewpost'])) { echo "<div class='tbl2 forum_breadcrumbs' style='margin-bottom:5px'><a href='generelt.php'>".$settings['sitename']."</a> &raquo; ".$caption."</div>\n"; }

    echo "<form id='inputform' method='post' action='".FUSION_SELF."?action=newthread&amp;forum_id=".$_GET['forum_id']."' enctype='multipart/form-data'>\n";
echo "<table cellpadding='0' cellspacing='1' width='100%' class='tbl-border'>\n<tr>\n";
echo "<td width='145' class='tbl2'>".$locale['461aa']."</td>\n";
echo "<td class='tbl1'><input type='text' name='Spilstop' value='Spilstop' class='textbox' maxlength='5' style='width: 47px' /></td>\n";
echo "<td class='tbl1'><input type='text' name='Hjemmehold' value='Hjemmehold' class='textbox' maxlength='255' style='width: 120px' /></td>\n";
echo "<td>-</td>\n";echo "<td class='tbl1'><input type='text' name='Udehold' value='Udehold' class='textbox' maxlength='255' style='width: 120px' /></td>\n";
echo "<td class='tbl1'><input type='text' name='Tip' value='Tip' class='textbox' maxlength='2' style='width: 20px' /></td>\n";
echo "<td class='tbl1'><input type='text' name='Odds' value='Odds' class='textbox' maxlength='10' style='width: 30px' /></td>\n";
echo "</tr>\n</table>\n";
    echo "<table cellpadding='0' cellspacing='1' width='100%' class='tbl-border'>\n<tr>\n";
        echo "<td valign='top' width='120' class='tbl2'>".$locale['461a']."</td>\n";

    echo "<td class='tbl1'><textarea name='message' cols='60' rows='15' class='textbox' style='width:98%'>".$message."</textarea></td>\n";

    echo "</tr>\n<tr>\n";
    echo "<td width='120' class='tbl2'>&nbsp;</td>\n";
    echo "<td class='tbl1'>".display_bbcodes("99%", "message")."</td>\n";
    echo "</tr>\n<tr>\n";
    echo "<td valign='top' width='120' class='tbl2'>".$locale['463']."</td>\n";
    echo "<td class='tbl1'>\n";
    if (iMOD || iSUPERADMIN) {
        echo "<label><input type='checkbox' name='sticky_thread' value='1'".$sticky_thread_check." /> ".$locale['480']."</label><br />\n";
        echo "<label><input type='checkbox' name='lock_thread' value='1'".$lock_thread_check." /> ".$locale['481']."</label><br />\n";
    }
    echo "<label><input type='checkbox' name='disable_smileys' value='1'".$disable_smileys_check." /> ".$locale['482']."</label>";
    if (array_key_exists("user_sig", $userdata) && $userdata['user_sig']) {
        echo "<br />\n<label><input type='checkbox' name='show_sig' value='1'".$sig_checked." /> ".$locale['483']."</label>";
    }
    if ($settings['thread_notify']) { echo "<br />\n<label><input type='checkbox' name='notify_me' value='1'".$notify_checked." /> ".$locale['486']."</label>"; }
    echo "</td>\n</tr>\n";
    if ($fdata['forum_attach'] && checkgroup($fdata['forum_attach'])) {
        add_to_head("<script type='text/javascript' src='".INCLUDES."multi_attachment.js'></script>\n");
        echo "<tr>\n<td width='145' class='tbl2'>".$locale['464']."</td>\n";
        echo "<td class='tbl1'><input id='my_file_element' type='file' name='file_1' class='textbox' style='width:200px;' /><br />\n";
        echo "<span class='small2'>".sprintf($locale['466'], parsebytesize($settings['attachmax']), str_replace(',', ' ', $settings['attachtypes']), $settings['attachmax_count'])."</span><br />\n";
        echo "<div id='files_list'></div>\n";
        echo "<script>\n";
        echo "/* <![CDATA[ */\n";
        echo "<!-- Create an instance of the multiSelector class, pass it the output target and the max number of files -->\n";
        echo "var multi_selector = new MultiSelector( document.getElementById( \"files_list\" ), ".$settings['attachmax_count']." );\n";
        echo "<!-- Pass in the file element -->\n";
        echo "multi_selector.addElement( document.getElementById( \"my_file_element\" ) );\n";
        echo "/* ]]>*/\n";
        echo "</script>\n";
        echo "</td>\n";
        echo "</tr>\n";
    }
    if ($fdata['forum_poll'] && checkgroup($fdata['forum_poll'])) {
        echo "<tr>\n<td align='center' colspan='2' class='tbl2'>".$locale['467']."</td>\n";
        echo "</tr>\n<tr>\n";
        echo "<td width='145' class='tbl2'>".$locale['469']."</td>\n";
        echo "<td class='tbl1'><input type='text' name='poll_title' value='".$poll_title."' class='textbox' maxlength='255' style='width:250px' /></td>\n";
        echo "</tr>\n";
        $i = 1;
        if (isset($poll_opts) && is_array($poll_opts) && count($poll_opts)) {
            foreach ($poll_opts as $poll_option) {
                echo "<tr>\n<td width='145' class='tbl2'>".$locale['470']." ".$i."</td>\n";
                echo "<td class='tbl1'><input type='text' name='poll_options[$i]' value='".$poll_option."' class='textbox' maxlength='255' style='width:250px'>";
                if ($i == count($poll_opts)) {
                    echo " <input type='submit' name='add_poll_option' value='".$locale['471']."' class='button' />";
                }
                echo "</td>\n</tr>\n";
                $i++;
            }
        } else {
            echo "<tr>\n<td width='145' class='tbl2'>".$locale['470']." 1</td>\n";
            echo "<td class='tbl1'><input type='text' name='poll_options[1]' value='' class='textbox' maxlength='255' style='width:250px' /></td>\n</tr>\n";
            echo "<tr>\n<td width='145' class='tbl2'>".$locale['470']." 2</td>\n";
            echo "<td class='tbl1'><input type='text' name='poll_options[2]' value='' class='textbox' maxlength='255' style='width:250px' /> ";
            echo "<input type='submit' name='add_poll_option' value='".$locale['471']."' class='button' /></td>\n</tr>\n";
        }
    }
    echo "<tr>\n<td align='center' colspan='2' class='tbl1'>\n";
    echo "<input type='submit' name='previewpost' value='".$locale['400']."' class='button' />\n";
    echo "<input type='submit' name='postnewthread' value='".$locale['401']."' class='button' />\n";
    echo "</td>\n</tr>\n</table>\n</form>\n";
    closetable();
    echo "<!--sub_postnewthread-->";
}
?>
Avatar billede pstidsen Novice
13. oktober 2011 - 17:18 #1
Der er IKKE en html attribut der hedder minleght, så du skal, så vidt jeg kan læse mig til på nettet (der er da masser af sider om det. På diverse forums er der mange der efterspørger det samme), bruge et andet sprog. Det kan være JS eller PHP. Da du har skrevet din side i en samme PHP, så vil jeg da anbefale det. Se f.eks. http://forums.tizag.com/showthread.php?t=5034 (og i det hele taget http://www.google.dk/search?client=opera&rls=da&q=minength&sourceid=opera&ie=utf-8&oe=utf-8&channel=suggest#sclient=psy-ab&hl=da&client=opera&hs=8uN&rls=da&channel=suggest&source=hp&q=minlength+php&pbx=1&oq=minlength+php&aq=f&aqi=g-vL1&aql=&gs_sm=e&gs_upl=2267l4836l0l5057l7l5l0l1l1l2l274l1105l0.1.4l6l0&bav=on.2,or.r_gc.r_pw.,cf.osb&fp=7b81d2ecf69125a9&biw=1366&bih=646)

JS kan i øvrigt også slåes fra i browseren, så det er ikke så smart..
Avatar billede zidane5 Nybegynder
13. oktober 2011 - 21:35 #2
Har kigget lidt på det link du gav.

if(strlen($_POST['message']) > 20){
  echo "string is long enough";
}else{
  echo "string is too short";


Jeg har prøvet at indsætte ovenstående, men det eneste der står er:

string is long enough

hmm
Avatar billede pstidsen Novice
14. oktober 2011 - 16:15 #3
også hvis det er under 20?
Avatar billede zidane5 Nybegynder
14. oktober 2011 - 17:09 #4
Jo den skifter, fra to short til long enough, men kan ikke se hvad den skal bruges til?

Selvom jeg skriver for kort besked, så kan jeg stadig oprette beskeden.. Det skal væresådan, hvis den er under 20, så skal jeg ikke kunne oprette beskeden.
Avatar billede pstidsen Novice
15. oktober 2011 - 20:46 #5
#4: Nu kan jeg ikke særlig meget PHP, men du kan vel bare lave dine echos om til noget med (jeg kan ikke skrive det på progammeringssprog)
if(strlen($_POST['message']) > 20){
  SCRIPT DIE;
}else{
  Kør scriptet videre;
}
Burde det ikke kunne lade sig gøre? :O
Avatar billede zidane5 Nybegynder
15. oktober 2011 - 22:08 #6
Jeg er heller ikke inde i php, desværre.

Jeg ve dikke hvordan der kan arbejdes videre med det der desværre :/
Avatar billede pstidsen Novice
16. oktober 2011 - 01:33 #7
Hvem har så skrevet din kode? :O
Avatar billede zidane5 Nybegynder
16. oktober 2011 - 01:48 #8
Det jo CMS system jeg bruger. Opensource , som er gratis at download og benytte sig af .
Avatar billede pstidsen Novice
16. oktober 2011 - 18:46 #9
Aaah... Jeg kan desværre heller ikke hjælpe dig. Luk spørgsmålet og opret et nyt. Skriv hvad du allerede har fundet ud af. Altså du skal ikke have hjælp til at tjekke om der er over 20 karakterer, men til at stoppe brugeren
Avatar billede zidane5 Nybegynder
21. oktober 2011 - 13:51 #10
Fandt ikke løsningen, menoprettede ny tråd.
Avatar billede pstidsen Novice
21. oktober 2011 - 22:37 #11
Evt. smid et link til den.
Avatar billede zidane5 Nybegynder
21. oktober 2011 - 22:53 #12
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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