Includnutie php scriptu do stranky

Programovacie jazyky, rady, poradňa...
forfun
Light Expert
Light Expert
Príspevky: 77
Registrovaný: 03 jan 2010, 17:26

Includnutie php scriptu do stranky

Príspevok od používateľa forfun »

Zdravim

Narazil som na jeden problemik s ktorym si neviem dat rady.

Mam stranku, na stranke napr. kontaktny formular stranka z hladiska kodu vyzra asi takto:
php kod na spracovanie formulara
includnuty header stranky
samotne telo stranky (html kontaktny formular)

Snazim sa prist na to ako sa da tento kontaktny formular includnut do stranky bud ako funkcia alebo ako nieco ine tak aby to fungovalo a bolo to prehladne.
Najlepsie by bolo keby sa da cely php kod na spracovanie formulara + cely html formular dat ako keby do jednej funkcie ktoru mam v inom subore a potom ju uz len vlozim do danej stranky. Ale takto to nejde pretoze php kod musi byt v stranke pred includnutim headeru kvoli tomu ze v php pouzivam funkcie napr. header(), setcookie() atd. ktore musia byt vyvolane predtym ako hocico ine. Taktiez som skusal rozdelit php kod a html kod formulara na 2 funkcie ale to nefunguje, asi kvoli tomu ze ked su premenne vo funkcii tak maju danu hodnotu len vo vnutri tej funkcie.

Dufam ze sa to da pochopit z toho co som napisal.
Holubar
Darca
Darca
Používateľov profilový obrázok
Príspevky: 3894
Registrovaný: 24 feb 2005, 21:26
Bydlisko: Senec
Kontaktovať používateľa:

Re: Includnutie php scriptu do stranky

Príspevok od používateľa Holubar »

Ja mam tu zakladnu strukturu spravenu tak, ze v subore index.php mam na zaciatku session_start(), potom pripojenie k databaze a jeden SELECT, ktory sa pozuiva pri kazdom nacitani stranok, pridane kontrolne funkcie cez require, ktore su pozuizvane vacsinou skriptov a potom nasleduje hlavny SWITCH, ktory includuje subory so skriptami na zaklade parametru URL.

Cize v tvojom pripade oslobodis tvoj skript o tie zaciatocne veci, ktore musi obsahovat kazdy skript a napises len riadky pre spracovanie dat a html formular. Ja do vsetkych skriptov pridavam este header a footer je pridany v index.php za hlavnym SWITCHOM.

Header davam do jednotlivych skriptov z dovodu, ze kazdy skript ma mat na zaciatku urcite specificke informacie, ako nazov stranky, popis, pripadne parameter noindex pre botov...

Este musim napisat, ze sa povazujem za zaciatocnika a je mozne, ze existuje flexibilnejsie a rozumnejsie riesenie
forfun
Light Expert
Light Expert
Príspevky: 77
Registrovaný: 03 jan 2010, 17:26

Re: Includnutie php scriptu do stranky

Príspevok od používateľa forfun »

Tak teraz neviem ci som nepochopil ja teba alebo ty mna.

Najlepsie bude asi dat konkretny priklad ako vyzera stranka:

Kód: Vybrať všetko

<?php
//najprv includne funkcie
require "funkcie.php";

//potom nasleduju podmienky na spracovanie formulara
if($_POST['submit'])
{
bla bla bla
if($vsetko_ok == 1) // ak prejdu vsetky podmienky
 {
 header(); // funkcia ktora musi byt vyvolana pred akymkolvek outputom na stranke
 }
}
require "inc/header.php"; // includnuta hlavicka stranky s meta tagmi atd.
?>

// teraz pride samotny HTML formular

<form method="post" action="#">
<input type="submit" name="submit" />
</form>

<?php
include_once "inc/footer.php"; // includnutie päty
?>
a moja predstava ako by to bolo najlepsie (ak je to mozne)

Kód: Vybrať všetko

<?php
require "funkcie.php";
require "inc/header.php";
kontaktny_formular(); // ako funkcia zadefinovana vo funkcie.php, komplet aj s php kodom na spracovanie aj HTML
include_once "inc/footer.php";
?>
--- takto to ale nefunguje pretoze pri spracovani formulara pouzivam funckiu header();


PS: to som narychlo napisal, len informacne ako asi vyzera struktura stranky.
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Includnutie php scriptu do stranky

Príspevok od používateľa audiotrack »

a čo konkrétne v tom header() potrebuješ meniť? Keby je v tej fukcii podmienka či boli poslané dáta alebo nie, tak to je pekne funkčné podľa tvojích požiadavkov. Jediný problém robí ten header() čo sa ale vždy dá obísť (v krajnom riešení cez ob)
forfun
Light Expert
Light Expert
Príspevky: 77
Registrovaný: 03 jan 2010, 17:26

Re: Includnutie php scriptu do stranky

Príspevok od používateľa forfun »

Ja len potrebujem aby uzivatelovi napisalo ze ze jeho dotaz bol uspesne odoslany a redirectlo ho niekde inde. Ale v podstate to moze byt aj tak ze len napise spravu a vymaze data z formulara...
sa ale vždy dá obísť (v krajnom riešení cez ob)
Prezradis ako?, resp. co je ob?
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Includnutie php scriptu do stranky

Príspevok od používateľa audiotrack »

presmerovať ho môžeš aj inač ako cez header, napríklad pomocou javascriptu. Ob je output buffer a ide o to že nepošleš všetok text na výstup, ale si ho necháš v bufferi. Teda môžeš header dávať hocikde a a až na konci súborou flush-neš buffer aby sa jeho obsah vypísal. Žere to ale dosť pamäte, preto takéto riešenie neodporúčam
forfun
Light Expert
Light Expert
Príspevky: 77
Registrovaný: 03 jan 2010, 17:26

Re: Includnutie php scriptu do stranky

Príspevok od používateľa forfun »

Cez javascript to funguje, neviem preco ma to skor nenapadlo. Kazdopadne dakujem za radu.
Napísať odpoveď