Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Úprava php skriptu

Používám tento skript, který mi automaticky vygeneruje fakturu, nicméně mi na něm vadí pár drobností. Měl bych proto prosbu na znalé php, jestli je možné do tohoto skriptu přidat kód, který by při načtení celého skriptu v podobě souboru třeba s názvem doklad.php automaticky vyvolal jednoduché okno, kde by si bylo možno ručně zadat číslo faktury a datum splatnosti a teprve po vyplnění by se zobrazila vyplněná faktura. Konkrétně by to měly zřejmě být tyto položky:

echo "<title>Faktura č. ".$Rok."/".$iOrder."</title>\n";
echo "<tr style=\"height: 8mm; \"><td colspan=\"2\" style=\"border-bottom: 1px solid #000; margin:0;padding:0;\"><div style=\"margin-right:2mm;margin-top:2mm;padding:0; float:right; font-size:4mm\">Faktura č. ".$Rok."/".$iOrder."</div><h1 style=\"margin-top:1mm;margin-left:2mm;font-size:5mm;padding:0\">".$Title."</h1></td></tr>\n";

a datum splatnosti:

$DatumSplatnosti = date('d.m.Y',$iTime + ($Splatnost * 24 * 60 * 60));
echo "<tr><td>Datum splatnosti:</td><td align=\"right\">".$DatumSplatnosti."</td></tr>\n";

Momentálně to tahá automaticky ID číslo objednávky z eshopu jako číslo faktury a datum splatnosti to dává automaticky třeba +10 dní od datumu objednávky v eshopu, ale chci mít možnost zadávat ručně číslo faktury, např. 250 a datum splatnosti např. 22.10.2011.

Lze toho nějak ne příliš složitě docílit?

Celý kód:

Předmět Autor Datum
V skripte vidno, že ťaháš identifikátor z requestu ($Id = $_REQUEST['Id']) a číslo faktúry je vo for…
los 22.10.2011 19:22
los
Takže aké pošleš Id v requeste, také bude v čísle faktúry Takto to právě teďka funguje, což je pro…
Craft 22.10.2011 21:35
Craft
Takže si nainicializuješ číslo faktúry $CisloFaktury = $_REQUEST['CisloFaktury'] a vo výpisoch použi…
los 22.10.2011 21:56
los
Díky, zkusím to dát do funkčního celku.
Craft 22.10.2011 22:21
Craft
Mimo téma - doporučuji zapomenout na $_REQUEST a používat $_POST, $_GET, $_SESSION, $_COOKIE pro jed… poslední
martin.developer 22.10.2011 22:53
martin.developer

V skripte vidno, že ťaháš identifikátor z requestu ($Id = $_REQUEST['Id']) a číslo faktúry je vo formáte $Rok/$Id. Takže aké pošleš Id v requeste, také bude v čísle faktúry (Prípadne môžeš pridať riadok $CisloFaktury = $_REQUEST['CisloFaktury'] a všetky "Faktura č. ".$Rok."/".$iOrder nahradíš za "Faktura č. $CisloFaktury").

Potom namiesto toho riadku s priradením dátumu splatnosti dáš $DatumSplatnosti = date($_REQUEST['DatumSplatnosti']);

Následne si spravíš formulár, ktorý bude mať akciu nastavenú na tento skript a pošle mu tie hodnoty v poliach Id (prípadne CisloFaktury) a DatumSplatnosti.

PS: To naozaj funguje tak, ako to vyzerá - t.j. načíta všetky faktúry z databázy a následne v PHP vyhľadá tú s požadovaným identifikátorom? ::facepalm::

Takže aké pošleš Id v requeste, také bude v čísle faktúry

Takto to právě teďka funguje, což je pro mě problém, protože předtím jsem veškeré faktury vystavoval ručně a teď by to bylo automaticky eshopem, což by se vše zjednodušilo. Jenomže potřebuji dodržet v účetnictví číselnou řadu, čili nemohu zase začínat třeba od čísla 1 nebo přeskočit na 500, ale musí to mít návaznost. Mazat původní cenná data z eshopu je pro mě nesmysl, abych se dostal na ID číslo, které by navazovalo. Proto mě napadalo, že by se to mohlo vyřešit tak, že by identifikační číslo ID nutné pro načtení položek z DB eshopu zůstalo ve skriptu zachováno a volalo by se jednoduše nějakou takovou adresou "faktura.php" pro načtení potřebných dat z DB do políček faktury a pouze to číslo faktury a datum splatnosti bych si mohl ručně upravit přes jednoduchou tabulku třeba v html, kterou by ten skript php vyvolal a bylo by po problému. Ale nejsem v tomhle vůbec kovaný a nevím, jak dalece je toto realizovatelné :-/

Takže si nainicializuješ číslo faktúry $CisloFaktury = $_REQUEST['CisloFaktury'] a vo výpisoch použiješ $CisloFaktury namiesto $iOrder. Podobne $DatumSplatnosti = $_REQUEST['DatumSplatnosti'].

Budeš to volať adresou: webadresa.cz/faktura.php?Id=001&CisloFaktury=250&D atumSplatnosti=22.10.2011

Keď to bude fungovať, tak si môžeš následne spraviť HTML stránku, ktorá ťa na tú adresu po vyplnení údajov presmeruje.

Zpět do poradny Odpovědět na původní otázku Nahoru