Не много обо всем. От рыбалки до вышивания крестиком.
Write comments

PHP MySQL

Ср июл 30, 2014 12:01:53

Если есть спецы по РНР помогите из кнопки сделать просто ссылку.
Поставил себе на CRM написанную на PHP MySQL новое горизонтальное меню. Кнопки в этом новом меню сделаны как ссылки. А в старом варианте у меня была сделана кнопка через инпут. Вот код кнопки:
<form name="logout" method="post" action="index.php"><input type="hidden" name="idolddomino_usr" value="<? echo $_SESSION['idusr'] ?>"
<tr>
<td height="22" align="center" bgcolor="#A9C4DE" class="txt13"><input type="Submit" name="sbm" onMouseOver=this.style.cursor='hand';this.style.backgroundColor='#B7CDE3' onMouseOut=this.style.backgroundColor='#A9C4DE' value="ВЫХОД" class="inp_but_12" style="width:394px; border:0px solid #FFFFFF"></td>
</tr>
</form>

нужно реализовать тоже самое но через a href=

Если кто разбирается плиз помогите.

Спасибо.
levsha

Re: PHP MySQL

Ср июл 30, 2014 12:10:40

a href="index.php?idolddomino_usr=<? echo $_SESSION['idusr'] ?>"
але не факт, що буде працювати
bykovdima

Re: PHP MySQL

Ср июл 30, 2014 12:39:00

levsha в принципе в правильную сторону направил (в случае если на форме других кнопок больше нет), но тут вопрос в другом - как index.php обрабатывает эту форму. если он обрабатывает $_POST, то эта ссылка работать не будет, т.к. ее данные будут в $_GET. т.е. нужно переписывать и обработчик формы
Викторович

Re: PHP MySQL

Ср июл 30, 2014 14:28:12

не заработало.
Вот текст ПХП странички. я так понимаю тут описывается как это работает...
<?php

settype($Project_Root, "string");
$Project_Root = '/base/';

if( ! isset( $_SESSION['idusr'] ) || ($_REQUEST['sbm']=="ВЫХОД" && $_REQUEST['idolddomino_usr']== $_SESSION['idusr']) ){ $sbm=''; $_SESSION['idusr']=''; authenticate(); }
else if($_SESSION['idusr']>0){}
else{
$login = $_POST['login'];
$qr = "SELECT id, pass FROM users WHERE login='$login' ";
$rs = mysql_query ($qr); $rw = mysql_fetch_object ($rs);

if ( $_POST['pass'] != $rw->pass || mysql_num_rows ( $rs )<1 ) authenticate() ;
else $_SESSION['idusr'] = $rw->id;
};

function authenticate() {

header( "Location:".$GLOBALS["Project_Root"].'login.php');
};




function verifyAccess($idusr, $ident_part){
//function verifyAccess( $ident_part){

$msg_deny = 'Вы не имеете права для работы с этим разделом!';
//$result=0;

//$qr = "SELECT id FROM userparts WHERE idusr=".$_SESSION['idusr']." AND idpart=$ident_part";
$qr = "SELECT id FROM userparts WHERE idusr=$idusr AND idpart=$ident_part";

$rs = mysql_query($qr);
$cnt = mysql_num_rows($rs);

if($cnt < 1){ //return $result=1;
echo "<html><body><script>alert('$msg_deny');document.location.href='".$Project_Root."index.php';</script></body></html><!--";
};
//else return $result=0;

};

?>
bykovdima

Re: PHP MySQL

Ср июл 30, 2014 14:52:24

Викторович
твоя сслыка должна выглядеть так:
href=index.php?idolddomino_usr=<?php echo $_SESSION['idusr'] ?>&sbm=ВЫХОД

если не заарботает, попробуй в представленном выше файле $_REQUEST заменить на $_GET
Викторович

Re: PHP MySQL

Ср июл 30, 2014 15:15:18

не хочет...
Викторович

Re: PHP MySQL

Вт янв 06, 2015 13:15:31

Продолжаю делать под себя клиентскую базу.
Есть 2 задачи которые не могу решить.
Первая это на страничке клиента сделать загрузку документов в папку на сервере и вывод данных по файлу на страничке клиента да так что бы кликнув по названию файла или кнопке открыть этот документ открывался в своем стандартном приложении. Я это почти сделал, но есть пару моментов в которых не могу разобраться. Например название документа пишется кракозябрами и не могу сделать открытие этого документа через ссылку или кнопку.

