Beste SD'ers,
Vanavond was ik bezig met het updaten van mijn website. Zo wou ik een kleine upgrade invoeren in het nieuwssysteem. Niks mis mee. Uiteindelijk bleek het niet helemaal te lukken zoals ik wilde, ik kreeg een error die ik zodra even vermeld, dus drukte ik een aantal keer op CTRL + Z (ongedaan maken) waardoor ik weer de code had, die ik enkele minuten geleden ook had. Tegelijk deletete ik de kolom die ik had aangemaakt in phpMyAdmin en alles is weer het zelfde als daarvoor. Echter, de error bleef.
Op http://www.eaglesfans.nl/index2.php kunnen jullie zien dat er 5 errors staan. Voor elk nieuwsbericht 1. Ik heb al met een back-up-bestand alles geprobeert te herstellen, maar de errors blijven. Ik heb geen idee waar de fout ligt.
De code kunnen jullie in de volledigheid vinden op www.eaglesfans.nl/code.txt. De regel waar volgens de error de fout ligt heb ik dikgedrukt gemaakt.
De error is dus:
Ik hoop dat iemand mij kan helpen.Code:Warning: strpos() [function.strpos]: Offset not contained in string. in ........... on line 150
Alvast bedankt!
Mvg,
Kees Leurink
- Error in nieuwsberichten
-
11-08-2009, 22:41 #1
- Berichten
- 125
- Lid sinds
- 17 Jaar
Error in nieuwsberichten
-
In de schijnwerper
SSD Webhosting al vanaf €0,85 ! 5GB SSD Opslag - Onbeperkt Dataverkeer - SitebuilderHostingPrijsperkwh.nl - met content & affiliate kansenWebsite te koopVakantieslitouwen.nl - 525 artikelen - Startklaar voor affiliate / Adsense!Website te koopPopi.nl | Linkbuilding Platform| 14.000+ MogelijkhedenLinkpartners -
11-08-2009, 22:50 #2
- Berichten
- 249
- Lid sinds
- 16 Jaar
Kun je de code laten zien van regels 140 tm 155
dat is wat makkelijker
-
11-08-2009, 22:54 #3
- Berichten
- 125
- Lid sinds
- 17 Jaar
Hmm.. het is één grote while waar hij deel uitmaakt, dus helemaal precies lukt het niet, maar hier een kleinere versie (r 148 t/m 163):
PHP Code:while($bericht = mysql_fetch_array($nieuws))
{
$wanneer = strpos($bericht['nieuws']," ",310);
$reactie = mysql_query("SELECT id, naam, email, tijd, datum, bericht, nieuws_id FROM reacties WHERE nieuws_id ='".$bericht['id']."'");
$aantal = mysql_num_rows($reactie);
echo "
<table>
<tr>
<td rowspan='2'><img src='nieuws/upload/". $bericht['plaatje'] ."' width='100' height='100'></td>
<td rowspan='3'> </td>
<td colspan='2'><span style='font-size: large;'>". $bericht['titel'] ."</span>
</td>
<td>
";
...............
-
11-08-2009, 23:02 #4
- Berichten
- 209
- Lid sinds
- 18 Jaar
De offset 310 bestaat niet binnen die string $bericht['nieuws'].
Verwijder $wanneer = strpos($bericht['nieuws']," ",310); en verander substr($bericht['nieuws'],0,$wanneer) in substr($bericht['nieuws'], 0, 310)
Je script is trouwens zo lek als een mandje...
-
11-08-2009, 23:30 #5
- Berichten
- 125
- Lid sinds
- 17 Jaar
Ik heb je raad opgevolgd, maar het werkt helaas niet.
Over dat laatste ben ik het trouwens roerend met je eens. Het was een van mijn (met hulp van een ander) eerste, zoniet mijn eerste serieuze script (dus met database e.d.) Daarom heb ik nu ook zoveel problemen om alle probleempjes eruit te halen, want ik begrijp er niet altijd van wat ik destijds heb gedaan.
Maar om weer even on-topic te gaan. Heeft iemand een idee waarom het 'opeens' gebeurt dat ik een error krijg? Ik vind het vrij apart.
-
11-08-2009, 23:40 #6
- Berichten
- 72
- Lid sinds
- 16 Jaar
Wat is eigenlijk het doel van jou strpos in dit script?
-
11-08-2009, 23:42 #7
- Berichten
- 125
- Lid sinds
- 17 Jaar
In de database staat een lang nieuwsbericht. Deze afkorten tot 310 tekens met daarachter de tekst LEES MEER. Als je daarop klikt krijg je het volledige nieuwsbericht met de mogelijkheid tot reageren daaronder e.d.
-
11-08-2009, 23:50 #8
- Berichten
- 72
- Lid sinds
- 16 Jaar
Waarom staan er <b></b> tekens om php?
<b>$wanneer = strpos($bericht['nieuws']," ",310); </b>
-
11-08-2009, 23:51 #9
- Berichten
- 125
- Lid sinds
- 17 Jaar
-
11-08-2009, 23:52 #10
- Berichten
- 72
- Lid sinds
- 16 Jaar
Kan het zijn dat jou berichten geen 310 tekens lang zijn?
-
11-08-2009, 23:54 #11
- Berichten
- 125
- Lid sinds
- 17 Jaar
-
12-08-2009, 09:03 #12
- Berichten
- 209
- Lid sinds
- 18 Jaar
Ik heb je raad opgevolgd, maar het werkt helaas niet.
Over dat laatste ben ik het trouwens roerend met je eens. Het was een van mijn (met hulp van een ander) eerste, zoniet mijn eerste serieuze script (dus met database e.d.) Daarom heb ik nu ook zoveel problemen om alle probleempjes eruit te halen, want ik begrijp er niet altijd van wat ik destijds heb gedaan.
Maar om weer even on-topic te gaan. Heeft iemand een idee waarom het 'opeens' gebeurt dat ik een error krijg? Ik vind het vrij apart.
-
12-08-2009, 09:38 #13
- Berichten
- 231
- Lid sinds
- 17 Jaar
Volgens mij kan werkt het op deze manie sowieso verkeerd.
PHP Code:$wanneer = strpos($bericht['nieuws']," ",310);
In dit geval zoekt de functie dus naar de 311e verschijning van de spatie (de eerste 310 worden overgeslagen) in het stukje, en ik kan me voorstellen dat die er niet is.
Je kunt toch gewoon gebruik maken van substr() ? Dus zo:
PHP Code:$wanneer = substr($bericht['nieuws'], 0, 310);
Aanvullend bericht:
Ik denk trouwens dat je probeert wil dat het script na 310 karakters de eerste spatie opzoekt, en de positie van die spatie weergeeft. Vervolgens wil je dat het stukje tekst daar wordt afgekapt. Maar nu zoekt het script dus naar de 311e spatie in het stukje.Laatst aangepast door Jacob Ras : 12-08-2009 om 09:42 Reden: Automatisch samengevoegd.
-
12-08-2009, 09:46 #14
- Berichten
- 125
- Lid sinds
- 17 Jaar
Volgens mij kan werkt het op deze manie sowieso verkeerd.
PHP Code:$wanneer = strpos($bericht['nieuws']," ",310);
In dit geval zoekt de functie dus naar de 311e verschijning van de spatie (de eerste 310 worden overgeslagen) in het stukje, en ik kan me voorstellen dat die er niet is.
Je kunt toch gewoon gebruik maken van substr() ? Dus zo:
PHP Code:$wanneer = substr($bericht['nieuws'], 0, 310);
Aanvullend bericht:
Ik denk trouwens dat je probeert wil dat het script na 310 karakters de eerste spatie opzoekt, en de positie van die spatie weergeeft. Vervolgens wil je dat het stukje tekst daar wordt afgekapt. Maar nu zoekt het script dus naar de 311e spatie in het stukje.
Maar om terug te komen op wat je probeerde uit te leggen. Ik heb eventjes gekeken, maar op regel 189 staat ook nog:
PHP Code:". stripslashes(substr($bericht['nieuws'],0,$wanneer)) ."
Het heeft toch bijna een jaar op deze manier gewerkt..
-
12-08-2009, 09:48 #15
- Berichten
- 231
- Lid sinds
- 17 Jaar
Ik weet niet of je die ook hebt gezien?
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic