私は '古いインターネット(http://net.tutsplus.com/tutorials/other/using-htaccess-files-for-pretty-urls/)で見つけたコードを編集しました。私は適切に動作するコードの私の変化を得ていない。私の編集したバージョンはindex.phpから "pages"という別の入力を要求します。 Pagesは$ urlと$ shortと共にデータベースに格納されます。ページはデータベースのページフィールドに入り、varchar値を持ちます。 Pagesは後でjavascriptの目的でserve.phpで呼び出されます。下のコードでは、問題が発生したと私は考えています。私の間違ったコードに興味があれば、お楽しみください。私はまだ他のファイルを編集していません。電子メールアドレスを検証するコードは常に失敗します
<?php
require("./db_config.php");
$url = $_REQUEST['url'];
$pages = $_REQUEST['pages'];
//this seems to be where the errors are occuring
if(!preg_match("/^[a-zA-Z]+[:\/\/]+[A-Za-z0-9\-_]+\\.+[A-Za-z0-9\.\/%&=\?\-_]+$/i", $url)) {
$html = "Error: invalid URL";
} else {
$db = mysql_connect($host, $username, $password);
$short = substr(md5(time().$url), 0, 5);
if(mysql_query("INSERT INTO `".$database."`.`url_redirects` (`short`, `url`, `pages`) VALUES ('".$short."', '".$url."', '".$pages."');", $db)) {
$html = "Your short URL is<br />www.srprsr.com/".$short;
} else {
$html = "Error: cannot find database";
}
mysql_close($db);
}
?>
ロングコード、長い質問。 'preg_match'をチェックする前に' $ pages'の値は? – Raptor
これまでに '$ url'の値を知りたいと思います。 –