перенаправить на квитанцию

  • Автор темы Vova_fox
  • Обновлено
  • 12, May 2024
  • #1
Привет, небольшая проблема с кодом.

У меня есть программа оплаты, и я хочу получить квитанцию.

Следующее код - это чек. 1) Пробовал перенаправить на файл квитанции после оплаты.

Мне еще предстоит этого достичь. 2) Мне нужен номер квитанции.

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

Указатели, что-нибудь? --------------------------------- код:
 <?php
echo "<center>";echo date('m/d/y');echo "<br />";

// Include config file
require_once "getprerentdb.php";

//MySqli Select Query
$results = $mysqli->query("SELECT * FROM numberstbl");
$receiptno = "receiptno";
$sql = " UPDATE numberstbl
 SET $receiptno = $receiptno + 1 where id=$id ";
echo "receiptno has been updated successfully !";
echo "<center>";echo "Receiptno is $receiptno";echo "<br />"; // doesn't work

$tenant=$_POST['tenant'];
$rentpaid=$_POST['rentpaid'];
$rentdue=$_POST['rentdue'];
 ?>
<!DOCTYPE html><html>
<head>
 <title>rent receipt</title>
</head>
<body><center><font size=+1>
<img src="apt-pic.jpg" alt="квартира" height=250 width=800><br>

For:<SELECT name="options">
<option value="#990033" style="background-color: Violet;">Rent payment</option>
<option value="#003300" style="background-color: Aquamarine;">Background Check</option>
<option value="#6600cc" style="background-color: Pink;">Security Deposit Payment</option>
<option value="#003300" style="background-color: Aquamarine;">Damages Payment</option>
<option value="#990033" style="background-color: Violet;">Late Charges Payment</option>
<option value="#003300" style="background-color: Aquamarine;">Court Costs Payment</option>
<option value="#6600cc" style="background-color: Pink;">NSF Payment</option>
<option value="#990033" style="background-color: Violet;"> </option>
</SELECT><br>
<input type="text" size = 25 STYLE="color: #000000; background-color: #D4AAFF;" name="Name" value="Business Name">
<input type="text" size = 25 STYLE="color: #000000; background-color: #D4D4FF;" name="Addy1" value="Business address">
<input type="text" size = 25 STYLE="color: #000000; background-color: #D4AAFF;" name="Addy2" value="City, State, Zip">

<TABLE BORDER="0" CELLPADDING="12" CELLSPACING="5" >
 <TD>
<TABLE BORDER="30" CELLPADDING="12" CELLSPACING="5">
<td>
<input type='text' size = 30 STYLE="color: #000000; background-color: #D4AAFF;" name="from"
value="<?php echo( htmlspecialchars($row['tenant'] ) ); ?>" /></td>
<td><input type='text' size = 10 STYLE="color: #000000; background-color: D4D4FF;" name="amt"
value="$ <?php echo( htmlspecialchars($row['rentpaid'] ) ); ?>" /></td>
<td><input type='text' size = 10 STYLE="color: #000000; background-color: D4D4FF;" name="due"
value="$ <?php echo( htmlspecialchars($row['rentdue'] ) ); ?>" /></td>
<tr>
<td><input type="text" size="25" name="sign" value="Sign here" STYLE="color:
#000000; font-weight: bold; background-color: #ffccff;" onFocus="this.value=''"></td>
<td colspan=2 align="center"><input type="text" size=15 name="thanks" readonly value="We Thank You:" STYLE="color:
#000000; font-weight: bold; background-color: #ffccff;" onFocus="this.value=''"></td>
</tr></table>

</b></body></html>
---------------------------------------
05/02/21
receiptno has been updated successfully !
Receiptno is receiptno
------------------------------------------
the payment (from a form) code:
<?php
echo "<center>";echo date('m/d/y');echo "</center>";
$id="''";

// Include config file
require_once "getprerentdb.php";

//MySqli Select Query
$results = $mysqli->query("SELECT * FROM paytbl");

