Php 如果字符串中的字符超过160,则显示警告

Php 如果字符串中的字符超过160,则显示警告,php,Php,我想实现一个像twitter这样的更新后系统,用户可以用160个字符更新他们的状态。我想添加一些限制,比如如果用户输入的字符超过160个,那么update_post.php文件必须向他/她显示警告以及HTML del标记中的额外字符(+160)**下面是我的代码,我已经试过了。但它什么也不输出**任何帮助都是非常感谢的!谢谢 sample_update.php <form action="<?php echo $_SERVER['PHP_SELF'];?>"method="po

我想实现一个像twitter这样的更新后系统,用户可以用160个字符更新他们的状态。我想添加一些限制,比如如果用户输入的字符超过160个,那么update_post.php文件必须向他/她显示警告以及HTML del标记中的额外字符(+160)**下面是我的代码,我已经试过了。但它什么也不输出**任何帮助都是非常感谢的!谢谢

sample_update.php

<form action="<?php echo $_SERVER['PHP_SELF'];?>"method="post">
   <textarea name="msg"></textarea>
   <input type="submit"value="Post">
</form>

<?php
  if(strlen($txt)>160) {
      echo "Your post couldn't be submitted as it contains more then 160 chrecters!";
      $txt=$_POST['msg'];
      $checking=substr($txt,160);
      echo "<del style='color:red;'>$checking</del>";
  }
?>

$txt
设置在
语句的内部,如果需要将其移到外部

$txt=$_POST['msg'];

if(strlen($txt)>160)
{
     echo "Your post couldn't be submitted as it contains more then 160 chrecters!";
     $checking=substr($txt,160);
     echo "<del style='color:red;'>$checking</del>";
}
$txt=$\u POST['msg'];
如果(strlen($txt)>160)
{
echo“您的帖子无法提交,因为它包含超过160个chrecter!”;
$checking=substr($txt,160);
回显“$checking”;
}

这应该适合您:

$\u服务器['SELF']
不存在,仅
$\u服务器['PHP\u SELF']
您必须先分配变量,然后才能检查长度)


您应该会收到关于未定义变量的通知。这是
$txt
,从我/我们可以看到,
$txt
是在if循环中定义的。我已经将您的代码修改为最少行,但同样有效

if (isset($_POST['msg'])){
    if (strlen($_POST['msg']) > 160){
        echo "Your post could not be submitted as it contains more than 160 characters!";
        echo "<del style='color:red;'>".substr($_POST['msg'],160)."</del>";
    }

}
if(isset($\u POST['msg'])){
如果(strlen($_POST['msg'])>160){
echo“您的帖子包含160个字符以上,无法提交!”;
回显“.substr($_POST['msg'],160)。”;
}
}

我还将你的$_帖子包装在一个
isset
语句中,它将在做任何其他事情之前检查它是否已设置。。如果未设置任何内容,则代码将不会执行并触发一些恼人的错误消息

首先,您必须使用
$\u SERVER['PHP\u SELF']
而不是
$\u SERVER['SELF']

您可能希望将某些条件向上移动,以便可以将支票用于其他内容。此外,将用户键入的文本插入文本区域是一种很好的做法,因此用户不必再次键入文本



您是否收到任何错误消息/通知?如果没有。我建议打开错误报告&将代码格式化为可读性更强的代码。您的PHP中是否有更多的错误报告,或者仅此而已?您在哪里填写
$txt
变量?你试过只输出
$txt
变量吗?你真的只需要用php完成这个字符长度限制吗?注意:未定义的索引'msg'@AmitThakur顺便说一句:没有人注意到
$\u SERVER['SELF']
甚至不存在!
if (isset($_POST['msg'])){
    if (strlen($_POST['msg']) > 160){
        echo "Your post could not be submitted as it contains more than 160 characters!";
        echo "<del style='color:red;'>".substr($_POST['msg'],160)."</del>";
    }

}