-4

PHPでおっとするのは初めてです。これは私の最初のおっとプログラムです。このプログラムは非常に基本的なものですが (フォーム プログラム)、何をしなければならないのかわかりません。これが初心者の質問である場合は申し訳ありませんが、私はこれが初めてです。解析エラーとしてエラーが発生しています:構文エラー、予期しない T_VARIABLE、34 行目の /ni.class.php で T_FUNCTION を期待しています line34:$str=$ab->startform('#','post','myform'). '

'。

              <?php
    class ni
    {

    function startForm($action='#',$method='post',$id=NULL)
    {
    $str="<form><action =\"$action\" method=\"$method\"";

            if(isset($id))
            {
            $str.="id =\"$id\">";
            }
    return $str;
    }

        function addlabel($id,$text)
        {

        $str= "<label id=\"$id\">$text hello </label>";
        return $str;
        }

    function addInput($type,$name,$value)
    {
    $str="<input type=\"$type\" name=\"$name\" value=\"$value\"\>";
    return $str;
    }

        function endForm()
        {
        return "</form>";
        }

         $ab=new ni();
         $str=$ab->startform('#','post','myform').'<p>'.
                       addlabel('label','amtext')
                     .addinput('text','input1','value1').'</p>';
         echo $str;
         $ab->endform();



    }

    ?>          
4

2 に答える 2

2

これを動かさなきゃ

$ab=new ni();
$str=$ab->startform('#','post','myform').'<p>'.
addlabel('label','amtext')
.addinput('text','input1','value1').'</p>';
echo $str;
$ab->endform();

niクラス外


基本的にはこのように

class ni {
  function startForm() { ... }
  function addLabel() { ... }
  function addInput() { ... }
  function endForm() { ... } 
}

$ab=new ni();
$str=$ab->startform('#','post','myform').'<p>'.
addlabel('label','amtext')
.addinput('text','input1','value1').'</p>';
echo $str;
$ab->endform();

より一般的には、クラスは再利用可能であるため、複数のファイルに分割されていることがわかります。

// classes/ni.php

class ni {
  function startForm() { ... }
  function addLabel() { ... }
  function addInput() { ... }
  function endForm() { ... } 
}

// somefile.php
require('classes/ni.php');
$ab=new ni();
$str=$ab->startform('#','post','myform').'<p>'.
addlabel('label','amtext')
.addinput('text','input1','value1').'</p>';
echo $str;
$ab->endform();

最終的な推奨事項として、使用方法を次のように変更します

$ab = new ni();
<?php echo $ab->startform('#', 'post', 'myform') ?>
<p>
  <?php echo $ab->addLabel('label', 'amtext') ?>
  <?php echo $ab->addInput('text', 'input1', 'value1') ?>
</p>
<?php echo $ab->endForm() ?>
于 2012-12-29T07:16:28.463 に答える
0

構文エラーがあります。修正されたスクリプトは次のようになります。

<?php class ni {

    function startForm($action = '#', $method = 'post', $id = NULL) {
        $str = "<form><action =\"$action\" method=\"$method\"";

        if (isset($id)) {
            $str .= "id =\"$id\">";
        }
        return $str;
    }

    function addlabel($id, $text) {

        $str = "<label id=\"$id\">$text hello </label>";
        return $str;
    }

    function addInput($type, $name, $value) {
        $str = "<input type=\"$type\" name=\"$name\" value=\"$value\"\>";
        return $str;
    }

    function endForm() {
        return "</form>";
    }

}

$ab = new ni(); $str = $ab -> startform('#', 'post', 'myform') . '<p>'
. addlabel('label', 'amtext') . addinput('text', 'input1', 'value1') .
'</p>'; echo $str; $ab -> endform();

?>
于 2012-12-29T07:16:17.087 に答える