سؤال

أحاول ترميز صفحة منشور تحريرية لموقعي والتي تنشر على نفسها باستخدام تسجيل دخول google openid، ومع ذلك أحصل على صفحة فارغة، بدلاً من نموذج التعديل.إليك الرمز الذي أستخدمه:

<html>
  <head>
    <title>BQuotes</title>
    <!-- <meta name="viewport" content="width=device-width, initial-scale=1"> -->
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
    <link href="votingfiles/voting.css" rel="stylesheet" type="text/css" />
    <script src="votingfiles/voting.js" type="text/javascript"></script>
    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.2/jquery.mobile-1.4.2.min.css" />
    <link rel="stylesheet" type="text/css" href="http://bquotes.me/mystyle-a.css">
    <script src="http://code.jquery.com/jquery-1.10.0.min.js"></script>
    <script src="http://code.jquery.com/mobile/1.4.2/jquery.mobile-1.4.2.min.js"></script>
    <style>
      .head_text {
        color: #ffffff;
      }
      a {
        text-decoration: none;
      }
    </style>

    <script type="text/javascript">
      $('#g-login').bind('click', function (event) {
        // event.preventDefault();
        // $('#form-id').attr('action', 'google-login.php').trigger('submit');
        alert("Clicked");
      });
    </script>
  </head>
  <body style="color:#d4ffaa">


    <!-- BQ Edit Post Start -->
    <div data-role="page" id="editPost">
      <div data-role="header" style="background-color:#5FBF00">
        <h1 class="head_text">BQuotes: Edit Statuses</h1>
      </div>
      <div data-role="main" class="ui-content">

        <?php





          ?>


      </div>



         <?php
          define ('HOSTNAME', 'host');
          define ('USERNAME', 'user');
          define ('PASSWORD', 'pass');
          define ('DATABASE_NAME', 'db');

          $db = mysql_connect(HOSTNAME, USERNAME, PASSWORD) or die ('I cannot connect to MySQL.');

          mysql_select_db(DATABASE_NAME);

          $tbl='table';
          $id=$_POST['pid'];

          $query="SELECT * from $tbl WHERE $id=id";
          $result = mysql_query($query);

          while($row = mysql_fetch_array($result)) {
          $id=$row['id'];
          $username=$row['username'];
          $message=$row['message'];
          $tag=$row['tag'];



         session_start();
              if($_SESSION['myusername'] != null &&  isset($_SESSION['myusername'])){
              echo "<form action='logout.php' method='post' id ='form-logout' data-ajax='false'>
                    <br/><input type='submit' value='Logout'/>";
              echo "</form>";
              echo "<div style='margin-left:20px;'>Logged In As:  ".$_SESSION['myusername']."</div>";

             echo "<form name='post-edit' action='' method='post'>";
             echo "<input type='hidden' name='id' value=".$row['id'].">";
             echo "<input type='hidden' name='username' value=".$row['username'].">";
             echo "<textarea name='message' value=".$row['message'].">";
             echo "<input type='text' name='tag' value=".$row['tag'].">";
             echo "<input type='submit' name='submit' value='Edit!'>";
             echo "</form>";

              }
            else if($_SESSION['myusername'] == null){
              echo "<form action='google-login.php?login=true' method='post' id ='form-id' data-ajax='false'>";    
                 echo "<span class='loginreq'>Login to Edit</span>";           
                echo "<br/><input type='submit' value='Login with Google'/>";
                echo "</form>";
            }
            }



          if (isset($_POST['submit'])) {

          $query = "UPDATE mybq_post_txt_main SET message=$message, tag=$tag WHERE id=$id ";

          $result = mysql_query($query);

          while ($row = mysql_fetch_array($result)) {

          echo "Your post has been edited to:";<br>
          echo $row['message'];
          echo $row['tag'];
          }

          mysql_free_result($result);
          mysql_close();

          }

        ?>



        <a href='mybq-index.php'>Home</a>


      </div>


  </body>
</html>

سيكون موضع تقدير أي مساعدة.(ناهيك عن عبارات PHP SQL، سأقوم بتحويلها إلى PDO لاحقًا).

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

المحلول 4

هنا هو الكود الذي نجح (الرمز الكامل الموجود أسفل المقتطف).كان الخطأ الأولي هو فاصل الأسطر ( <br> ) بعد "تم تحرير مشاركتك إلى:" والتي لم يتم تنسيقها بشكل صحيح لـ php.كانت الأخطاء الأخرى تتعلق بالمتغير $_GET بشكل صحيح، واسم جدول خاطئ، وتكرار خاطئ لشرط "while" الأولي.

شكرًا!

نصائح أخرى

giveacodicetagpre. يجب أن تكون

giveacodicetagpre.

(I.E.E. الوجه حول "المعرف" لوضع عمود SQL أولا و PHP متغير الخاص بك)

غير متأكد إذا كان ذلك سيصلح كل شيء، لكن هذا هو أول شيء قفز في وجهي.

أنا متأكد من أنك تريد أن تظهر نموذج تسجيل الدخول على الأقل إذا لم تقم بتسجيل الدخول حتى الآن.إذا كان الأمر كذلك، تغيير:

giveacodicetagpre.

إلى هذا:

giveacodicetagpre.

أنا أفترض أن الاستعلام مخصص فقط للإرجاع إما 1 أو 0 صفوف، لذلك لا حاجة لحلقة على أي حال.

لدي إغلاق استعمار REM'd لتوضيح أنه يجب إخراجه من رمز التشغيل.يمكنك فقط حذفها.

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

حاول نقل session_start () إلى أعلى صفحتك؟تريد عموما استدعاء هذا قبل إرسال أي شيء آخر إلى المتصفح.فوق علامة HTML، ربما.

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