2015-09-12 8 views
1

У меня есть динамическая таблица PHP, и когда я нажимаю на одну из моих ссылок (http://www.xxxxxx.com/?r=xxxxxxxxx), ссылка открывается на новой вкладке и вырезается после вопросительного знака (?) , как www.xxxxxx.com/?.Ссылка вырезана после вопросительного знака в динамической таблице php

Вот код таблицы 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.

EDIT: Я поставил вход, потому что мне нужно хранить данные для таймера, здесь 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, запустить таймер и положить его в красный цвет, и после того, как «сейчас» появляются, когда заканчивается.

+0

положить в верхней части этого кода 'var_dump (данные $);' и сказать, что он показывает – M0rtiis

+0

в исходном коде «в браузере», что написано в действии? – hous

+0

(a) Вам не хватает котировок вокруг значения атрибутов действий (в форме) и значения атрибута value входа (b) в проверке firebug, где находится URL-адрес запроса. (это говорит нам, если форма отправляется на правильную страницу или нет) –

ответ

1

Как сказал @Otto, попробуйте сделать это в пути рядом с этим:

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> 
'; 
+0

Спасибо за ответ, но это та же проблема, ссылка по-прежнему разрезана после "?" – Flavien317

+0

На самом деле я не вижу ссылки здесь. только кнопка. показать больше кода – M0rtiis

+0

Ссылка

, и в этих данных есть ссылка (возможно, вы можете пригласить меня в чате, и если мы выясним, что я опубликую решение ?) – Flavien317

1

Используя форму GET, переопределить часть запроса действия. Либо конвертируйте форму в обычную ссылку, либо поместите часть запроса в скрытый ввод.

+0

Это динамический стол, как это сделать? – Flavien317

0

Вот решение, спасибо всем, помогите мне разобраться: я думаю, что это форма, которая не принимает «?» по ссылке, поэтому я изменил ее на обычную ссылку, и вот мы идем.

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>';