2010-07-09 3 views
1

Я не являюсь парнем PHP и очень хотел бы увидеть, что выглядит ниже PHP-скрипт в ASP.NET (я работаю в 3.5, но все, что меня запускает, будет замечательно). Я попытался загрузить помощника по миграции Microsoft, но у меня возникли трудности запустив его на моей машине. Любые добрые души готовы перевести это для меня?PHP Script To ASP.NET (3.5)

<?php 
include('dbcon.php'); 

if($_REQUEST['comment_text'] && $_REQUEST['post_id']) 
{ 
    $userip = $_SERVER['REMOTE_ADDR']; 

    mysql_query("INSERT INTO facebook_posts_comments (post_id,comments,userip,date_created) VALUES('".$_REQUEST['post_id']."','".$_REQUEST['comment_text']."','".$userip."','".strtotime(date("Y-m-d H:i:s"))."')"); 

    $result = mysql_query("SELECT *, 
    UNIX_TIMESTAMP() - date_created AS CommentTimeSpent FROM facebook_posts_comments order by c_id desc limit 1"); 
} 

while ($rows = mysql_fetch_array($result)) 
{ 
    $days2 = floor($rows['CommentTimeSpent']/(60 * 60 * 24)); 
    $remainder = $rows['CommentTimeSpent'] % (60 * 60 * 24); 
    $hours = floor($remainder/(60 * 60)); 
    $remainder = $remainder % (60 * 60); 
    $minutes = floor($remainder/60); 
    $seconds = $remainder % 60; ?> 
    <div class="commentPanel" id="record-<?php echo $rows['c_id'];?>" align="left"> 
     <img src="small.png" width="40" class="CommentImg" style="float:left;" alt="" /> 
     <label class="postedComments"> 
      <?php echo $rows['comments'];?> 
     </label> 
     <br clear="all" /> 

     <span style="margin-left:43px; color:#666666; font-size:11px"> 
     <?php 

     if($days2 > 0) 
     echo date('F d Y', $rows['date_created']); 
     elseif($days2 == 0 && $hours == 0 && $minutes == 0) 
     echo "few seconds ago";  
     elseif($days2 == 0 && $hours == 0) 
     echo $minutes.' minutes ago'; 
     else 
     echo "few seconds ago"; 

     ?> 
     </span> 

     <?php 
     $userip = $_SERVER['REMOTE_ADDR']; 
     if($rows['userip'] == $userip){?> 
     &nbsp;&nbsp;<a href="#" id="CID-<?php echo $rows['c_id'];?>" class="c_delete">Delete</a> 
     <?php 
     }?> 
    </div> 
<?php 
}?> 
+0

@Anax - это что необходимо? –

+0

Это спорно, но я считаю, что лучше не спорить :) – David

+0

Ваш вопрос «Любая добрая душа там готовы преобразовать это для меня?» который, как я считаю, прекрасно объясняет использование тега do-my-work. По сути, вы хотите, чтобы сообщество SO выполняло вашу работу. У вас нет заданного вопроса PHP, вы просто не хотите изучать язык. – Anax

ответ

4

Мне просто нравятся вопросы, которые выставляют SQL injection vulnerabilities.

mysql_query("INSERT INTO facebook_posts_comments 
      (post_id,comments,userip,date_created) 
     VALUES('".$_REQUEST['post_id']."','".$_REQUEST['comment_text']."','".$userip."','".strtotime(date("Y-m-d H:i:s"))."')"); 
       ^SQL Injection!   ^SQL Injection! 
+1

wow, где вы даже начинаете с этого вопроса .. использование '$ _REQUEST', неанитированный ввод – robjmills

+0

Он может дезинфицировать с помощью foreach в массиве запросов, прежде чем попасть сюда? – dmp

+1

На самом деле, присмотревшись, сомневайтесь в этом: D – dmp

2

Если вы ищете прямое линейное преобразование, вы определенно не найдете его здесь. В этом есть много чего нужно, и просто портировать его на .NET потребует написания кода таким образом, чтобы никто не хотел отвечать за :)

Вы много лучше отделить из различных функциональных возможностей, происходящих там, и включение каждой части в ее надлежащий контекст в .NET (также, вы говорите о веб-формах или MVC? имеет большое значение в преобразовании этого кода). Теперь, основываясь на тексте вашего вопроса, похоже, что вы : знакомы с .NET и не знакомы с PHP, и вы просто пытаетесь узнать, что это делает? Или вы тоже не знакомы? Это немного неясно.

Если вы просто пытаетесь выяснить, что делает этот код, с чем конкретно вы столкнулись? Сбор переменной запроса? Взаимодействие базы данных? Вся глупая математика даты/времени?

+0

Спасибо Дэвиду. Я могу понять всю очевидную математику преобразования. То, что я не знаком с (как вы заметили), - это весь синтаксис PHP. Я очень хорошо знаком с .NET и совершенно не знаком с PHP. С этой целью в проекте, над которым я работаю, используется веб-формы (a la Domain Driven Design). Еще раз спасибо. –

+0

У вас есть какие-либо конкретные вопросы о синтаксисе? Честно говоря, это действительно очень широкий для этого сайта. Блоки кода заключены в? скобки, переменные начинаются с $, $ _REQUEST и $ _SERVER, являются встроенными (например, Request and Server в .NET) и т. д.Остальное кажется достаточно похожим на синтаксис C-стиля для чтения. Или, когда вы говорите, что .NET, вы конкретно называете VB? – David

+0

Кроме того, встроенный код/​​HTML-тэп отключает вас? Поскольку вы используете веб-формы, вы просто не можете быть знакомы с этим стилем. Если это так, я очень рекомендую некоторое свободное время в ASP.NET-реализации MVC. На самом деле, это может вас заинтересовать (и, возможно, ваша компания): http://mvcconf.com/ – David