Вторая задача - на страничке клиента есть строчки куда добавляются данные о тех обслуживании или ремонте по оборудованию. Мне нужно записывать список запчастей которые были заменены. Должно работать так: при клике на поле (запчасти) открывается окошко в котором будет список запчастей. Далее если списка еще нет будет кнопка добавить. При нажатии на добавить будет открываться еще одно окно (справочник) со списком всех доступных запчастей. при выборе конкретной части окно (справочник) будет закрываться и в оставшемся окне появится первая позиция. После наполнения списка окно закрывается кнопкой и данные по списку запчастей по конкретному оборудованию и по конкретному ТО записываются в базу.
Много написал, но есть пример как это работает в другой клиентской базе. А вот как этто прилепить к моей не знаю.

Если кому то будет скучно, то могу сбросить исходники. может что то подскажете.
Викторович

Re: PHP MySQL

Вт фев 16, 2016 22:28:38

Специалисты помогите. Есть такая форма:

<form name="" action="" method="post">
<td><input name="sbm" type="submit" class="btnredimg" value="Удалить изображение" onClick="if(!confirm('Удалить?')); act.value='del'"></td>
</form>

Это кнопка удаляет картинку из базы данных.
Вопрос как сюда правильно прикрутить window.close что бы при нажатии на эту кнопку отправлялись данные и тут же закрывалось окно?
igor'OK

Re: PHP MySQL

Ср фев 17, 2016 08:16:03

Както так, не уверен что во всех браузерах будет работать, так как после window.close окно умирает независимо от результата

formName.submit();
setTimeout(function() {
window.close();
}, 100);

правильнее было бы вместо формы использовать jquery и сделать чтото типа такое:

$.post('yoururl', {act: 'del'}).done(function() {
window.close();
});

В таком случае браузер подождет ответа с сервера а потом закроется
Викторович

Re: PHP MySQL

Ср фев 17, 2016 10:07:20

igor'OK
Напиши конкретнее для первого и второго случая пожалуйста
levsha

Re: PHP MySQL

Ср фев 17, 2016 11:22:23

Викторович писал(а):onClick="if(!confirm('Удалить?')); act.value='del'"

Гм, код выглядит так, как будто бы действие не зависит от ого, нажмет пользователь Ok или Cancel: условный оператор if не имеет действий, так как заканчивается на точке с запятой, код act.value='del' выполняется всегда
Викторович

Re: PHP MySQL

Ср фев 17, 2016 12:01:02

levsha
Кстати да))) проверил только что удаляет и при нажатии на отмена))) Сам клепал)))
Смысл такой. В моей клиентской базе есть страничка клиента на которой выводятся миниатюры фоток прикрепленных к клиенту. При клике на миниатюру открывается новая вкладка с фоткой в реальный размер. Под фоткой можно вписать комментарий, сохранить комментарий и та самая кнопка удалить фотку. Мне нужно что бы после нажатия на кнопку удалит во первых правильно работал запрос на подтверждение и после подтверждения происходило удаление фотки из базы (act.del) и закрывалось окно. Сейчас окно не закрывается а становится пустым так как фотка удаляется. Так же происходит обновление странички клиента и так миниатюра тоже пропадает.
Помогите правильно реализовать 2 функции по одному клику на кнопку.
levsha

Re: PHP MySQL

Ср фев 17, 2016 13:19:31

Тут не 2 функции по одному клику нужно делать, потому что это не просто "окно остаётся пустым", это уже фактически новое окно: по нажатию кнопки тут выполняется действие из OnClick, после чего выполняется submit формы, который вызывает post запрос, по которому уже открывается новая страничка в этой форме. Как вариант можно сделать, чтобы ответом на post запрос, делающий удаление фотки, выдавалась страничка с window.close() или как-то так
igor'OK

Re: PHP MySQL

Ср фев 17, 2016 19:32:14

Первый случай - отстой, делать форму чтобы отправить POST не имеет смысла
Второй случай включая confirm
Код:
if(confirm('Are you sure?')) {
    $.post('yoururl', {act: 'del'}).done(function() {
        window.close();
    });
}


Это можно пихнуть в кнопку
Код:
<button onclick="if(confirm('Are you sure?')){$.post('yoururl', {act: 'del'}).done(function() {window.close()})}">Удалить</button>


Вместо "yoururl" вставь адрес куда слать запрос

Чтобы это работало надо подключить jquery
Код:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
levsha

Re: PHP MySQL

Ср фев 17, 2016 20:48:36

Гм, подключать jquery только чтобы сделать один post, выглядит как-то слишком жирно
Write comments