PHP

Ребят, как на PHP написать, при нажатии на -> переменная a ($a) увеличится на 1 (i++) ?

Никак. К тому моменту, как на экране появилась кнопка, php уже отработал и никакой переменной $a уже нигде нет.

Можно записывать число в БД. При нажатии на кнопку снова вызывать файл php, в котором считывать это число из БД, прибавлять единицу и записывать его обратно. Чтобы это всё выглядело покрасивей (без перезагрузки страницы), ещё и js + ajax можно задействовать
Женис Алькенов
Женис Алькенов
71 311
Лучший ответ
Женя Перлин По вашей логике даже калькулятор на php нельзя сделать -_-
Форма с кнопкой submit и скрытым полем. В поле записано начальное значение переменной. По нажатию кнопки скрипт его принимает в переменную, увеличивает и снова пишет в скрытое поле. Скрипт и форму сделать в одном файле.
Slava Shimchyk
Slava Shimchyk
66 379
У php нет никаких кнопок, он работает с GET и POST параметрами (это в частном случае, а то бывают и другие, даже из командной строки), пришедшими от web-сервера (опять же, это частный случай). Кнопка находится скорее всего в браузере, поэтому тебе сначала нужно написать обработчик на javascript, который отошлёт данные php.
Besiki Chkuaseli
Besiki Chkuaseli
70 921
Обрабатывать клик можно только JavaScript'ом. Там все просто:
1) в script объявить переменную a
2) к кнопке добавить аттрибут onclick и в него вставить JS-код, который должен выполняться по клику, в данном случае это a++;

А вот если переменную нужно именно передать на сервер, т. е. в скрипт PHP, то нужно отправить GET- или POST-запрос.
Отправить такой запрос можно с помощью либо с помощью http://xmlhttprequest.ru/
А принимать его (и переменную) уже должен скрипт на PHP.
Погуглите, как это делается, и попробуйте сделать по-разному. Это многое прояснит.
Карим Шахин
Карим Шахин
26 662
зачем вам на клиенте php?) если это в принципе не возможно)
Ренат Тлепов
Ренат Тлепов
7 869
Я уже давно не занимался программированием, но первое что пришло в голову: отправь по кнопке скрытое поле со значением 1. Ну и прибавляй его)
Vitali Vakaryuk
Vitali Vakaryuk
3 956
Таки и невозможно?
<?php
session_start();
if(isset($_POST['increment'])){ // Если форма отправленна то:
if(!isset($_SESSION['increment'])){$result = mysqli_query($connection,"SELECT имя колонки FROM table_name WHERE id= 'row_id'"); //проверяем существует ли сешшен, если нет, то делаем запрос к базе, вытаскиваем текущее значение колонки и задаем ее суперглобальной сешшен.
$row = mysqli_fetch_assoc($result);
$_SESSION['increment'] = $row['имя колонки'];}
mysqli_free_result($result); // освобождаем результат запроса
else{ // если существует то
$_SESSION['increment']++; // инкрементируем сешшен
$result = mysqli_query($connection,"UPDATE table_name SET row_name =".$_SESSION['increment']."' WHERE id = 'row_id' ");//Обновляем значение в бд
}
}
echo $_SESSION['increment'];
?>