anpera.net https://anpera.homeip.net/phpbb3/ |
|
Zeichenbegrenzung für Post https://anpera.homeip.net/phpbb3/viewtopic.php?f=34&t=3432 |
Seite 1 von 2 |
Autor: | Erinyen [ Mo 05 Mär, 2007 21:43 ] |
Betreff des Beitrags: | Zeichenbegrenzung für Post |
Ich nochmal, hab noch ein weiteres Anliegen, ich würde gerne eine Bedingung einfügen, dass man nur einen Post machen kann, wenn der so und soviel zeichen hat... wo und was füg ich in die addcommentary ein? [php]function addcommentary() { global $HTTP_POST_VARS,$session,$REQUEST_URI,$HTTP_GET_VARS,$doublepost; $doublepost=0; $section=$HTTP_POST_VARS['section']; $talkline=$HTTP_POST_VARS['talkline']; if ($HTTP_POST_VARS[insertcommentary][$section]!==NULL && trim($HTTP_POST_VARS[insertcommentary][$section])!="") { $commentary = str_replace("`n","",soap($HTTP_POST_VARS[insertcommentary][$section])); $y = strlen($commentary); for ($x=0;$x<$y;$x++){ if (substr($commentary,$x,1)=="`"){ $colorcount++; if ($colorcount>=getsetting("maxcolors",10)){ $commentary = substr($commentary,0,$x).preg_replace("'[`].'","",substr($commentary,$x)); $x=$y; } $x++; } }[/php] danke schomal für die hilfe |
Autor: | Leen [ Mo 05 Mär, 2007 22:03 ] |
Betreff des Beitrags: | |
Eher in der viewcommentary, da ist ja bereits eine Begrenzung für die Max-Länge, ich denke wenn man das etwas umschreibt könnte man da auch eine Min-Länge festlegen Bei mir sieht der Teil so aus: [php]output("<form action=\"$REQUEST_URI\" method='POST'> `@$message`n <input name='insertcommentary[$section]' size='40' maxlength='".(1000-$tll)."'> <input type='hidden' name='talkline' value='$talkline'> <input type='hidden' name='section' value='$section'> <input type='submit' class='button' value='Hinzufügen'> `n".(round($limit/2,0)-$counttoday<3?"`)(Du hast noch ".(round($limit/2,0)-$counttoday)." Beiträge für heute übrig)":"")."`0`n /form>",true); [/php] |
Autor: | Erinyen [ Di 06 Mär, 2007 07:47 ] |
Betreff des Beitrags: | |
hmm... aber der ausschnitt würde ja bedeuten, dass die anzahl der beiträge begrenzt ist. wir wollen aber diese halbzeiler verhindern und deswegen eine mindestlänge der posts vorgeben ![]() |
Autor: | Harthas [ Di 06 Mär, 2007 08:11 ] |
Betreff des Beitrags: | |
addcommentary() und viewcommentary(): [php]global $session,$REQUEST_URI,$doublepost;[/php] [php]global $session,$REQUEST_URI, $doublepost,$appoencode_str;[/php] Nach dem $doublepost jeweils ein $shortpost reinschieben ;-) addcommentary(): Nach: [php]$doublepost=0;[/php] Füge ein: [php]$shortpost = 0; $laenge = 50;[/php] Ersetze folgendes: [php]if ($row['comment']!=stripslashes($commentary) || $row['author']!=$session['user']['acctid']) { $sql = "INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'$section',".$session[user][acctid].",\"$commentary\")"; db_query($sql) or die(db_error(LINK)); return true; } else { $doublepost = 1; }[/php] Durch dies: [php]if (($row['comment']!=stripslashes($commentary) || $row['author']!=$session['user']['acctid']) && strlen($commentary)>$laenge) { $sql = "INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'$section',".$session[user][acctid].",\"$commentary\")"; db_query($sql) or die(db_error(LINK)); return true; } elseif (strlen($commentary)<$laenge) { $shortpost = 1; } else { $doublepost = 1; }[/php] viewcommentary(): Nach folgendem: [php]if ($doublepost) output("`\$`bDoppelpost?`b`0`n");[/php] Füge ein: [php]if ($shortpost) output("`\$`b!!Beitrag zu kurz!! Du brauchst mindestens $laenge Zeichen`b`0`n");[/php] Man kann es sicherlich auch noch anders lösen, doch war mir grad nur dieser Lösungsweg präsent. Mit $laenge kann die benötigte Länge des Beitrages angegeben werden (Wie viele Zeichen das Minimum sind). |
Autor: | Kevz [ Di 06 Mär, 2007 09:08 ] |
Betreff des Beitrags: | |
AJAX *lach*, nein scherz. Wäre zwar nicht sooo aufwendig, aber man könnte genauso gut dort Session- Variablen setzen. Also dürfte es keine Probleme geben, falls JavaScript Deaktiviert ist. Am besten im zusatz mit <NoScript></NoScript> nutzen. €dit: Uhhh, mein 2400 Post hier =). *lach* Geht doch ^.^, lange genug für gedauert. |
Autor: | Erinyen [ Di 06 Mär, 2007 09:11 ] |
Betreff des Beitrags: | |
ihr seid total super, danke ![]() |
Autor: | Kevz [ Di 06 Mär, 2007 09:12 ] |
Betreff des Beitrags: | |
Immer wieder gerngeschehen ![]() |
Autor: | Erinyen [ Di 06 Mär, 2007 09:17 ] |
Betreff des Beitrags: | |
glei nochmal ne kurze frage: kann ich den ooc und die grotte davon ausschließen? |
Autor: | Kevz [ Di 06 Mär, 2007 09:21 ] |
Betreff des Beitrags: | |
Jaein, du könntest es mit einer Funktion machen. Das wäre noch möglich..., oder halt mit einer Konstanten Definierung usw., aber ich wäre ehr für ein weiteres Funktions Parameter. |
Autor: | Erinyen [ Di 06 Mär, 2007 09:23 ] |
Betreff des Beitrags: | |
*dummchen is und nit gut php kann* wie sähe das denn aus? als das mit function bla bla gell? |
Autor: | Harthas [ Di 06 Mär, 2007 09:25 ] |
Betreff des Beitrags: | |
Jupp. Wäre so wohl am einfachsten. Man könnte natürlich auch einfach die Sektionen ausschliessen (Im Skript) aber das mit dem zusätzlichen Parameter erscheint mir einfacher... |
Autor: | Erinyen [ Di 06 Mär, 2007 09:29 ] |
Betreff des Beitrags: | |
wärs möglich mit nem beispiel? ![]() |
Autor: | Harthas [ Di 06 Mär, 2007 09:33 ] |
Betreff des Beitrags: | |
[php]if ($short) { if (($row['comment']!=stripslashes($commentary) || $row['author']!=$session['user']['acctid']) && strlen($commentary)>$laenge) { $sql = "INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'$section',".$session[user][acctid].",\"$commentary\")"; db_query($sql) or die(db_error(LINK)); return true; } elseif (strlen($commentary)<$laenge) { $shortpost = 1; } else { $doublepost = 1; } } else { if ($row['comment']!=stripslashes($commentary) || $row['author']!=$session['user']['acctid']) { $sql = "INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'$section',".$session[user][acctid].",\"$commentary\")"; db_query($sql) or die(db_error(LINK)); return true; } else { $doublepost = 1; } }[/php] [php]function addcommentary($short="TRUE") { [/php] Ich glaube, dass es ungefähr so wäre... *gr¨bel* |
Autor: | Erinyen [ Di 06 Mär, 2007 09:34 ] |
Betreff des Beitrags: | |
hmm und wo geb ich an, welche orte ausgeschlossen sind? ![]() |
Autor: | Harthas [ Di 06 Mär, 2007 09:36 ] |
Betreff des Beitrags: | |
Indem du dort wo es ausgeschlossen sein soll, einfach anstatt nur addcommentary(), addcommentary($short="FALSE") nimmst. Musste mich allerdings etwas verbessern. So sollte es eher klappen ;-) |
Autor: | Erinyen [ Di 06 Mär, 2007 09:50 ] |
Betreff des Beitrags: | |
so jetzt wirds für mich schon schwierig: in welchen dateien muss ich das für häuser und gilden einfügen? also das addcommentary($short="FALSE") ach und es funzt leider nit, wenn ich nur das einfüg ![]() |
Autor: | Harthas [ Di 06 Mär, 2007 09:53 ] |
Betreff des Beitrags: | |
Bei den Häusern wirds wohl die houses.php sein. Such einfach mal nach addcommentary() und ersetz dieses durch das andere. Falls ihr Chaosmakers Wohnviertel verwendet, dann solltest du wohl auch noch die betreffenden Module durchsuchen müssen... Für die Gilden... Hmm... Musst einfach alle Gilden-Dateien durchsuchen... Wäre das beste ^^' |
Autor: | Erinyen [ Di 06 Mär, 2007 09:59 ] |
Betreff des Beitrags: | |
ja aber das mit der funktion addcommentary($short="FALSE"); funzt nit ![]() |
Autor: | Harthas [ Di 06 Mär, 2007 09:59 ] |
Betreff des Beitrags: | |
Die Beschränkung ist immer noch vorhanden? Wo hast du es überall getestet? Und kontrollier mal, ob du wirklich genau die Veränderungen in der common.php hast, die ich gepostet habe... Musste sie noch etwas verändern vorhin. |
Autor: | Erinyen [ Di 06 Mär, 2007 10:16 ] |
Betreff des Beitrags: | |
bei der stelle [php]if ($short) { if (($row['comment']!=stripslashes($commentary) || $row['author']!=$session['user']['acctid']) && strlen($commentary)>$laenge) { $sql = "INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'$section',".$session[user][acctid].",\"$commentary\")"; db_query($sql) or die(db_error(LINK)); return true; } if (strlen($commentary)<$laenge) { $shortpost = 1; } else { $doublepost = 1; } } else{ if ($row['comment']!=stripslashes($commentary) || $row['author']!=$session['user']['acctid']) { $sql = "INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'$section',".$session[user][acctid].",\"$commentary\")"; db_query($sql) or die(db_error(LINK)); return true; } else { $doublepost = 1; } } return false; }[/php] gibt er folgenden fehler aus Parse error: parse error, unexpected $ in /var/www/fargoth.de/public_html/common.php on line 3390 |
Seite 1 von 2 | Alle Zeiten sind UTC + 1 Stunde |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |