Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Intrerupator cu N - doza doar cu ...

Incalzire casa fara gaz/lemne

Incalzire in pardoseala etapizata

Suprataxa card energie?!
 Cum era nivelul de trai cam din a...

probleme cu ochelarii

Impozite pe proprietati de anul v...

teava rezistenta panou apa calda
 Acces in Curte din Drum National

Sub mobila de bucatarie si sub fr...

Rezultat RMN

Numar circuite IPAT si prindere t...
 Pareri brgimportchina.ro - teapa ...

Lucruri inaintea vremurilor lor

Discuții despre TVR Sport HD.

Cost abonament clinica privata
 

Transformare script HTML in PHP

- - - - -
  • Please log in to reply
5 replies to this topic

#1
dan74mm

dan74mm

    Active Member

  • Grup: Members
  • Posts: 1,136
  • Înscris: 16.03.2006
Am un script in HTML pe care vreau sa-l modific pentru a creea niste variabile si niste conditii in PHP, numai ca nu-i dau de capat ... Am sa postez aici codul si am s aexplic ce vreau, in speranta ca cineva mai luminat la minte decat mine, ma va lumina si pe mine ...

Deci, intr-un fisier .tpl, am urmatorul form:

<?php if ($themes) { ?>
<form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data" id="module_theme_switcher">
	  <div align="center" id="tab_general" class="page">
  <select name="product" onchange="location=this.value" style="width:150px;">
   <option value="no">--- SELECT ---</option>
   <option value="http://siteulmeu.ro/index.php?&amp;theme=Desktop_Custom">Desktop</option>
   <option value="http://siteulmeu.ro/index.php?&amp;theme=mobile_theme">Mobile</option>
  </select>
	</form>
<?php } ?>

Ce face acesta? Este un "theme changer", respectiv utilizatorul poate selecta o anumita tema. Userul selecteaza tema, dupa care tema va fi automat schimbata. Problema este ca, vreau sa elimin "internventia umana", respectiv schimbarea temei sa se faca automat in "background" in functie de browserul utilizat. Partea de script cu identificarea browserului/utlizatorului am rezolvat-o deja, mai ramane sa "transform" form-ul de mai sus in PHP, ceva de genul:

<?php
if ($vizitor = $mobile) {
  // ... iar aici, sa fie automat selectat optiunea "<option value="http://siteulmeu.ro/index.php?&amp;theme=mobile_theme">Mobile</option>";
  //
} else {
  // ... aici sa fie automat selectat optiunea "<option value="http://siteulmeu.ro/index.php?&amp;theme=e=DesktopCustom">Desktop</option>";
  //
}
?>

Cu alte cuvinte, vreau sa elimin atat acel "form" cat si necesitatea interventiei umane, si vreau ca transformand actiunea acelui "form" in PHP, sa pot "automatiza" procesul de schimbare a temei in functie de browserul vizitatorului. Sper ca intelegeti ce vreau sa spun ...

#2
potae

potae

    Sorosist frumos si liber

  • Grup: Senior Members
  • Posts: 3,429
  • Înscris: 20.08.2013
Ii faci redirect?

Quote

if ($vizitor = $mobile) {
  header("Location: http://siteulmeu.ro/...e=mobile_theme");
} else {
  la fel dar pui linkul normal.
}

posibil sa fie nevoie de die(); dupa chestia cu headerul. Nu stiu sigur ca nu-s cu pehashpeurile. Inca o chestie, ai if ($vizitor = $mobile) nu cumva e ==? O.o

#3
RedDev

RedDev

    Active Member

  • Grup: Members
  • Posts: 1,924
  • Înscris: 29.10.2014
După header neapărat se pune exit(0). Dacă nu pui exit atunci codul după linia ce schimbă header-ele/după redirecționare va fi executat!

Edited by RedDev, 07 March 2015 - 13:23.


#4
danutz0501

danutz0501

    Member

  • Grup: Members
  • Posts: 437
  • Înscris: 22.04.2008
