У меня есть динамическая таблица PHP, и когда я нажимаю на одну из моих ссылок (http://www.xxxxxx.com/?r=xxxxxxxxx
), ссылка открывается в новой вкладке и обрезается после знака вопроса (?
), лайк www.xxxxxx.com/?
,
Вот код php таблицы:
echo '<div class="row"><tr>';
echo '<td><form action='.$data['referral'].'>
<input class="btn" type="submit" formtarget="_blank" value='.$data['webadress'].' data-value='.gmdate("H:i:s",($data['timer']*60+60)).' data-start="false"></form></td>';
echo '<td>Now</td>';
echo '<td>'.$data['timer'].'</td>';
echo '<td>'.$data['payout'].'</td>';
echo '</tr></div>';
В моей базе данных $data['referral']
мои www.xxxxxx.com/?r=xxxxxxxxx
Линк.
Я думаю, что тип или что-то в моей базе данных неверно, так что после знака вопроса. Сейчас я на varchar(255)
а также latin1_general_ci
,
РЕДАКТИРОВАТЬ: я поставил вход, потому что мне нужно хранить данные для таймера, вот JS:
$(window).load(function(){
var row = document.getElementsByClassName("color");
function toTimeString(seconds) {
return (new Date(seconds * 1000)).toUTCString().match(/(\d\d:\d\d:\d\d)/)[0];
}
function redColor(element) {
$(element).css('background-color', 'rgba(255,0,0,0.7)');
}
function normalColor(elemen) {
$(element).css('background-color', 'transparent');
}
$('.btn').on('click', startTimer);
function startTimer() {
var dataStartElem = $(this);
var dataStart = dataStartElem.attr('data-start');
if (dataStart === 'false') {
dataStartElem.attr('data-start', 'true');
var nextElem = dataStartElem.parents('td').next();
var duration = dataStartElem.attr('data-value');
var a = duration.split(':');
var seconds = (+a[0]) * 60 * 60 + (+a[1]) * 60 + (+a[2]);
setInterval(function () {
seconds--;
if (seconds >= 0) {
nextElem.html(toTimeString(seconds));
redColor(nextElem);
}
if (seconds === 0) {
nextElem.html('Now');
dataStartElem.attr('data-start', 'false');
clearInterval(seconds);
normalColor(nextElem);
}
}, 1000);
}
}
});
Это JS, запустите таймер и поставьте его красным, и после того, как «сейчас» появится, когда закончите.
Используя форму GET, вы переопределяете часть запроса действия. Либо преобразуйте форму в обычную ссылку, либо поместите часть запроса в URL в скрытый ввод.
Как сказал @ Отто, попробуйте сделать это так:
echo '
<div class="row">
<tr>
<td>
<a href="' . htmlspecialchars($data['referral']) . '">' . htmlspecialchars($data['webadress']) . '</a>
</td>
<td>Now</td>
<td>' . $data['timer'] . '</td>
<td>' . $data['payout'] . '</td>
</tr>
</div>
';
Вот решение, благодаря всем, кто помог мне разобраться: я думаю, что это форма, которая не принимает «?» на ссылку, поэтому я изменил его на нормальную ссылку, и здесь мы идем.
echo '<div class="row">
<tr>
<td>
<a href="'.$data['referral'].'" target="_blank">
<input type="submit" value="'.htmlspecialchars($data['webadress']).'" data-value="'.gmdate("H:i:s", ($data['timer'] * 60 + 60)).'" data-start="false" class="btn" formtarget="_blank">
</a>
</td>
<td>Now</td>
<td>'.$data['timer'].'</td>
<td>' . $data['payout'] . '</td>
</tr>
</div>';