2014-11-27 2 views
-1

У меня есть этот PHP-код, который скрывает кнопку загрузки после щелчка по нему один раз, изменяя идентификатор от 0 до 1 .. после этого, если в другой раз пользователь вступил в систему , он удаляет кнопку, используя простой css-код css.всегда прячут кнопку после нажатия на нее с помощью php и css

вот мой код:

<?php 

     $result = @mysql_query("SELECT * FROM scode WHERE updated= 1 and coden ='$username'"); 
if ($_POST[downloadTheFile]== "downloadTheFile") 
{ 
$upd_art = "update scode set downloaded='".$_POST[t11] ."' where id='$_SESSION[userid]'"; 
     mysql_query($upd_art) or die(mysql_error()); 
} 

if($row['downloaded']==1) 
{ 
echo "<style> 
.thedownloadbutton {display:none;} 
</style>"; 
} 

    ?> 
<form class="thedownloadbutton" method="get" action="<? echo '../download/'.$item_downloadlink .'.zip' ; ?>"> 
<button type="submit" name="downloadTheFile" value="downloadTheFile">Download </button> 
<input name="t11" type="hidden" size="2" value="1"> 
</form> 

(только для уточнения: обновленный = 1 представляет собой поле, которое будет открыть страницу загрузки .. если обновленные = 1, то есть на странице загрузки)

Я не знаю, почему это не сработает. Можете ли вы мне помочь и до меня, какая часть является неправильной? Я знаю, что это плохой способ скрыть элемент, используя css, есть ли другое предложение?

+0

$ _POST [downloadTheFil e] должно быть $ _POST ['downloadTheFile'] –

+0

Добавить сообщение об ошибках в начало вашего файла (ов) сразу после вашего открытия тега '

ответ

0

поэтому были некоторые проблемы в этом коде .. он не был профессиональным вообще, поэтому я использовал этот новый код, который имеет кнопку, обновить число от 0 до 1 на базе (который расскажет кнопку загрузки, чтобы не показывать после этого) затем показывает кнопку загрузки

<? 

$res = mysql_query("SELECT downloaded FROM scode WHERE id='$_SESSION[userid]'"); 
$row = mysql_fetch_array($res); 
// echo $row['downloaded']; 
echo '<br>'; 
?> 
<form method="POST" action=''> 
<? 
if($row['downloaded'] ==='0') 
{ 
echo "<input type='submit' name='button1' value='click to show the download link' onclick ='validatea(); return false;' />"; 


//echo '<button type="submit" formmethod="post" name="downloadTheFile" value="downloadTheFile">Download </button>'; 

?> 
</form> 

<? 
if (isset($_POST['button1'])) 
{ 


     ?> <form class="aaa" method="POST" action="<? echo "../download/".$item_downloadlink .".zip" ; ?>"> 
     <? ; 
     ?> <input type='submit' name='submit' value='download' onclick ='validate(); return false;' /> <? ; 
     echo"</form>"; 

    $upd_art = "update scode set downloaded='1' where id='$_SESSION[userid]'"; 
     mysql_query($upd_art) or die(mysql_error()); 
} 
} 
else { 
    echo "you already downloaded the file , if you have any problem please contact us"; 
    echo"<br>"; 

} 
?> 
0

$_POST[downloadTheFile] должен быть $_POST['downloadTheFile']

if($row['downloaded']!=1) 
{ 
echo '<button type="submit" name="downloadTheFile" value="downloadTheFile">Download </button>'; 
} 
+0

спасибо, это действительно помогло мне .. но была проблема в методе .. действие не изменило номер в базе данных .. Я отправлю свой ответ в новом комментарии :) –