多个缩短url';s的问题


multiple shorten url's issue

我有一个缩短多个链接的代码,但该代码(带可选后缀)只能从第二个链接工作:

$url_to_shorten = $_POST[links];
$ownshuff       = $_POST[shuff];   
$theurls = explode("'n",$url_to_shorten);  
foreach($theurls as $urlmulti){  
shortcreate($urlmulti,$shuffss,$ownshuff);
}

这里有一个例子:

我的链接是

http://www.123.com
http://www.1234.com
http://www.1235.com

我的后缀是:(Hello_Man)。

用上面的代码打印

http://www.mysite.com/IUo
http://www.mysite.com/kOl-Hello_Man
http://www.mysite.com/Rww-Hello_Man

并且它不打印第一个链接的后缀。

shortcreate函数是:

function shortcreate($url_long, $Suffix, $ownshuf){
    global $db;
    $chars = $Suffix;
    while (!shortisUnique($chars)) {
        if ($ownshuf != "") {
            $chars = shortgenerate_chars() . "-" . $ownshuf;
        }
        else {
            $chars = shortgenerate_chars();
        }
    }
    $url = $url_long;
    $url = trim($url);
    $url = mysql_real_escape_string($url);
    if (!shortisThere($url)) {
        $q = "INSERT INTO `shorturls` (url, unique_chars) VALUES ('" . $url . "', '" . $chars . "')";
        //echo $q;
        $r = $db->query($q);
        if (mysql_affected_rows()):
            $q       = "SELECT * FROM `shorturls` WHERE `url`='" . $url . "'";
            $r       = $db->query($q);
            $row     = $db->fetch($r);
            $the_url = SITE_URL . "" . $row[2];
            echo "$the_url'n";
        else:
            $the_url = NULL;
            return false;
        endif;
    }
    else {
        $q       = "SELECT * FROM `shorturls` WHERE `url` = '" . $url . "'";
        $r       = mysql_query($q);
        $row     = mysql_fetch_row($r);
        $the_url = SITE_URL . "" . $row[2];
        echo "$the_url'n";
    }
}

我需要那个代码为所有的链接工作。有什么帮助吗

关于

我想问题出在下一块代码中:

$chars = $Suffix;
while (!shortisUnique($chars)) {
    if ($ownshuf != "") {
        $chars = shortgenerate_chars() . "-" . $ownshuf;
    }
    else {
        $chars = shortgenerate_chars();
    }
}

你给$chars变量后缀的值,然后检查它是否是唯一的(猜测不是因为它进入了循环),并且$ownshuf != ""的条件出于某种原因返回false(考虑与我们共享该参数的值),否则$chars的输出将返回一个带"-"的字符串。

提醒:与我们分享该参数的值