Emelt díjas SMS szolgáltatás Joomla - Jobboard alatt PHP módosítás, hogyan?
Sziasztok,
Van egy hirdetős oldal, ami fizetős szolgáltatásként működik, olyan alapon, ha az ügyfél fizet, akkor láthatja hirdetéseket.
Jelenleg a hirdetések külön html fájlokban vannak és ezek tartalmát hívjuk meg az index.php-ban így:
if ($city == null) {
include('nyito.html');
} else if ($city != null) {
$include = false;
switch($city) {
case "partnerek":
case "elerhetoseg":
case "regisztracio":
$include = true;
break;
default:
$include = false;
break;
}
if ($_SESSION['sms_data'] != null) {
$include = true;
}
if ($include) {
include($city.'.html');
} else {
include('belepes.html');
}
}
ha az ügyfél fizet, láthatja a városok hirdetéseit.
Most ez annyiban változott, hogy joomla alá kerül az oldal, ahol pl. az álláshirdetések Job Board komponensben futnak.
Az új oldalon a hirdetés látszódni fog, csak az elérhetőségek nem.
Ahhoz, hogy az elérhetőségeket tegyük láthatatlanná, ezt a php programsort kellene az előzőekből átalakítani, hogy a '.JText::_('THIS_JOB_DUTIES').' csak akkor jelenjen meg, ha fizettek érte:
<?php if(($job_duties = $this->data->duties) <> '' ) : ?>
<?php echo '<br /><b>'.JText::_('THIS_JOB_DUTIES').'</b>'; ?> <br />
<?php echo $job_duties; ?>
köszönöm!
Ez így baromi kevés....
De ennyit segítek:
Amikor fizetett valaki, akkor az adatábizosban a felhasználónak tárolj el valahol egy értéket, hogy fizetett x időre vagy hasonlót.
Az oldal kódjában pedig összesen csak ezt kellene ellenőrizni, hogy van-e érvényes fizetése.
(De mondjuk az 1. kódból úgy tűnk, hogy nem vagy egy nagy PHP guru, szóval nem hiszem, hogy ennyi segítséggel sokat érnél...)
ha nem olvasod át rendesen, ne magyarázz feleslegesen.
Nem a mysql autorizációval van problémám.
!Mint leírtam!
Ahhoz, hogy az elérhetőségeket tegyük láthatatlanná, ezt a php programsort kellene az előzőekből átalakítani, hogy a '.JText::_('THIS_JOB_DUTIES').' csak akkor jelenjen meg, ha fizettek érte.
de hogy te is megértsd:
eddig egy get else if-el magán az index.php-n belül nyitotta meg a html-eket, ha valaki fizetett érte. deal?
de ha így egyszerűbb számodra egy egyszerűbb kód, ugyan ez a végeredmény:
if ($city == null) {
include('nyito.html');
} else if ($city != null) {
$include = false;
switch($city) {
case "regisztracio":
$include = true;
break;
default:
$include = false;
break;
}
if ($_SESSION['sms_data'] != null) {
$include = true;
}
if ($include) {
include($city.'.html');
} else {
print('NEM VAGY BELÉPVE!!!');
}
a kérdésem még mindig ugyan az:
Ahhoz, hogy az elérhetőségeket tegyük láthatatlanná, ezt a php programsort kellene az előzőekből átalakítani, hogy a '.JText::_('THIS_JOB_DUTIES').' csak akkor jelenjen meg, ha fizettek érte:
<?php if(($job_duties = $this->data->duties) <> '' ) : ?>
<?php echo '<br /><b>'.JText::_('THIS_JOB_DUTIES').'</b>'; ?> <br />
<?php echo $job_duties; ?>
Az elsőnek részben igaza van, úgy csináld meg hogy
először kell egy oszlop a mysql-ben, ami ezt tárolja
Ha ez megvan mehetünk tovább
Hozzá adsz egy MySQL lekérdezést és egy változóhoz adod pl:
$fizetes
Egyszerűbb lesz egy számmal megoldani , pl úgy hogy hány hónap van még hátra, és azt tárolja a mysql pl 2
utána egy if-el ellenőrzöd hogy a változó értéke nagyobb-e mint 0, így:
<?PHP
if($fizetes>0)
{
echo "idejön a kód ami kiadja az elérhetőséget ";
}
else
{
echo'Kapcsolat: A kapcsolat megtekintéséhez befizetés szükséges!';
}
?>
Ennyi kb
Első vagyok, hidd el tisztán értettem a kérdést, erról, hogy te nem érted a választ, nem én tehetek.
Kevésbé részletekbe menően, de ugyan azt írtam le amit most az utolsó is.
Ezt kell csinálnod és kész.
További segítséghez kellene a teljes kód, mert 3 sorból senki nem fog neked egy tökéletesen működő megoldást adni.
(Ettől független a "korábbi" switch-es megoldás inkább nevetséges sem mint jó.)
Csak, hogy mindenki boldog legyen, és meglegyen a teljesség(!) igénye:
Adott egy álláshirdető oldal, melynek a városonkénti hirdetéseit emelt díjas sms fizetés ellenében lehet megnézni.
Ami eddig megvan, az a belépés kilépés telefonszámmal. ez nem is jelentett gondot.
(Kód:1)
define('WEEK_IN_SEC', 604800);
session_start();
$time_out = false;
$news_letter = 0;
if (isset($_POST['phone_number']) ) {
$mysql_db = '......';
$mysql_user = '......';
$mysql_passwd = '.......';
$mysql_server = 'localhost';
$con = mysql_connect($mysql_server, $mysql_user, $mysql_passwd);
$phone_number = $_POST['phone_number'];
$phone_number = $phone_number[0].$phone_number[1];
$date = date('Y-m-d H:i:s');
if($con) {
if (mysql_select_db($mysql_db, $con)) {
$result = mysql_query('SELECT * FROM `sms_users` WHERE phone_number = "'.$phone_number.'";');
$row = mysql_fetch_array($result);
if (count($row) == 10) {
if (strtotime($row['date']) <= (time()-WEEK_IN_SEC)) {
$time_out = true;
$_SESSION['sms_data'] = null;
} else {
$_SESSION['sms_data'] = $_POST['phone_number'];
}
} else {
$_SESSION['sms_data'] = null;
}
}
}
mysql_close($con);
} elseif (!isset($_SESSION['sms_data'])) {
$_SESSION['sms_data'] = null;
}
if (isset($_POST['logout']) ) {
$_SESSION['sms_data'] = null;
}
Ami viszont igen:
- eddig az oldal úgy működött, hogy hogy külön külön html-eket hívtak meg a különböző tartalmakhoz a hivatkozásban pl:
index.php?city=baja
erre volt az index.php-ban ez az autorizáció:
(Kód:2)
if (isset($_GET['city'])) {
$city = $_GET['city'];
} else {
$city = null;
}
if (isset($_GET['con'])) {
$content = $_GET['con'];
} else {
$content = null;
}
és az ellenőrzést követő tartalmi megjelenítés, vagy nem megjelenítés:
(külön feltételekkel a külön tartalmaknak, gondolom egyértelmű)
(Kód:3)
if ($city == null) {
include('nyito.html');
} else if ($city != null) {
$include = false;
switch($city) {
case "partnerek":
case "elerhetoseg":
case "regisztracio":
$include = true;
break;
default:
$include = false;
break;
}
if ($_SESSION['sms_data'] != null) {
$include = true;
}
if ($include) {
include($city.'.html');
} else {
include('belepes.html');
}
}
?>
ezt próbálom átalakítani úgy, hogy a joomla jobboard komponensébe próbálom bele illeszteni azzal a kritériummal, hogy a elérhetőségek elem csak a fizetős ügyfeleknek legyen látható.
(persze ilyen elem nincs külön a komponensben, ezért a meglévő duties szekció van erre használva)
Ez a komponens
views\job\tmpl\default.php
átalakításával próbáltam a következők szerint:
<?php if(($job_duties = $this->data->duties) <> '' ) : ?>
<?php echo '<br /><b>'.JText::_('THIS_JOB_DUTIES').'</b>'; ?> <br />
<?php echo $job_duties; ?> <br />
ebbe próbáltam a Kód:3-at átalakítani de sehogy nem jön össze.
Kösz az építő válaszokat. Jaaa, olyan nem volt. Mindegy.
Megoldottam egyedül is.
A topoik zárható vagy törölhető.
Köszönöm.
Jah, bocsi, hogy nem írtuk meg helyetted az egész kódot, én kérek elnézést...
Végül is, csak leírtuk, hogy mit is kéne megoldani, de nem gáz.
Ja bocs hogy a kódot teljes egészében megírtam és kétszer be is másoltam. Az hogy nem tudtok olvasni nem az én hibám. Mint leírtam egy módosítást kellett volna végrehajtani a kódban, hogy egy joomla modul ".JTex:"-je megjelenjen a kellő időben.
De éppen erre való az 524 oldalas php alapismeretek c. könyv. Így ahelyett, hogy itt folytattam volna tovább ezt a magasröptű eszmefuttatást, inkább kiolvastam a könyvet és megoldottam.
Mindenki ballaghat szépen tovább, legközelebb biztos nem teszek fel itt semmi kérdést.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!