$tenant=$_POST['tenant'];
$unit=$_POST['unit'];
$rentpaid=$_POST['rentpaid'];
$hudpay=$_POST['hudpay'];
$datepaid=$_POST['datepaid'];
$comments=$_POST['comments'];

$tenant='tenant';
$unit='unit';
$rentpaid='rentpaid';
$hudpay='hudpay';
$prevbal='prevbal';
$latechg='latechg';
$secdep='secdep';
$damage='damage';
$courtcost='courtcost';
$nsf='nsf';
$paidsum='paidsum';
$datepaid='datepaid';
$late='late';
$comments='comments';

$owe = $prevbal + $latechg + $secdep + $damage + $courtcost + $nsf;
$rentpaid=$owe; $paidsum=$owe;
?>

<!DOCTYPE html><html>
<head>

<STYLE TYPE="text/css">
.blue {background-color: #ccffff;}
.tan {background-color: #FFD4FF;}
h1.centered-cell {text-align: center;font-size: 1.1em;}
</STYLE>

</head>
<body><center><b><font size=+1>Rent Payment</b><p>

<?php
// ---------------------------------------
 while($row = mysqli_fetch_array($results)) {
// ----------------------------------------
 if(!empty($_POST["update"]))
 {
$mysqli->query("Update paytbl SET
rentpaid = '$rentpaid', datepaid = '$datepaid', paidsum = '$paidsum', hudpay = '$hudpay',
comments = '$comments'
where unit = '$unit'");
}
}
?>

</center></body></html>
PHP:

Vova_fox


Рег
04 Nov, 2013

Тем
77

Постов
196

Баллов
611
  • 18, May 2024
  • #2
Вы не можете ничего повторять перед кодом «заголовка». Вместо этого кода заголовка попробуйте следующее: $url="https://dptv.in/rentreceipt.php?rentdue={$rentdue} & unit={$unit}

"; echo '<тип сценария="текст/javascript"> window.location="'.$url.'"; '; ?> В вашем коде очень много других проблем. Никаких проверок безопасности, никакой очистки переменных, ничего нет... И вы смешиваете PHP с HTML, что еще больше запутывает ситуацию.
 

Mariana2


Рег
11 Jan, 2013

Тем
56

Постов
191

Баллов
501
  • 03, Jun 2024
  • #3
@pshaw Да, URL-адрес должен быть таким, и замените «dptv.in» на «localhost». Этот dptv.in является примером домена.

Используйте свой собственный домен. Также обратите внимание, что на локальном хосте «https», скорее всего, не будет работать.

Вы получите сообщение об ошибке «страница не найдена» или что-то в этом роде.

Итак, на локальном хосте используйте «http» вместо «https».

На сайте используйте https

Я не могу показать здесь пример кода, потому что форум не позволяет мне публиковать URL-адрес локального хоста...

Будет примерно так:

if( $_SERVER['HTTP_HOST'] == 'localhost'){

$url= "http : //localhost/property/rentreciept.php?token={$token} & rentpaid={$rentpaid}";

}еще{

$url= "https://dptv.in/property/rentreciept.php?token={$token} & rentpaid={$rentpaid}

"; } В первом URL-адресе удалите пробелы.
 

Mrstorm


Рег
27 Feb, 2014

Тем
65

Постов
182

Баллов
527
  • 05, Jun 2024
  • #4
это офлайн. вот мои обновленные файлы: Я должен был показать код формы (ниже). Я внес изменения, как я понял, но оплата не произведена. Вот коды, Payments.html, Payments.php и rentreceipt.php: <голова>
записать платеж

Единица измерения:

Арендатор:

Сумма оплачена:

Hudpay:

Дата оплаты:

Комментарии:

echo "";echo date('m/d/y');echo "";
$id="''";

// Подключаем файл конфигурации
require_once "getprerentdb.php";

//MySqli Выбор запроса
$results = $mysqli->query("SELECT * FROM paytbl");

/* --------------------------- ниже публикуются из формы ----- */
$tenant=$_POST['арендатор'];
$unit=$_POST['единица'];
$rentpaid=$_POST['rentpaid'];
$hudpay=$_POST['hudpay'];
$datepaid=$_POST['datepaid'];
$comments=$_POST['комментарии'];
/* --------------------------- выше публикуются из формы ---- */

$prevbal='prevbal';
$latechg='latechg';
$secdep='secdep';
$damage='урон';
$courtcost='судебная стоимость';
$нсф='нсф';
$paidsum = 'оплаченная сумма';

//$owe = $prevbal + $latechg + $secdep + $damage + $courtcost + $nsf;
//$rentpaid=$должен; $paidsum=$должен;
?>

<голова>

<ТИП СТИЛЯ="текст/css">
.blue {цвет фона: #ccffff;}
.tan {цвет фона: #FFD4FF;}
h1.centered-cell {выравнивание текста: центр; размер шрифта: 1,1em;}

Аренда

$mysqli->query("Обновить набор paytbl
rentpaid = '$rentpaid', datepaid = '$datepaid', paysum = '$paidsum', hudpay = '$hudpay',
комментарии = '$комментариев'
где unit = '$unit'");
?>

<голова>

<тело><центр>
echo "";echo date('m/d/y');echo "
";

// Подключаем файл конфигурации
require_once "getprerentdb.php";

//MySqli Выбор запроса
$results = $mysqli->query("SELECT * FROM Numberstbl");
$receiptno = "Receiptno";
$sql = " ОБНОВЛЕНИЕ чиселstbl
SET $receiptno = $receiptno + 1 где id=$id ";
echo "Квитанция успешно обновлена!";
echo "";echo "Номер квитанции — $receiptno";echo "
";

$tenant='арендатор';
$rentpaid = 'арендная плата';
$rentdue = 'арендная плата';
?>
<размер шрифта=+1>



Для: Аренда Проверка биографических данных Выплата залога Выплата ущерба Просроченная оплата Оплата судебных издержек Платеж NSF

<ТД>

<тд>
value="" />

<тр>

(Вы должны войти или зарегистрироваться, чтобы ответить здесь.)
value="$ " />value="$ " />

 

Olyx


Рег
05 Jun, 2013

Тем
80

Постов
179

Баллов
589
  • 05, Jun 2024
  • #5
Джет, я снова забежал вперед. Ваше предложение по поводу прямого доступа не сработало, но мне нужно получить программа оплаты заработает в первую очередь. Это не так. Как я уже писал, я плачу арендную плату через короткую форму, код здесь: <голова>
записать платеж

Единица измерения:

Арендатор:

Сумма оплачена:

Hudpay:

Дата оплаты:

Комментарии:

-----------------------------------------------
код платежа здесь:
echo "";echo date('m/d/y');echo "";
$owe="''";

// Подключаем файл конфигурации
require_once "getprerentdb.php";

//MySqli Выбор запроса
$results = $mysqli->query("SELECT * FROM paytbl");

/* --------------------------- ниже публикуются из формы ----- */
$tenant=$_POST['арендатор'];
$unit=$_POST['единица'];
$rentpaid=$_POST['rentpaid'];
$hudpay=$_POST['hudpay'];
$datepaid=$_POST['datepaid'];
$comments=$_POST['комментарии'];
/* --------------------------- выше публикуются из формы ---- */

$prevbal=$row['prevbal'];
$latechg=$row['latechg'];
$secdep=$row['secdep'];
$damage=$row['урон'];
$courtcost=$row['courtcost'];
$nsf=$row['nsf'];
$rent=$row['rent'];
$paidsum=$row['paidsum'];
$latechg=$row['latechg'];

$due = $prevbal + $latechg + $secdep + $damage + $courtcost + $nsf;
$рентная оплата = $рентная оплата + $должная оплата;
// если нет оплаты или частичная оплата, добавьте $10 в поле latechg
// и сумма, не выплаченная в поле prevbal
if ($rentpaid < $rentdue)
{ $latechg = $latechg + 10; $prevbal = $rentdue - $rentpaid; }
// если платеж = арендная плата очищена
if ($rentpaid == $rentdue)
{$prevbal = 0; $латехг = 0; }
// если переплата, вычитаем переплату
// из поля prevbal
if ($rentpaid > $rentdue)
{ $rentdue = $rentpaid - $rentdue; $превбал = 0; $латехг = 0; }
$секдеп = 0; $урон = 0; $courtcost = 0; $нсф = 0;
$paidsum=$рента оплачено;
?>

<голова>

<ТИП СТИЛЯ="текст/css">
.blue {цвет фона: #ccffff;}
.tan {цвет фона: #FFD4FF;}
h1.centered-cell {выравнивание текста: центр; размер шрифта: 1,1em;}

Аренда

$mysqli->query("Обновить набор paytbl
rentpaid = '$rentpaid', datepaid = '$datepaid', paysum = '$paidsum', hudpay = '$hudpay',
комментарии = '$комментариев'
где unit = '$unit'");

// $url= "https://dptv.in/rentreceipt.php?ten...={$rentpaid} & rentdue={$rentdue} & unit={$unit

}";
// заголовок("Местоположение: $url"); Выход;
?>

-------------------------------------------------------
вот результат:
В очередной раз я забежал вперед. Я плачу арендную плату за использование этой формы:

<голова>

записать платеж

Единица измерения:

Арендатор:

Сумма оплачена:

Hudpay:

Дата оплаты:

Комментарии:

--------------------------------------------------
Это код для оплаты: пожалуйста, не стесняйтесь, подскажите мне лучший способ.
echo "";echo date('m/d/y');echo "";
$owe="''";

// Подключаем файл конфигурации
require_once "getprerentdb.php";

//MySqli Выбор запроса
$results = $mysqli->query("SELECT * FROM paytbl");

/* --------------------------- ниже публикуются из формы ----- */
$tenant=$_POST['арендатор'];
$unit=$_POST['единица'];
$rentpaid=$_POST['rentpaid'];
$hudpay=$_POST['hudpay'];
$datepaid=$_POST['datepaid'];
$comments=$_POST['комментарии'];
/* --------------------------- выше публикуются из формы ---- */

$prevbal=$row['prevbal'];
$latechg=$row['latechg'];
$secdep=$row['secdep'];
$damage=$row['урон'];
$courtcost=$row['courtcost'];
$nsf=$row['nsf'];
$rent=$row['rent'];
$paidsum=$row['paidsum'];
$latechg=$row['latechg'];

$due = $prevbal + $latechg + $secdep + $damage + $courtcost + $nsf;
$рентная оплата = $рентная оплата + $должная оплата;
// если нет оплаты или частичная оплата, добавьте $10 в поле latechg
// и сумма, не выплаченная в поле prevbal
if ($rentpaid < $rentdue)
{ $latechg = $latechg + 10; $prevbal = $rentdue - $rentpaid; }
// если платеж = арендная плата очищена
if ($rentpaid == $rentdue)
{$prevbal = 0; $латехг = 0; }
// если переплата, вычитаем переплату
// из поля prevbal
if ($rentpaid > $rentdue)
{ $rentdue = $rentpaid - $rentdue; $превбал = 0; $латехг = 0; }
$секдеп = 0; $урон = 0; $courtcost = 0; $нсф = 0;
$paidsum=$рента оплачено;
?>

<голова>

<ТИП СТИЛЯ="текст/css">
.blue {цвет фона: #ccffff;}
.tan {цвет фона: #FFD4FF;}
h1.centered-cell {выравнивание текста: центр; размер шрифта: 1,1em;}

Аренда

$mysqli->query("Обновить набор paytbl
rentpaid = '$rentpaid', datepaid = '$datepaid', paysum = '$paidsum', hudpay = '$hudpay',
комментарии = '$комментариев'
где unit = '$unit'");

// $url= "https://dptv.in/rentreceipt.php?ten...={$rentpaid} & rentdue={$rentdue} & unit={$unit

}";
// заголовок("Местоположение: $url"); Выход;
?>

--------------------------------------------------
вот результат:
05/05/21
Арендная плата
 

UrgerWroste


Рег
22 Jun, 2012

Тем
72

Постов
189

Баллов
559
  • 06, Jun 2024
  • #6
Чертовски хороший соус, когда мы приземлились в 1997 году? Серьезно, просто выбросьте ВСЕ это и начните заново с разметкой ЭТОГО века. То же самое можно сказать и о PHP. ОСТАНАВЛИВАТЬСЯ добавление переменных в строки запроса.

Это называется ПОДГОТОВКА/ВЫПОЛНЕНИЕ, используйте! Аналогичным образом выбросьте весь мусор «переменные просто так».

Что касается перенаправления, ПОЧЕМУ? Почему бы просто не показать результат? Но если вы настаиваете, добавьте это в документ

 <meta http-equiv="Refresh" content="0; URL=<a href="https://lumtu.com/yti/auVVuaXRodHRwczovL2RwdHYuaW4vcmVudHJlY2VpcHQucGhwP3JlbnRkdWU9JTdCJTI0cmVudGR1ZSU3RCZ1bml0PSU3QiUyNHyUi" target="_blank" rel="nofollow noopener" title="перенаправить на квитанцию">https://dptv.in/rentreceipt.php?rentdue={$rentdue}&unit={$unit}">


Код (разметка): помните, что вы должны выполнять всю свою логику и обработку ПРЕЖДЕ ЧЕМ вы даже ДУМАЕТЕ о выводе этой чертовой вещи, и в этом случае вы, вероятно, могли бы просто использовать заголовок()

Хотя практика PHP, устаревшая более чем на 20 лет, скорее всего, укусит вас так же, как и ваша разметка, устаревшая на 25 лет.
 

NastyaTen


Рег
01 Jan, 2011

Тем
71

Постов
195

Баллов
580
  • 07, Jun 2024
  • #7
Что ты пытаешься сделать? Это вообще не ясно.

Код для перенаправления с использованием PHP следующий:

заголовок("Местоположение: your_url_here"); Выход;

Вы можете передать переменные на следующую страницу следующим образом:

ваш_url?var1=значение & var2=значение2 & ...

Замените «your_url» фактическим URL-адресом, а затем поместите его в код «заголовка».

Так:

заголовок("Местоположение: https://dptv.in/?v=1 & z=2

"); Выход; Используйте эту строку там, где вы хотите, чтобы произошло перенаправление.
 

Tsanders


Рег
23 Apr, 2015

Тем
72

Постов
180

Баллов
560
  • 08, Jun 2024
  • #8
Ваш_URL — это ваше доменное имя плюс имя файла, куда вы хотите, чтобы посетитель сайта перешел. пример: //создаем URL $url= "https://dptv.in/rentReceipt.php?ten...={$rentpaid} & rentpaid={$paidsum} & unit={$unit}

"; //теперь перенаправляем: заголовок("Местоположение: $url"); Выход; В любом месте, где вы хотите, чтобы произошло перенаправление, просто скопируйте и вставьте эту строку. Измените домен на свой собственный.
 

PafUndepPap


Рег
13 Jul, 2011

Тем
61

Постов
203

Баллов
528
  • 09, Jun 2024
  • #9
Спасибо за ответ.

Я заполняю форму (pays.html), чтобы указать платеж, который обновляет таблицу платежей.

Это делается с помощью «Payments.php». Затем я хотел бы перенаправиться в программу получения (rentreceipt.php) с помощью

три переменные: «арендатор» (кто заплатил), «арендная плата» (сколько) и «арендная плата» (все еще задолженность). Я не понимаю

то, что вы называете «ваш_url».
 

F0rlike


Рег
11 Jan, 2014

Тем
67

Постов
205

Баллов
550
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно