I am extracting some rss feed. From each resource I get the description node that contain html code.
From this code I delete img tag with this code:
preg_replace("/<img[^>]+\>/i", "", $content)
After I would delete the image label that is after images.
For example in this code I would remove elements.
<img src="http://www.dagospia.com/img/foto/06-2012/paolo-savona-lerner-170816_tn.jpg" alt="" id="394669"></em><strong>PAOLO SAVONA DA LERNER ALL INFEDELE </strong>
Xml:
<description>
<![CDATA[
<p><strong>Enrico Marro per "Corriere della Sera"</strong></p><span style="position: static; clear: none; z-index: auto; left: auto; top: auto;" class="imgDrag imgLeft"><em><img src="http://www.dagospia.com/img/foto/06-2012/paolo-savona-lerner-17
]]>
<![CDATA[
0816_tn.jpg" alt="" id="394669"></em><strong>PAOLO SAVONA DA LERNER ALL INFEDELE </strong></span>
<p>«A dire il vero il piano del Pdl, cioè il piano Brunetta al quale pure abbiamo fornito materiali, è molto più soft della mia proposta, inizialmente elaborata col professor Giuseppe Guarino e mes
]]>
<![CDATA[
sa a punto in questi ultimi mesi con i colleghi Michele Fratianni e Antonio Rinaldi. Ma è pur sempre meglio che niente, purché l'azione choc per abbattere di 400 miliardi di euro il debito pubblico si faccia in un colpo solo e non frazionandola in più anni».</p>
<p>Per Paolo Savona, economista,
]]>
<![CDATA[
presidente del Fondo interbancario di tutela dei depositi ed ex ministro dell'Industria nel governo Ciampi (1993-94), servirebbe un vero e proprio consolidamento di tutto il debito pubblico assistito dalla messa in gioco di asset del patrimonio pubblico destinati a essere ceduti.</p><span style="po
]]>
<![CDATA[
sition: static; clear: none; z-index: auto; left: auto; top: auto;" class="imgDrag imgRight"><em><img src="http://www.dagospia.com/img/foto/05-2010/57722_tn.jpg" alt="" id="282222"></em><strong>PAOLO SAVONA E SIGNORA </strong></span>
<p><strong>Professore di proposta choc in proposta choc. Non si può fare altrimenti?</strong><br>«Teniamo presente che per via del debito che ha raggiunto quasi il 130% del Prodotto interno lordo noi paghiamo 3 punti percentuali in più di interessi sui titoli di Stato, il famoso spread, e questo in parte si riflette anche sul costo del denaro per l'attività produttiva. Occorre quindi sottrarsi a questa valutazione della speculazione.</p><span style="position: static; clear: none; z-index: auto; left: auto; top: auto;" class="imgDrag imgLeft"><em><img src="http://www.dagospia.com/img/foto/08-2012/italia-crisi-183522_tn.jpg" alt="" id="407340"></em><strong>italia crisi </strong></span>
<p>Dico speculazione perché il patrimonio pubblico a garanzia del debito pubblico è più che capiente: fu censito prudenzialmente in quasi duemila miliardi di euro di valore dal ministero dell'Economia (commissione Reviglio junior) nel 2011, comprendendo anche le partecipazioni pubbliche e il patrimonio degli enti locali, che certamente non si possono tirar fuori da questo problema. Per fermare la speculazione bisogna consolidare e liberarci di questa palla al piede che frena lo sviluppo del Paese».</p><span style="position: static; clear: none; z-index: auto; left: auto; top: auto;" class="imgDrag imgRight"><em><img src="http://www.dagospia.com/img/foto/08-2012/italia-crisi-183521_tn.jpg" alt="" id="407339"></em><strong>italia crisi </strong></span>
<p><strong>È una prospettiva che spaventa. Come funziona la sua proposta?</strong><br>«Innanzitutto si tratta di un'operazione di consolidamento su base volontaria. I titoli pubblici emessi dal Tesoro in circolazione vedrebbero la loro scadenza rimodulata a sette anni, indipendentemente dalla tipologia e dalla vita residua e gli interessi verrebbero rideterminati annualmente sulla base del costo della vita e del 20 per cento del tasso di crescita del Pil reale.</p>
<p>Inoltre, per ogni mille euro di valore nominale di emissione di ciascun titolo oggetto del provvedimento sarebbe assegnato uno warrant negoziabile sul mercato durante i sette anni di vita del titolo sia per trarre un beneficio monetario immediato sia per opzionare i beni e le attività finanziarie messi a disposizione dallo Stato».</p><span style="position: static; clear: none; z-index: auto; left: auto; top: auto;" class="imgDrag imgLeft"><em><img src="http://www.dagospia.com/img/foto/04-2013/euro-crac-231641_tn.jpg" alt="" id="455060"></em><strong>EURO CRAC</strong></span>
<p><strong>Ma non si creerebbe uno scenario argentino?</strong><br>«No. Durante i 7 anni del consolidamento il Tesoro non dovrebbe più finanziarsi emettendo titoli, dovrebbe rispettare il pareggio di bilancio e beneficerebbe del calo degli interessi sul debito di almeno 30 miliardi di euro all'anno, rispetto agli 85 che paghiamo ora, risparmi che per esempio potrebbero essere ben utilizzati per abbattere il cuneo fiscale sui salari.</p>
<p>L'operazione dovrebbe essere strutturata giuridicamente e finanziariamente da società specializzate a livello internazionale che, ovviamente dietro adeguate commissioni, ne garantirebbero però il successo».</p><span style="position: static; clear: none; z-index: auto; left: auto; top: auto;" class="imgDrag imgRight"><em><img src="http://www.dagospia.com/img/foto/08-2012/italia-crisi-183520_tn.jpg" alt="" id="407338"></em><strong>italia crisi </strong></span>
<p><strong>Perché un risparmiatore dovrebbe accettare volontariamente il consolidamento?</strong><br>«Perché sarebbe ben remunerato e acquisirebbe anche il warrant negoziabile sul mercato, cioè il diritto di beneficiare di vantaggi monetari cedendolo o di acquistare l'asset pubblico sottostante posto a garanzia che con la valorizzazione potrebbe essere molto appetibile».</p>
<p><strong>Professore, mi pare un'operazione senza precedenti, in nessun Paese.</strong><br>«È vero. Si tratta di una pura operazione finanziaria che bypassa le resistenze delle burocrazie pubbliche che finora hanno ostacolato qualsiasi tentativo di attacco al debito. In ogni caso, ripeto, se la nostra ultima proposta sembra troppo ardita, si parta pure con quella rilanciata ora dal Pdl, purché in una tornata unica e non sia affidata alle burocrazie, altrimenti non decollerà mai.</p>
<p>Si individuino gli asset per 400 miliardi di euro e li si conferiscano a una società privata ad hoc, abbattendo così il debito dai 2 mila miliardi attuali a 1.600 miliardi. Bisogna però sapere che questo non basta se poi si continua a fare deficit. Invece, col consolidamento che impone il ritiro dal mercato delle emissioni di nuovi titoli ci vuole il pareggio di bilancio e il problema del debito si avvia a una soluzione strutturale. Per attuarlo occorrono politici e tecnici coraggiosi e non cinici, ossia che non tollerino una disoccupazione che superi perfino i livelli attuali».</p>
<p> </p>
]]>
</description>
Looks like every <img> is wrapped inside an <em> tag, you certainly want to remove it along.
Interesting that you managed to get so far and be stuck at this stage. Anyways, try this regex:
/<em><img[^>]+\><\/em>\<strong>[^>]+>/i
This only works if the <strong> tag does not contain any sub-tag.
Disclaimer: HTML is not a regular language
Related
In my WP site I have some articles like this:
<img class="alignnone size-full wp-image-247308" src="http://www.liberta.it/wp-content/uploads/2016/11/IMG_0143.jpg" alt="IMG_0143" width="1632" height="1224" />
<strong>Il livello del Po a Piacenza</strong> è cresciuto di due metri in una giornata. Il Grande Fiume è osservato speciale in seguito alle abbondanti piogge che hanno colpito il Piemonte provocando la piena degli affluenti. Per tutta la giornata di oggi sono previste piogge in attenuazione dalla serata.
“L’innalzamento del fiume è molto rapido – spiega Massimo Valente di Aipo – al momento il Po a Piacenza è arrivato a 3.30 e l’ondata di piena è attesa già domani ma sarà più intensa nelle giornata di sabato. Aipo sta monitorando costantemente la situazione”.
<img class="alignnone size-full wp-image-247310" src="http://www.liberta.it/wp-content/uploads/2016/11/IMG_0144.jpg" alt="IMG_0144" width="1632" height="1224" />
In the single.php page I've to extrapolate the summary of the article (the first phrase). The code is the following:
<div class="summary-content"><h3 class="sommario"><?php ... ?></h3></div>
I think that I use the_excerpt() function but I don't know the way to use it.
What is the php code to insert into to extrapolate the following text from the article:
Il livello del Po a Piacenza è cresciuto di due metri in una giornata. Il Grande Fiume è osservato speciale in seguito alle abbondanti piogge che hanno colpito il Piemonte provocando la piena degli affluenti
I would recommend using the Wordpress website as a reference. Everything you could possibly want to know is available there if you take a little time to look.
I m trying to get a id from a list by clicking on a button thats included in the list.The information in the list is generated from a openlayers map. The list is automatically generated from the map. The list looks like this. The id i want is the value of dans
The code i m using is as following:
<ul id ="table_overvieuw">
<#list features as feature>
<li><b>Type: ${type.name}</b> (id: <em>${feature.fid}</em>):
<ul>
<#list feature.attributes as attribute>
<#if !attribute.isGeometry>
<li><b>${attribute.name}</b></li>
${attribute.value}
</#if>
</#list>
<br><br>
<input type="button" name="geef slijpplaten info" class="ok" value="OK" onclick="myFunction()" />
</ul>
</li>
</#list>
</ul>
<script type="text/javascript">
function highlight(e) {
if (selected[0]) selected[0].className = '';
e.target.parentNode.className = 'selected';
}
var table = document.getElementById('table_overvieuw'),
selected = table.getElementsByClassName('selected');
table.onclick = highlight;
function myFunction(){
alert($("li.selected.value li:first" ).html());
}
</script>
The renderded html of the list is:
<html><head>
<style>
ul {
background: #cce5ff;
padding: 20px;
}
ul li {
margin: 5px;
}
.selected {
background-color: brown;
color: #FFF;
}
</style>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script><style type="text/css"></style>
</head>
<body><ul id="table_overvieuw">
<li><b>Type: dans_compleet</b> (id: <em>dans_compleet.fid--50014eb6_15374e6dbd1_-779f</em>):
<ul>
<li><b>dans</b></li>
40347
<li><b>x_coord</b></li>
221405
<li><b>y_coord</b></li>
591262
<li><b>dans_code</b></li>
40347
<li><b>archis_onderzoeksmeldingsnr</b></li>
21475 and 24639
<li><b>title</b></li>
De (on)mogelijkheden van archeologisch vriendelijk bouwen op terpen en wierden
<li><b>creator</b></li>
Huisman, D.J.
<li><b>contributor</b></li>
Doesburg, J. van; Muller, A.; Stover, J.
<li><b>date_created</b></li>
2009
<li><b>rights_holder</b></li>
Rijksdienst voor het Cultureel Erfgoed
<li><b>publisher</b></li>
Rijksdienst voor het Cultureel Erfgoed
<li><b>description</b></li>
Bouwaanvragen voor de realisatie van nieuwbouw op de wettelijk beschermde archeologische monumenten Kenwerd en Groot Wetsinge in de provincie Groningen vormden aanleiding in het kader van het MADE-project onderzoek te doen naar de mogelijke effecten van heien op wierdelagen en daarmee samenhangende grondsporen. Voorafgaande aan het heien zijn op beide locaties boringen gezet en proefsleuven gegraven om de stratigrafische opbouw te bepalen. Tevens zijn uit de profielen micromorfologische monsters genomen. In Kenwerd is er sprake van een wierde en in Groot Wetsinge van een valgen. Beide complexen lijken in de Late IJzertijd \xe2\x80\x93 Vroeg Romeinse tijd te zijn ontstaan. Nadat de heipalen waren aangebracht zijn opnieuw sleuven gegraven en daaruit micromorfologische monsters genomen. Op basis van de veldwaarnemingen en resultaten van de analyse van de slijpplaten kan worden aangenomen dat schade door ingeheide betonnen heipalen in beide gevallen slechts enkele centimeters buiten de paal zelf waarneembaar zal zijn. In algemene zin zal dit gelden voor alle terpen en wierden met een zelfde samenstelling en structuur. Hier moet evenwel de volgende kanttekening worden geplaatst. Uit de waarnemingen in een slijpplaat uit Groot Wetsinge blijkt dat zandlagen w\xc3\xa9l laterale effecten van heipalen kunnen laten zien. Als zandlagen dikker zijn en niet, zoals in Groot Wetsinge het geval is, kleilaagjes of -laminae bevatten, is de schade aanzienlijk groter. Dat geldt ook als het zand grover en/of hoekiger is. Daarnaast is het logisch dat een heipaal die door een bakstenen fundering, liggend hout of een compacte ,mestlaag wordt geheid, of die andere harde of taaie obstakels raakt, veel grotere schade zal aanrichten. Bij beslissingen over het al dan niet toestaan van heien op beschermde terpen en wierden moeten deze punten worden meegenomen.<br>Extrapolatie van de onderzoeksresultaten van Kenwerd en Groot Westinge naar andere gebieden is niet aan te raden. Terpen en wierden hebben een zeer specifieke samenstelling en genese. Het is daarom van groot belang om vergelijkbaar onderzoek uit te voeren in andere gebieden en op andersoortige vindplaatsen om die wijze uiteindelijk tot een algemener beeld te komen van de effecten van het gebruik van heipalen op terreinen met archeologische resten.<br><p></p>
<li><b>subject_abr_complex</b></li>
Nederzetting - Terp/wierde
<li><b>temporal_abr</b></li>
Middeleeuwen: 450 - 1500 nC and Nieuwe tijd: 1500 - heden
<li><b>spatial_point</b></li>
<li><b>spatial_coverage</b></li>
<li><b>relation</b></li>
Rapportage ARcheologische Monumentenzorg 176
<br><br>
<input type="button" name="geef slijpplaten info" class="ok" value="OK" onclick="myFunction()">
</ul>
</li>
</ul>
<script type="text/javascript">
function highlight(e) {
if (selected[0]) selected[0].className = '';
e.target.parentNode.className = 'selected';
}
var table = document.getElementById('table_overvieuw'),
selected = table.getElementsByClassName('selected');
table.onclick = highlight;
function myFunction(){
alert($("li.selected.value li:first" ).html());
}
</script>
</body></html>
If i click on my button(after selecting) i get dans and not the value of dans. Can somebody give me a hand?
Okay, this is a bit of a slap-dash approach, with little changes that need to be made to your code, but it should get you what you want.
Firstly wrap ${attribute.value} in span tags so we can select it in js/jquery. Then alter the alert in myFunction() to:
alert($("li.selected").next('span').html());
But I would recommend that you rethink your approach to this. I would have the values of the attributes, wrapped in span tags, inside the li tags. This would then make the selection process of the selected li much easier ($('li.selected span').html();) and reliable as, currently, there is no real guarantee that the next span is the corresponding value to the selected li.
This question already has answers here:
PHP parse/syntax errors; and how to solve them
(20 answers)
Reference Guide: What does this symbol mean in PHP? (PHP Syntax)
(24 answers)
Closed 7 years ago.
i'm beginner in php i get this message Parse error: syntax error, unexpected T_STRING , how to fix plz ?
PHP
<?php if(is_shop())
echo
"<div class="descriptif">"
'<p class="a1">'Envie de l’authentique foie gras au marc de banyuls ou
<br> un bon cochon confit miel gingembre et d’autres produits cuisinés par le chef ?! '</p>'
'<p class="a1">'C’est le moment de vous faire plaisir !'</p>'
'<p class="a2">'LE TERROIR « <em>MADE IN COTE SAISONS</em> » C’EST BIEN <em>ICI</em> !'</p>'
'<p class="a3">'Le Chef <em>Nicolas Ventelon</em> vous propose une gamme de produits locaux offrir ou à déguster chez vous !'</p>'
'<p class="a4">'Livraison en France métropolitaine par la poste entre 48 et 72h'</p>'
'<p class="a5">'Les commandes sont traitées tous les jours excepté mercredi et jeudi.'</p>'
"</div>"
?>
Try this (note there is only two ' at the beginning and at the end of echo. In between You should use " for html attributes like class="descriptif" ). Hope this helps.
echo
'<div class="descriptif">
<p class="a1">Envie de l’authentique foie gras au marc de banyuls ou
<br> un bon cochon confit miel gingembre et d’autres produits cuisinés par le chef ?! </p>
<p class="a1">C’est le moment de vous faire plaisir !</p>
<p class="a2">LE TERROIR « <em>MADE IN COTE SAISONS</em> » C’EST BIEN <em>ICI</em> !</p>
<p class="a3">Le Chef <em>Nicolas Ventelon</em> vous propose une gamme de produits locaux offrir ou à déguster chez vous !</p>
<p class="a4">Livraison en France métropolitaine par la poste entre 48 et 72h</p>
<p class="a5">Les commandes sont traitées tous les jours excepté mercredi et jeudi.</p>
</div>';
Writing string :
echo 'Hello " World';
or
echo "Hello ' World";
Multiline string
echo 'Hello
World';
Or
echo 'Hello' .
'world';
In your case you should correct as follow
echo
'<div class="descriptif">
<p class="a1"> Envie de l’authentique foie gras au marc de banyuls ou
<br> un bon cochon confit miel gingembre et d’autres produits cuisinés par le chef ?! </p>
<p class="a1">C’est le moment de vous faire plaisir !</p>
<p class="a2">LE TERROIR « <em>MADE IN COTE SAISONS</em> » C’EST BIEN <em>ICI</em> </p>
<p class="a3">Le Chef <em>Nicolas Ventelon</em> vous propose une gamme de produits locaux offrir ou à déguster chez vous !</p>
<p class="a4">Livraison en France métropolitaine par la poste entre 48 et 72h</p>
<p class="a5">Les commandes sont traitées tous les jours excepté mercredi et jeudi</p>;
</div>';
You should be careful not to mix single or double quotes
if you open a string with single quote, ensure you don't have single quotes in it or escape it like this \'
in your code
"<div class="descriptif">"
you should either enclose 'descriptif' in single quotes or escape it with slash. or use single quotes like
'<div class="descriptif">'
you should also concatenate strings with dot, i.e.
'<div class="descriptif">'.'<p class="a1">'
There's a mess between " and ', here is your template fixed :
<?php if(is_shop())
echo
'<div class="descriptif">
<p class="a1">Envie de l’authentique foie gras au marc de banyuls ou
<br> un bon cochon confit miel gingembre et d’autres produits cuisinés par le chef ?! </p>
<p class="a1">C’est le moment de vous faire plaisir !</p>
<p class="a2">LE TERROIR « <em>MADE IN COTE SAISONS</em> » C’EST BIEN <em>ICI</em> !</p>
<p class="a3">Le Chef <em>Nicolas Ventelon</em> vous propose une gamme de produits locaux offrir ou à déguster chez vous !</p>
<p class="a4">Livraison en France métropolitaine par la poste entre 48 et 72h</p>
<p class="a5">Les commandes sont traitées tous les jours excepté mercredi et jeudi.</p>
</div>';
?>
This documentation may help you : http://php.net/manual/en/language.types.string.php
For some strange reason 2 of the elements in my arrays are being ignored. They are...
ETIQUETAS XTRA MINI PARA OBJETOS and ETIQUETAS TERMOAHDESIVAS CLASICAS.
If the product page title is included in the array it renders an info box on the product page below the product image. This is true for all products in the array except the 2 mentioned above.
Below I have the two array vars and below that... the code that renders the info boxes. Any help is greatly appreciated. By the way, this is WooCommerce over Wordpress 4.0.
<?php
//for every label product.
$infoBox1Array = array('Pack Duo','Etiquetas Grandes','Etiquetas Navideñas','Pack Trio','ETIQUETAS PARA CUMPLEAÑOS SUPER PERSONALIZADA','LETREROS PARA CASAS','ETIQUETAS PARA CUMPLEAÑOS','PACK ZAPATOS FORMAS DE PIE','Pack Zapatos','Etiquetas Para Alergias Personalizadas','PACK FULL COLOR','Membretes','Etiquetas Termoadhesivas Mini (fondo blanco)','ETIQUETAS TERMOADHESIVAS FULL COLOR','ETIQUETAS TERMOAHDESIVAS CLASICAS','Saca & Pega','Stickers para Carros','ETIQUETAS PARA ALERGIAS','Etiquetas Kosher','Etiquetas Cocina','Etiquetas Minis','Pack mix 3','Pack mix 2','Pack mix 1','Etiquetas Redondas','Etiquetas Medianas','ETIQUETAS XTRA MINI PARA OBJETOS','Pack Xpress','Pack Guarderia','Pack Regreso al Cole');
//for every product that can be personalized.
$infoBox2Array = array('Pack Duo','Etiquetas Grandes','Etiquetas Navideñas','Pack Trio','ETIQUETAS PARA CUMPLEAÑOS SUPER PERSONALIZADA','LETREROS PARA CASAS','ETIQUETAS PARA CUMPLEAÑOS','PACK ZAPATOS FORMAS DE PIE','Pack Zapatos','Etiquetas Para Alergias Personalizadas','PACK FULL COLOR','Membretes','Etiquetas Termoadhesivas Mini (fondo blanco)','ETIQUETAS TERMOADHESIVAS FULL COLOR','ETIQUETAS TERMOAHDESIVAS CLASICAS','Saca & Pega','Etiquetas Minis','Pack mix 3','Pack mix 2','Pack mix 1','Etiquetas Redondas','Etiquetas Medianas','ETIQUETAS XTRA MINI PARA OBJETOS','Pack Xpress','Pack Guarderia','Pack Regreso al Cole');
?>
<div class="row">
<div>
<?php
include(TEMPLATEPATH . '/info-box-arrays.php');
if(is_single( $infoBox1Array )) {
echo '
<div style="background-color: #ffffff; border: solid 1px #CCCCCC;padding: 7px"><p style="text-align: justify">
El tamaño de la etiqueta y de letra son aproximados.<br/>
Los colores pueden variar de acuerdo a la configuración de su pantalla.
</p></div>
<div style="clear: both"> </div>';
}
if(is_single( $infoBox2Array )) {
echo '
<div style="background-color: #ffffff; border: solid 1px #CCCCCC;padding: 7px"><p style="text-align: justify">
<strong><span style="color: #ff0000;">Nota Importante:</span></strong> Los datos que escribe son los que serán procesados en su pedido.</br/>
Considerar acentos y mayusculas.
</p></div>';
}
?>
</div>
</div>
I have replicated your code and created a post ETIQUETAS TERMOAHDESIVAS CLASICAS. It works fine so I suspect that there is nothing wrong with your array.
I think that there is another reason that is_single is returning false. I think it is either you have a slightly different title for your post or that you are trying to use it for a page.
I'm making a cookie system, but It doesn't work; I have this code:
<?php
$cookie = $_GET['cookie'];
if(empty($cookie))
{
$cookie = '';
}
if($cookie = 'ok')
{
setcookie("terminos", "", time() + 60*60*24*365*10);
}
elseif($cookie = 'no')
{
?>
<div id="pmyr_div">
<center style="position: relative; top: 50%; margin-top: -23px;margin:auto 0;">
<img src="cooltext1105916314.png" style="margin-top:20px;" />
<br><br>
<big><b>USTED TIENE EL ACCESO DENEGADO A ESTE SITIO POR DENEGAR NUESTROS TÉRMINOS LEGALES.</b></big>
<br><br>
<b>De acuerdo, seré un chico bueno.</b>
</center>
</div>
<?
}
elseif($cookie = 'test')
{
setcookie("user", "", time()-60*60*24*365*10);
header('location: index.php?cookie=raw');
}
elseif($cookie = 'raw')
{
?>
<div id="pmyr_div">
<center>
<br><b>MUY IMPORTANTE!<br>ES NECESARIO QUE SE LEA NUESTROS TÉRMINOS LEGALES.</b><br><br>Sólo puede entrar en este sitio web <b>si es mayor de 18 años de edad</b>, o al menos la mayoría de edad en la jurisdicción donde usted reside o del que se accede a esta página web.<br><br>Si usted no cumple con estos requisitos, entonces usted NO ESTÁ AUTORIZADO, Y NO DEBE INGRESAR a este sitio web.
<br><br><br><br>
SOY MAYOR DE 18 AÑOS
NO ENTRAR
</center>
</div>
<?
}
elseif(empty($cookie))
{
?>
<div id="pmyr_div">
<center>
<br><b>MUY IMPORTANTE!<br>ES NECESARIO QUE SE LEA NUESTROS TÉRMINOS LEGALES.</b><br><br>Sólo puede entrar en este sitio web <b>si es mayor de 18 años de edad</b>, o al menos la mayoría de edad en la jurisdicción donde usted reside o del que se accede a esta página web.<br><br>Si usted no cumple con estos requisitos, entonces usted NO ESTÁ AUTORIZADO, Y NO DEBE INGRESAR a este sitio web.
<br><br><br><br>
SOY MAYOR DE 18 AÑOS
NO ENTRAR
</center>
</div>
<?
}
if(isset($_COOKIE["terminos"]))
{
//page content here
}
elseif(!isset($_COOKIE["terminos"]))
{
?>
<div id="pmyr_div">
<center>
<br><b>MUY IMPORTANTE!<br>ES NECESARIO QUE SE LEA NUESTROS TÉRMINOS LEGALES.</b><br><br>Sólo puede entrar en este sitio web <b>si es mayor de 18 años de edad</b>, o al menos la mayoría de edad en la jurisdicción donde usted reside o del que se accede a esta página web.<br><br>Si usted no cumple con estos requisitos, entonces usted NO ESTÁ AUTORIZADO, Y NO DEBE INGRESAR a este sitio web.
<br><br><br><br>
SOY MAYOR DE 18 AÑOS
NO ENTRAR
</center>
</div>
<?
}
?>
When I press the link SOY MAYOR DE 18 AÑOS the message doesn't disappear. I think that the cookie isn't set.
What can I do?
In all your if and elseif statements, you have something like:
($cookie = "ok")
It should be:
($cookie == "ok")
= is for assignment, == is for comparing.
For using the cookie, put the following at the top of the script:
$cookie_is_set = isset($_COOKIE['terminos']);
After each of your setcookie() calls, add:
$cookie_is_set = true;
Then at the bottom of the script, instead of
if (isset($_COOKIE['terminos']))
use:
if ($cookie_is_set)
You are setting an empty cookie
setcookie("terminos", "/*here you have to put a value*/", time() + 60*60*24*365*10);
http://php.net/manual/en/function.setcookie.php