Titlul e total gresit. Problema ta nu are treaba cu schimbarea extensiei unui fisier. Problema ta e un layout fluid si o poti rezolva simplu prin media queries.
Un exemplu http://line25.com/tu...-media-queries.
Asta nu e o problema cu rezolvare ideala in php, e mai repede si mai "ok" rezolvata prin css si poate js.
Folosind metoda asta scapi de link-uri de genu "http://siteulmeu.ro/...Desktop_Custom"

#5
dan74mm

dan74mm

    Active Member

  • Grup: Members
  • Posts: 1,136
  • Înscris: 16.03.2006
Multumesc pentru raspunsuri, in primul rand ...

In al doilea rand, ... well, prima varianta, cea cu "<?php header("Location: /index.php?route=common/home&theme=mobile"); exit; ?>" nu merge de nici o culoare, cand adaug asta se blocheaza pagina de tot, adica nu mai afiseaza absolut nimic.
Daca fac efectiv redirect cu "<meta HTTP-EQUIV="REFRESH" content="0; url=/index.php?route=common/home&theme=mobile">" functioneaza, numai ca merge in bucla continua, deci nu este o rezolvare ...

Am pus pur si simplu niste link-uri cu:
<a href="/index.php?route=common/home&theme=mobile">Mobile version</a>
<br />
<a href="/index.php?route=common/home&theme=desktop">Desktop version</a>
<br />

... si functioneaza perfect, cand dau click pe "Mobile version" se schimba tema in cea pentru mobile si asa ramane, iar cand sau click pe "Desktop version" se schimba tema pe varianta "desktop" si asa ramane ...
Numai ca, nici cum nu pot "automatiza" acest proces  !?

Faza cu doua fisiere .css ar fi ok, insa pur si simplu nu pot deoarece tema pentru desktop este de asa natura facuta din template (fisierele .tpl - 3 coloane) incat nu arata nicicum pe un mobil, motiv pentru care am o tema creeata special pentru mobile (cu derulare pe verticala) care este perfecta, insa nu pot automatiza procesul !?

Edited by dan74mm, 07 March 2015 - 18:55.


#6
danutz0501

danutz0501

    Member

  • Grup: Members
  • Posts: 437
  • Înscris: 22.04.2008
Ai putea folosi https://www.webhosti...mobile-devices/ . Pe pagina e si un mic exemplu pt a folosi clasa cu wordpress.
La problema ta "cu blocatu", am si eu o intrebare, ce setari ai pt afisarea erorilor? E posibil sa ai output deja si folosirea functiei header sa produca o eroare. Dar daca nu ai setat php-ul sa arate erorile nu o sa vezi nimic.
Si acum sa o luam cu inceputul. Ce script folosesti, e custom, e wordpress, e joomla etc?
Zici ca ai un fisier .tpl, intr-un fisier tpl nu ai cum sa pui cod php(pt ca nu o sa fie interpretat) daca nu folosesti un template engine capabil sa evalueze codul(ceva cu functia eval) php si sa il proceseze, sau sa un fisier de configurare prin care sa ai spui serverului (daemonului http) sa proceseze fisierele .tpl ca si fisiere php.
Folosesti un stack lamp wamp XAMPP pt teste pe local?Daca da vezi ca de obicei ai eror reporting zero la ele(cel putin pt a fi afisate), si asa ajungi la rezultatu de mai sus, folosind header ajungi la o pagina goala fara absolut nici o eroare.
Adauga bucatica asta de cod in fisierul tau. Trebui sa o pui exact la inceputul fisierului. O sa o folosesti doar pt teste, local.Ca sa iti arate erorile.
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
?>


Edited by danutz0501, 08 March 2015 - 03:43.


Anunturi

Second Opinion Second Opinion

Folosind serviciul second opinion ne puteți trimite RMN-uri, CT -uri, angiografii, fișiere .pdf, documente medicale.

Astfel vă vom putea da o opinie neurochirurgicală, fără ca aceasta să poată înlocui un consult de specialitate. Răspunsurile vor fi date prin e-mail în cel mai scurt timp posibil (de obicei în mai putin de 24 de ore, dar nu mai mult de 48 de ore). Second opinion – Neurohope este un serviciu gratuit.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate