2015-05-03 3 views
0

У меня возникла проблема с отправкой только одной из форм на моем сайте.
Формы создаются динамически через петлю foreach.Отправлять только одну форму из цикла foreach

Каждый раз, когда я отправляю одну форму, она отправляет все из них, поэтому, если есть 10 сообщений, у них есть форма ответа, каждая из которых вставлена ​​в базу данных.

<div id="newsFeed"> 

<div class='newsBox'> 
    <div class="newsProfileInfo"> 
     <div class="newsProfileImg"> 
      <img src="<?php echo $path, $res->profileImage;?>" alt="<?php echo $name; ?>"> 
     </div><!--newsProfileInfo ends here--> 


     <div class="newsName"> 
      <p> 
       <?php echo $res->name." ".$res->surname;?> 
      </p> 
     </div><!--newsName--> 

    </div><!--newsProfileInfo ends here--> 


    <div class="newPost"> 
     <form action='' method='post'> 

      <textarea name="newPost" placeholder="Opret nyt indlæg"></textarea> 

      <input type="submit" name="postSubmit" value="Opret"> 
     </form> 
    </div> 

<?php 
    $data = newsFeed($db); 

    foreach($data as $news){ 

     $newsId  = $news['newsId']; 
     $headline = $news['headline']; 
     $post  = $news['post']; 
     $date  = $news['postDate']; 
     $dates  = date_create($date); 

     $name  = $news['name']; 
     $surname = $news['surname']; 
     $profileImg = $news['profileImage']; 

     $path = "images/profileImages/"; 

?>

<div class="newsProfileInfo"> 
    <div class="newsProfileImg"> 
     <img src="<?php echo $path, $profileImg;?>" alt="<?php echo $name; ?>"> 
    </div><!--newsProfileInfo ends here--> 

    <div class="newsName"> 
     <p><a href=""><?php echo substr($name ." ". $surname, 0,11);?></a></p> 
    </div><!--newsName--> 

    <p class="postDate"> 
     <?php echo date_format($dates, 'd/m/Y') ." - ".date_format($dates,'H:i');?> 
    </p> 

</div><!--newsProfileInfo ends here--> 


<div class="newsPost"> 
    <p> 
     <?php echo $post;?> 
    </p> 
</div> 



<?php 
    $reply = replyToPost($db,$newsId); 

    foreach($reply as $msg){ 


     $replyId = $msg['replyId']; 
     $message = $msg['message']; 
     $news_fk = $msg['newsId_fk']; 
     $userId_fk = $msg['userId_fk']; 
     $date  = $msg['date']; 
     $name  = $msg['name']; 
     $surname = $msg['surname']; 
     $profileImg = $msg['profileImage']; 

     $path = "images/profileImages/"; 
?> 

<div class="replysLoop"> 
    <div class="replyImg"> 
     <img src="<?php echo $path, $profileImg;?>" alt="<?php echo $name;?>"> 
    </div> 

    <div class="replysBoxes"> 
     <p><?php echo $message;?></p> 
    </div><!--replysBoxes ends here--> 


</div><!--replysLoop ends here--> 

<?php 
    } 
?> 

<div class="replyToMsg"> 

    <div class="replyImg"> 
     <img src="<?php echo $path, $res->profileImage;?>" alt="<?php echo $res->name; ?>"> 
    </div> 

    <?php 
    if(isset($_POST['replySubmit'])){ 
     insertReply($db,$newsId); 
     header('Location: index.php'); 
    } 
    ?> 

    <div class="inputHolder"> 
     <form action="" method="post"> 
      <input type="text" name="replys" placeholder="Besvar indlæg"> 
      <input type="submit" name="replySubmit" value="Besvar"> 
     </form> 
    </div> 

</div> 

</div><!--newsbox ends here--> 
<?php     
     }//foreach loop newsfeed ends here 
    ?> 

+0

это не те полный код? показать скриншот всех ваших форм, а также попытаться поместить свой код и устранить проблему? –

+0

Ваш вопрос непонятен. пожалуйста, опишите это четко. –

ответ

1

Насколько мне известно об отправке кнопка будет отправлять только форму, в которой она находится. На самом деле очень сложно представить более одной формы за раз.

Я подозреваю, что проблема заключается в том, что форма отправляет ответ и что он не связан с текущим комментарием и заканчивается тем, что он добавляется ко всем из них.

Я предлагаю вам начать с чем-то вроде этого:

<?php 
//... something that results in this post setting `$postid` 
?> 
<div class="reply"> 
    <form action="" method="post"> 
     <input type="hidden" name="replyToPostID" value="<?php echo $postid; ?>"> 
     <input type="text" name="replyToPost" placeholder="Besvar indlæg"> 
     <input type="submit"> 
    </form> 
</div> 

Тогда ваш PHP может сделать SQL, что Pins комментарий к одному родительскому комментарий. Конечно, вы заставляете меня угадывать, потому что нет никакого способа опубликовать весь код.

+1

Привет, что сработало спасибо. Нет полного кода, который я действительно долго думал, поэтому я пощадил бы вас всех за полный. + у него много функций, которые не были важны для проблемы. Но спасибо – user3426191

+0

Нет проблем. Вы дали мне достаточно информации, чтобы получить хорошую оценку того, что происходит. –

+0

Отлично. но он по-прежнему вставляет комментарий столько раз, сколько отображаются формы – user3426191

Смежные вопросы