我的项目中有一个表单。我想通过在收到的链接中添加我的参考代码来缩短这份表格。
从表单中识别url,添加不同的联盟代码,然后缩短它。
通过在下面的代码片段中向url添加代码来写入数据库。但我无法为不同的url点赞设置else结构。
如果你能帮忙,我会很高兴的。
样本结果应如下所示;
****原始链接----------------结果***
www.Mediamarkt.de=>www.Mediamarkt.de/aff=12115?
www.otto.de=>www.otto.de/aff=6115?
www.amazon.de=>www.amazon.de/aff=2519?
www.nike.com=>www.nike.com/aff=ad587s?
不要将联盟标签添加到其他不同的链接
Etc
<?php
require_once('config.php');
//PDO Connection | 数据库连接
try{
$dbc = new PDO('mysql:host='.DB_HOST.';port='.DB_PORT.';dbname='.DB_NAME.';charset=utf8mb4',DB_USER,DB_PASS);
$dbc->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (Exception $e) {
if(DEBUG_MODE)die($e->getMessage());
die('Fail to Connect the Database.');
}
// Insert URL to database
function urlInsert($params){
$url=$params['url'].'';
$curl=urlencode($url);
$host=parse_url($url)['host'];
if(empty($host)){
$host=parse_url('http://'.$url)['host'];
$url='https://'.$curl.'aff=12115?';
}
if ($url="www.Mediamarkt.de"){
$url='https://'.$curl.'aff=12115?';
else
if ($url="www.otto.de"){
$url='https://'.$curl.'aff=615?';
else
if ($url="www.amazon.de"){
$url='https://'.$curl.'aff=2519?';
else
if ($url="www.nike.com"){
$url='https://'.$curl.'ad587s?';
else
$ip=trim(end(explode(',',$_SERVER['HTTP_X_FORWARDED_FOR'])));
do{
$ukey=ukeyGen();
}while(ukeyCheck($ukey));
global $dbc;
try{
$stmt = $dbc->prepare("INSERT INTO `".DB_TABLE."` (`domain`, `url`, `ukey`, `ip`) VALUES
(:host, :url, :ukey, :ip)");
$stmt->bindParam(':host',$host);
$stmt->bindParam(':url',$url);
$stmt->bindParam(':ukey',$ukey);
$stmt->bindParam(':ip',$ip);
$stmt->execute();
if($stmt->rowCount()){
return $ukey;
}
else{
return false;
}
} catch (Exception $e) {
if(DEBUG_MODE)die($e->getMessage());
die('Fail to excute command');
}
}
我通过如下编辑代码找到了一个解决方案。
我不知道这个解决方案对于数组是否更实用。如果有朋友可以用数组编辑,我想学习一下。
<?php
require_once('config.php');
//PDO Connection | 数据库连接
try{
$dbc = new PDO('mysql:host='.DB_HOST.';port='.DB_PORT.';dbname='.DB_NAME.';charset=utf8mb4',DB_USER,DB_PASS);
$dbc->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (Exception $e) {
if(DEBUG_MODE)die($e->getMessage());
die('Fail to Connect the Database.');
}
// Insert URL to database
function urlInsert($params){
$url=$params['url'].'';
$curl=urlencode($url);
$host=parse_url($url)['host'];
if ($url=="www.Mediamarkt.de"){
$surl='https://'.$curl.'/aff=12115?';
}elseif ($url=="www.otto.de"){
$surl='https://'.$curl.'/aff=615?';
}elseif ($url=="www.amazon.de"){
$surl='https://'.$curl.'/aff=2519?';
}elseif ($url=="www.nike.com"){
$surl='https://'.$curl.'/ad587s?';
}else
$ip=trim(end(explode(',',$_SERVER['HTTP_X_FORWARDED_FOR'])));
do{
$ukey=ukeyGen();
}while(ukeyCheck($ukey));
global $dbc;
try{
$stmt = $dbc->prepare("INSERT INTO `".DB_TABLE."` (`domain`, `url`, `ukey`, `ip`) VALUES
(:host, :url, :ukey, :ip)");
$stmt->bindParam(':host',$host);
$stmt->bindParam(':url',$url);
$stmt->bindParam(':ukey',$ukey);
$stmt->bindParam(':ip',$ip);
$stmt->execute();
if($stmt->rowCount()){
return $ukey;
}
else{
return false;
}
} catch (Exception $e) {
if(DEBUG_MODE)die($e->getMessage());
die('Fail to excute command');
}
}