2012-01-05 3 views
0

У меня есть PHP-код для сокращения URL-адреса. Я хочу интегрировать его с CodeIgniter. Как я могу это сделать?
У меня есть 3 страницы: index.php, page.php и файл .htaccess и один файл резервной копии базы данных.интеграция крошечного url с codeigniter

index.php

<?php 
mysql_connect("localhost","root",""); 
mysql_select_db("test"); 

$url=$_GET['url']; 
$url_details=mysql_fetch_array(mysql_query("select * from tinyurls where shorturl like ('".$url."')")); 
if(!empty($url_details)){ 
    header("location: ".$url_details['actualurl']); 
}else{ 
    echo '<h2 style="color:red">Error 404: Page not found</h2>'; 
} 
?> 


page.php

<?php 
if(isset($_POST['url'])){ 
mysql_connect("localhost","root",""); 
mysql_select_db("test"); 

    $exist=mysql_fetch_array(mysql_query("select * from tinyurls where actualurl='".$_POST['url']."'")); 
    if(empty($exist)) 
    { 
     function get_random_word($length=6){ 
      $chars='abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ'; 
      $word=""; 
      for($i=0;$i<$length;$i++){ 
       $word.=substr($chars,rand(1,strlen($chars)),1); 
      } 

      $isexist=mysql_fetch_array(mysql_query("select id from tinyurls where shorturl like ('".$word."')")); 
      if(empty($isexist)){ 
       return $word; 
      }else{ 
       return ""; 
      } 
     } 

     $tiny_word=""; 
     while($tiny_word==""){ 
      $tiny_word=get_random_word(); 
     } 
     mysql_query("insert into tinyurls set shorturl='".$tiny_word."', actualurl='".$_POST['url']."'"); 
    }else{ 
     $tiny_word=$exist['shorturl']; 
    } 
    echo "TinyURL: http://".$_SERVER['SERVER_NAME']."/tinyurl/".$tiny_word."<br/><br/>"; 
} 
?> 
<html> 
    <head><title>Shorten URL</title></head> 
    <body> 
     <form method="post" action=""> 
      Enter the URL:<br/> 
      <input type="text" name="url" style="padding:5px;width:500px"/><br/><br/> 
      <input type="submit" style="padding:5px" value="Shorten URL"> 
     </form> 
    </body> 
</html> 

.htaccess файл

<IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteRule ^p\/(.*)$ page.php?q=$1 [L] 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule ^(.*)$ index.php?url=$1 [QSA,L] 
</IfModule> 

Как я могу интегрировать его с CodeIgniter?

+0

поэтому в чем проблема ...? –

+0

Когда iam интегрирует это с codeigniter, контроллер переходит на главную страницу моего сайта не к исходному URL-адресу – Kichu

ответ

0

при РМКО интеграции этого с CodeIgniter контроллер переходит на главной странице моего сайта не к первоначальному URL

В своем коде вы просто echo ING в URL вместо перенаправления:

header('Location: http://' . $_SERVER['SERVER_NAME'] . '/tinyurl/' . $tiny_word);