سؤال

لدي بيان بسيط إذا كان هذا صحيحا، إذا كان هذا صحيحا، أود أن صدى هذا المحتوى:

<div id="login">
  <h2>Login</h2>
  <div class="box">
    <form method="POST" action="index.php/login">
      Username/Email:<br />
      <input type="text" name="username" value="<?php echo set_value("username"); ?>" size="50" class="form" />
      <?php echo form_error("username"); ?>
      Password:<br />
      <input type="password" name="password" value="<?php echo set_value("password"); ?>" size="50" class="form" />
      <?php echo form_error("password"); ?>
      <input type="submit" value="Login" name="login" />
    </form>
  </div>
</div>

وإذا كان false القيام بشيء مماثل.

كيف يمكنني الاقتراب من هذا؟ أنا مستجد php (وقد كنت مزعج المجتمع هنا!) - لذلك أنا أقف في وظيفة الصدى الآن - أعتقد أنني أستطيع تعيين المتغيرات، ولكن هذا عن ذلك.

شكرا جزيلا!

هل كانت مفيدة؟

المحلول

نفس الشيء كما كنت تفعل:


<?php
if some_condition
{
?>
    <p> I am inside the true condition due : <?php echo "true on condition" ?> </p>
<?
}
else
{
?>
    <p> I am inside the false condition due : <?php echo "false on condition" ?> </p>
<?
}
?>

نصائح أخرى

يمكنك ببساطة الخروج من PHP في عبارة IF / ELESS.

if(true)
{
    ?>
    Regular HTML Here
    <?php
}
else
{
    ?>
    Regular HTML Here
    <?php
}

يمكنك الخروج من PHP في أي وقت باستخدام المشغل "؟>"، ومع أي بنية التحكم، يجب أن يظهر التعليمات البرمجية تماما كما لو كنت. سيكون هناك خيار آخر لاستخدام التخزين المؤقت للناتج.

if(true)
    {
        ob_start();

        ?>
        Regular Code Here
        <?php

        $contents = ob_get_contents();
        ob_end_clean();
    }

سيغادر هذا محتويات ما ينخرف بين البداية والنهاية في محتويات $.

أخيرا، يمكنك استخدام تشمل () لتشمل فقط نموذج تسجيل الدخول الخاص بك فقط عند الحاجة إليها بالفعل. (أفضل هذه الطريقة لأنني أستطيع وضع أشكال تسجيل الدخول في أي مكان تقريبا على الموقع بسهولة جدا)

if(true)
{
    include('loginform.php');
}
<?php if ($condition) { ?>

    <div id="login">
      <h2>Login</h2>
      <div class="box">
        <form method="POST" action="index.php/login">
          Username/Email:<br />
          <input type="text" name="username" value="<?php echo set_value("username"); ?>" size="50" class="form" />
          <?php echo form_error("username"); ?>
          Password:<br />
          <input type="password" name="password" value="<?php echo set_value("password"); ?>" size="50" class="form" />
          <?php echo form_error("password"); ?>
          <input type="submit" value="Login" name="login" />
        </form>
      </div>
    </div>

<?php } else { ?>

    other html here

<?php } ?>

مجرد اقتراح؛ للحصول على قابلية القراءة وسهولة المرونة، من الأفضل وضع ما تريد عرضه داخل متغير أولا.

$html = "<form method='post' action='?'> ...... ";

if ($condition)
   $html .= "Error"
else
   $html .= "No problem"
....

<html>
  <body>
    <?php
      echo $html;
    ?>
   </body>
</html>

أو يمكنك استخدام قالب. واحد الذي أوصي به هو easytemplate..

هناك شكل من أشكال PHP مشروطة من أسهل إلى حد ما لقراءة هذا الأمر، ويستخدم تدوين القولون بدلا من

<?php if ($condition) { ?>
...html
<?php } else { ?>
...html
<?php } endif; ?>

أنت تفعل

<?php if ($condition) : ?>
...html
<?php else : ?>
...html
<?php endif; ?>

أيضا إذا سمح التكوين الخاص بك، يمكنك الاختزال

<?= $variable ?>

بدلاً من

<?php echo($variable); ?>

التسرب من PHP هو أسهل طريقة للقيام بذلك. أجد أن استخدام هياكل التحكم البديلة يجعل هذا النوع من التعليمات البرمجية أكثر قابلية للقراءة أكثر من الأقواس المجعد التي تقطعت بهم السبل، خاصة إذا كان لديك الكثير من HTML.

<?php if (!$logged_in): ?>

    <div id="login">
      <h2>Login</h2>
      <div class="box">
        <form method="POST" action="index.php/login">
          Username/Email:<br />
          <input type="text" name="username" value="<?php echo set_value("username"); ?>" size="50" class="form" />
          <?php echo form_error("username"); ?>
          Password:<br />
          <input type="password" name="password" value="<?php echo set_value("password"); ?>" size="50" class="form" />
          <?php echo form_error("password"); ?>
          <input type="submit" value="Login" name="login" />
        </form>
      </div>
    </div>

<?php else: ?>

    // display html for a logged-in user

<?php endif; ?>

استخدام شيء مثل هذا

صدى htmlentities (سلسلة $)؛

htmlentIations.

اضبط السلسلة على رمز HTML الذي تريد إخراجه.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top