Hvordan kan man få de danske tegn til at virke ved en tilmeld?
Hejsa
sidder og har et meget dumt/trals problem, med at jeg ikke kan finde nogen måde hvor på jeg kan tillade en bruger at oprette sig med ÆØÅ i deres brugernavn.
Hvis der var en som kunne give et svar på problemet ville jeg være en glad mand :-)
$subject = DB::result("SELECT subject FROM email_auto WHERE note='join'"); $text = DB::result("SELECT text FROM email_auto WHERE note='join'"); $subject = str_replace("{title}", $g['main']['title'], $subject); $text = str_replace("{title}", $g['main']['title'], $text); $text = str_replace("{name}", get_session("j_name"), $text); $text = str_replace("{password}", get_session("j_password"), $text); send_mail( get_session("j_mail"), $g['main']['info_mail'], $subject, $text );
#session_unset(); set_session("user_id", $user_id); set_session("user_id_verify", $user_id); } function parseBlock(&$html) { global $g; global $g_info; global $l;
foreach ($g_info as $k => $v) $html->setvar($k, $v);
$html->setvar("country_options", DB::db_options("SELECT country_id, country_title FROM geo_country WHERE country_id in (1,2,3)" , 1) . DB::db_options("SELECT country_id, country_title FROM geo_country ORDER BY country_title" , "")); $html->setvar("orientation_options", DB::db_options("SELECT id, title FROM const_orientation", get_param("orientation", ""))); parent::parseBlock($html); } }
$page = new CIndex("", $g['tmpl']['dir_tmpl_main'] . "join.html"); $header = new CHeader("header", $g['tmpl']['dir_tmpl_main'] . "_header.html"); $page->add($header); $footer = new CFooter("footer", $g['tmpl']['dir_tmpl_main'] . "_footer.html"); $page->add($footer);
$register = new CJoinForm("join", null); $page->add($register);
if (DB::result("SELECT user_id FROM user WHERE name=" . to_sql($name, "Text") . ";") != "") { $this->message .= $l['join.php']['exists_username'] . "<br>";
jeg tror du udtrykker dig fint, bare ikke så jeg fatter det :-) må desværre give fortabt da jeg ikke har nogen funktion der "bare" hedder to_sql() Udover det der allerede er skrevet ind, her i tråden så har jeg flere ala det samme og en connect til datebasen hvis det ikke kan bruges må jeg lukke tråden og lade det være det, trals.
Jeg tror desværre der er kode som ikke bliver vist. Du har en eller anden kontrol, som tjekker brugernavnet, og som jeg ser det, så er den ikke blevet vist endnu. Prøv at kig din kode igennem for preg eller ereg eller måske ctype_alphanum.
har fundet denne JS fil hvor i der valideres på brugernavn, er der nogen speciel måde at tillade æøå i java script?
var MSG_MAX_LENGTH = '%1 may only be a maximum of %2 characters long.'; var MSG_MIN_LENGTH = '%1 must be a minimum of %2 characters long.'; var MSG_REQ_FIELD = '%1 is a required field.'; var MSG_INVALID_EMAIL = 'Invalid email address: %1'; var MSG_REQUIRED_SELECT = 'Please select a value for %1.'; var MSG_ALPHA_NUMERIC = '%1 may only contain alphanumeric characters.'; var MSG_NUMERIC = '%1 may only contain numeric characters!'; var MSG_TWO_FIELDS = '%1 and %2 must be the same.'; var MSG_NOT_TWO_FIELDS = '%1 and %2 may not have the same value.';
function validateMaxLength(field, name, maxLength) { var value = field.value; var originalVal = value; //store a copy with the \n's in it var newVal = ""; //new value with any extra characters removed from it so as not to go over maxLength var character = null; value = value.replace(/\n/g,'**'); // bug #4830 when the javascript validates it sees \n's and java validates it sees \r\n's so a string may pass javascript validation but fail java validation, solution validate on a copy of the string with all \n's replaced with 2 characters to simulate the java length
if (value.length > maxLength) { //loop through the string getting one character at a time. //If we encounter a \n we have to count it as 2 characters due to bug #4830 for(var i=0, count=1; count<=maxLength; i++, count++){ character = originalVal.charAt(i);
//if this is a new line char make sure we have 2 spaces available in the new string if(character == "\n" && count<=maxLength-1){ newVal = newVal.concat(character); count++; }else{ newVal = newVal.concat(character); } }
var msg = MSG_MAX_LENGTH.replace('%1', name); msg = msg.replace('%2', maxLength); alert(msg); try{ //substitute in the shortened string into the field. field.value = newVal; field.focus(); }catch(e){} return false; } return true; } function validateMinLength(field, name, minLength) { if (field.value.length < minLength) { var msg = MSG_MIN_LENGTH.replace('%1', name); msg = msg.replace('%2', minLength); alert(msg); try{field.focus();}catch(e){} return false; } else { return true; } } function nonEmptyDependency(field1, field1Name, field2, field2Name, message) { if(!isEmpty(field1) && isEmpty(field2)){ alert(message); return false; }else{ return true; } } function validateRequiredField(field, name, dv) { try { field.value = field.value.trim(); dv = dv.trim(); } catch(e) {}
if (field.value.length == 0 || field.value == dv) { alert(MSG_REQ_FIELD.replace('%1', name)); try{field.focus();}catch(e){} return false; } return true; } function validateEmailField(emailField, name) { if (isEmpty(emailField)) return true; if (!checkEmail(emailField.value)) { alert(MSG_INVALID_EMAIL.replace('%1', emailField.value)); try{emailField.focus();}catch(e){} return false; } return true; } function validateRequiredCheckbox(field, name, msg) { if (!isCheckBoxChecked(field)) { alert(msg.replace('%1', name)); try{field.focus();}catch(e){} return false; } return true; } function validateRequiredSelect(field, name, defaultValue) { if (field.value == null || field.value == '' || field.value == defaultValue) { alert(MSG_REQUIRED_SELECT.replace('%1', name)); try{field.focus();}catch(e){} return false; } else { return true; } } function validateTwoFields(field,name,field2,name2) { if (field.value != field2.value){ var msg = MSG_TWO_FIELDS.replace('%1', name); msg = msg.replace('%2', name2); alert(msg); try{field.focus();}catch(e){} return false; } return true; } function validateNotTwoFields(field,name,field2,name2) { if (field.value == field2.value){ var msg = MSG_NOT_TWO_FIELDS.replace('%1', name); msg = msg.replace('%2', name2); alert(msg); try{field.focus();}catch(e){} return false; } return true; } function validateAlphaNumeric(field, name) { var mask = /^[_0-9a-zA-Z-\.]*[_0-9a-zA-Z-\.]$/ if (!mask.test(field.value)) { alert(MSG_ALPHA_NUMERIC.replace('%1', name)); try{field.focus();}catch(e){} return false; } return true; } function validateAlphaNumeric_search(field, name) { var mask = /^[_0-9a-zA-Z-\.\s]*[_0-9a-zA-Z-\.\s]$/ if (!mask.test(field.value)) { alert(MSG_ALPHA_NUMERIC.replace('%1', name)); try{field.focus();}catch(e){} return false; } return true; } function validateNumeric(field, name) { var val = trim(field.value); field.value = val; var mask = /^-?[0-9]*(\.)?[0-9]*$/ if (!mask.test(val)) { alert(MSG_NUMERIC.replace('%1', name)); try{field.focus();}catch(e){} return false; } return true; }
function isEmpty(field) { if (field.disabled){return true;}
if (field.type=='checkbox'||(field[0]&&field[0].type == 'checkbox')) { return !isCheckBoxChecked(field); } if (field.type=='radio'||(field[0]&&field[0].type == 'radio')) { return !isCheckBoxChecked(field); } //Try trim - will fail for input type="file". try { field.value = field.value.trim(); } catch(e) {} if (field.value.length == 0) { return true; } } function isCheckBoxChecked(field) { if (field[0]) { for (i = 0;i<field.length;i++) { theField = field[i]; if (theField.checked) { return true; } } return false; } else { if (!field.checked) { return false; } } return true; } function setFocus(form,field) { if (form != '') { try {document.forms[form][field].focus();} catch(e) {} } else { try {document.forms[0][field].focus();} catch(e) {} } } function giveFocus(frm, elm) { eval("document."+frm+"."+elm+".focus()"); } function winpop(loc,w,h,scroll) { var name = loc.replace(/\W/g, ""); window.open(loc,name,'width='+w+', height='+h+', location=no, directories=no, menubar=no, scrollbars='+scroll+', resizable=no, status=no, toolbar=no'); }
function getById(tag) { if (document.getElementById) // Netscape, Mozilla, etc. { return document.getElementById(tag); } else if (document.all) // IE, Konqueror, etc. { return document.all[tag]; } } function switchdiv(div1_id, div2_id, form) { if (document.getElementById) { if(!document.getElementById(div1_id)) return ; if(!(document.getElementById(div1_id).style)) return ; if(!(document.getElementById(div1_id).style.display)) return ;
var state1 = document.all[div1_id].style.display; if(state1=="none") { document.all[div1_id].style.display = "block"; document.all[div2_id].style.display = "none"; if (form != null) { form[div1_id].value='true'; form[div2_id].value='false'; } } if(state1=="block") { document.getElementById(div1_id).style.display="none"; document.getElementById(div2_id).style.display="block"; if (form != null) { form[div1_id].value='false'; form[div2_id].value='true'; } } } } function getRefToDiv(divID) { if( document.layers ) { //Netscape layers return document.layers[divID]; } if( document.getElementById ) { //DOM; IE5, NS6, Mozilla, Opera return document.getElementById(divID); } if( document.all ) { //Proprietary DOM; IE4 return document.all[divID]; } if( document[divID] ) { //Netscape alternative return document[divID]; } return false; } function characterCounter(fieldName, maxLength, elementName) { var field = getById(fieldName); var value = field.value.replace(/\n/g,'**'); // bug #4830 when the javascript validates it sees \n's and java validates it sees \r\n's so a string may pass javascript validation but fail java validation, solution validate on a copy of the string with all \n's replaced with 2 characters to simulate the java length getById(elementName).innerHTML = value.length; } function trim(str) { str = new String(str); return str.replace(/^\s+/,'').replace(/\s+$/,''); } function submitForm(form, action) { form.action = action; form.submit(); } var gOnload = new Array(); function addOnload(f) {
if (window.onload) { if (window.onload != runOnload) { gOnload[0] = window.onload; window.onload = runOnload; } gOnload[gOnload.length] = f; } else window.onload = f; } function runOnload() { for (var i=0;i<gOnload.length;i++) gOnload[i](); } function checkEmail(emailStr) { var emailPat=/^(.+)@(.+)$/; var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]!%"; var validChars="\[^\\s" + specialChars + "\]"; var quotedUser="(\"[^\"]*\")"; var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/; var atom=validChars + '+'; var word="(" + atom + "|" + quotedUser + ")"; var userPat=new RegExp("^" + word + "(\\." + word + ")*$"); var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
var matchArray=emailStr.match(emailPat);
if (matchArray==null) { return false; } var user=matchArray[1]; var domain=matchArray[2]; for (i=0; i<user.length; i++) { if (user.charCodeAt(i)>127) { return false; } } for (i=0; i<domain.length; i++) { if (domain.charCodeAt(i)>127) { return false; } } if (user.match(userPat)==null) { return false; }
var IPArray=domain.match(ipDomainPat); if (IPArray!=null) { for (var i=1;i<=4;i++) { if (IPArray[i]>255) { return false; } } return true; }
var atomPat=new RegExp("^" + atom + "$"); var domArr=domain.split("."); var len=domArr.length; for (i=0;i<len;i++) { if (domArr[i].search(atomPat)==-1) { return false; } } if (domArr[len-1].length < 2) { return false; } if (len<2) { return false; } /*mask=/^(root|abuse|webmaster|help|postmaster|sales|resumes|contact|advertising|spam|spamtrap|nospam|noc|admin|support|daemon|listserve|listserver|autoreply)@/i; if (mask.test(emailStr.toLowerCase())) { return false; }*/
return true; } function updateDay(change,formName,yearName,monthName,dayName) { var form = document.forms[formName]; var yearSelect = form[yearName]; var monthSelect = form[monthName]; var daySelect = form[dayName]; var year = yearSelect[yearSelect.selectedIndex].value; var month = monthSelect[monthSelect.selectedIndex].value; var day = daySelect[daySelect.selectedIndex].value;
if (change == 'month' || (change == 'year' && month == 2)) { var i = 31; var flag = true; while(flag) { var date = new Date(year,month-1,i); if (date.getMonth() == month - 1) { flag = false; } else { i = i - 1; } }
daySelect.length = 0; daySelect.length = i; var j = 0; while(j < i) { daySelect[j] = new Option(j+1,j+1); j = j + 1; } if (day <= i) { daySelect.selectedIndex = day - 1; } else { daySelect.selectedIndex = daySelect.length - 1; } } } function checkedCount(field) { var checked = 0;
if (field != null) { if (field.length == null) { if (field.checked == true) { checked++; } } else { for (var i = 0 ; i < field.length ; i++) { if (field[i].checked == true) { checked++; } } } }
return checked; } function isChecked(field) { if (checkedCount(field) == 0) { return false; } return true; } function isOneChecked(field) { if (checkedCount(field) == 1) { return true; } return false; }
Jeg ved ikke om MASK er et javascript api du bruger. Men der burde være noget javascript bagved i stil med match(). Kan du finder ud af det nogen steder?
Synes godt om
Ny brugerNybegynder
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.