EREGI deprecated......help
Mijn probleem: ik heb een vriend met een site waarop hij een gastenboek heeft staan, maar sinds kort heeft de host alles geupdate naar 5.3 waardoor er deze foutmelding staat:
Deprecated: Function eregi() is deprecated in /public/sites/www.eaglebeatdriveinshow.nl/gastenboek/index.php on line 175
Als ik dan op line 175 kijk zie ik dit staan:
Code (php)
1
]if (eregi("/^http://", trim($row[6]))) echo " <a href=\"$row[6]\" target=\"_blank\"><img src=\"imgs/homepage.gif\" border=\"0\" alt=\"$row[6]\"></a>";
Deze regel hoort bij een hele lap code denk ik, die kan ik ook posten als dat helpt. door de eregi code werkt het gastenboek ook niet meer denk ik, want als ik een nieuwe post wil toevoegen zegt hij: invalid url format
Maar ik heb wat gezocht en denk dat ik eregi moet vervangen met preg_match, zelfs hier op het forum stonden wat oude posts over eregi, maar dan snap ik er nog niks van ik heb een anti php brein lijkt het wel, het wil er gewoon niet in.
Ik heb al wat zitten vogelen maar dat loste de foutmelding nou niet bepaald op, kreeg ik weer dat er geen ending delimiter stond.
Kan iemand me alstublieft helpen of een eind in de richting schoppen....
alvast bedankt php nub 2012
Gewijzigd op 03/05/2012 19:08:05 door Franco bussche
Alvast bedankt.
hmm...
En wat bedoel je met 'in de richting schoppen'? Ik kan je wel deze geweldige tutorial geven, maar veel schiet je daar met je 'anti-php brein' niet mee op. En daarnaast, waar heb je deze code vandaan, ben wel benieuwd wie er nu nog eregi gebruikt :S
En wat bedoel je met 'in de richting schoppen'? Ik kan je wel deze geweldige tutorial geven, maar veel schiet je daar met je 'anti-php brein' niet mee op. En daarnaast, waar heb je deze code vandaan, ben wel benieuwd wie er nu nog eregi gebruikt :S
Kan je de relevante code even tussen [code] en [/code] blokken zetten?
Gewijzigd op 03/05/2012 14:16:06 door - Ariën -
Code (php)
1
if (preg_match("/^http:\/\//", trim($row[6]))) echo " <a href=\"$row[6]\" target=\"_blank\"><img src=\"imgs/homepage.gif\" border=\"0\" alt=\"$row[6]\"></a>";
Al geprobeerd?
Gewijzigd op 03/05/2012 14:53:25 door kees Schepers
Bovendien is de fout duidelijk: EREGI is deprecated, oftewel verouderd i.e. mag je niet meer gebruiken. Een simpele kijken in de PHP manual legt het nog even uit voor je (eregi) en verwijst je zelfs door naar de functie die je dan wél zou moeten gebruiken (sinds PHP 5.3).
Gewijzigd op 03/05/2012 16:28:24 door Henk PHP
Quote:
Maar ik heb wat gezocht en denk dat ik eregi moet vervangen met preg_match (...) maar dan snap ik er nog niks van ik heb een anti php brein lijkt het wel, het wil er gewoon niet in.
Oftewel: Alles wat jij zegt wist hij al...
Gewijzigd op 03/05/2012 16:33:14 door Wouter J
Gewijzigd op 03/05/2012 16:36:25 door Henk PHP
Waarom hij geen code met preg_match poste? Omdat hij niet weet hoe hij eregi naar preg om moet zetten, dat was zijn vraag. Kees heeft dat succesvol gedaan en dus was dit topic al afgerond.
Quote:
Maar ik heb wat gezocht en denk dat ik eregi moet vervangen met preg_match, (...)
oftewel de hele strekking van de post staat in jouw reactie, daarmee maakt dat jouw post nutteloos, en snap ik heel goed dat wouter daar wat van zegt. verder mag je anderen ook best normaal behandelen, dat is niet verboden.
Gewijzigd op 03/05/2012 16:40:59 door Jeroen VD
Het lijkt mij namelijk geen slecht idee om de manual te gebruiken als je zo'n error krijgt én om de manual te gebruiken om de functionaliteit van preg_match te vinden. Is het nou zo erg dat ik daar op wijs?
Offtopic:
ik weet dat ik buiten de discussie tussen wouter en simon sta, maar ik ben het totaal met wouter eens. daarom reageer ik ook
Simon Whiteley op 03/05/2012 16:41:04:
Zucht, u bent echt de oneindige smart-ass. Ga je maar lekker superieur voelen Wouter Jeej. Ga je nu overal mijn posts overbodig noemen?
Het lijkt mij namelijk geen slecht idee om de manual te gebruiken als je zo'n error krijgt én om de manual te gebruiken om de functionaliteit van preg_match te vinden. Is het nou zo erg dat ik daar op wijs?
Het lijkt mij namelijk geen slecht idee om de manual te gebruiken als je zo'n error krijgt én om de manual te gebruiken om de functionaliteit van preg_match te vinden. Is het nou zo erg dat ik daar op wijs?
Ik wil je verzoeken je reacties in de toekomst te nuanceren, en ergens begrijp ik de strekking van je bericht en de 'irritatie' t.o.v. de topic starter wel maar op deze manier reageren heb je alleen jezelf mee. Ik doel met name op je vorige reactie.
Gewijzigd op 04/05/2012 10:08:39 door kees Schepers
En simon, zoal ik al postte, het gaat om de site van een vriend me, en als iedereen die een site heeft verstand moet hebben van de coderingen die er gebruikt worden om een site etc te maken, dan kunnen alle webdesigners en php coders wel in pakken lijkt me.
Anywho's......de melding is weg en het ziet er perfect uit nu echter als je nu in het gastenboek op de knop versturen klikt zegt tie: invalid url format.
Dus ergens staat er een link niet goed denk ik, weet iemand in welk blad die link zou moeten staan?
Quote:
en als iedereen die een site heeft verstand moet hebben van de coderingen die er gebruikt worden om een site etc te maken, dan kunnen alle webdesigners en php coders wel in pakken lijkt me.
Nee, maar die hebben die site wel laten maken door iemand die er verstand van heeft, in elk geval dat hoop ik.
Je moet een site vergelijken met een huis (hè heb ik weer dat huis, moet eens iets anders bedenken :S). Bijna niemand die een huis heeft heeft verstand van een huis bouwen, sommige wel een beetje die noemen zich dan klussers...
Als een mens een huis wilt, laten we uitgaan van een rijk mens, dan gaat hij bij een aannemer en/of architect langs. Die maken vervolgens een huis voor hem.
Waarom maakt die persoon niet zijn eigen huis? Juist, omdat hij dat niet kan.
Zo is het ook met een website. Jij wilt een website, of in dit geval je vriend. Nu kun je zelf wat gaan aanmodderen (want laten we eerlijk zijn, dat doe je nu) of je kunt iemand inhuren die voor jou, of je vriend, hetgeen aanpast dat je wilt.
Aangezien je zelf geen verstand ervan hebt is het zeer verstandig om iemand in te huren die er wel verstand van heeft.
Wat redenen waarom je dat zou moeten doen:
- Denk eens aan veiligheid, een van de grootste aspecten van PHP. Jij weet nog niet hoe je veilig moet scripten en er komen dus lekken en kunnen mensen virussen op je site plaatsen, gegevens van de server halen, hele domein leeghalen, kortom mensen kunnen dingen doen die jij absoluut niet wilt.
- Je weet zeker dat je goede scripts maakt. Scripts moeten goed in elkaar zitten, dat vind ik ook het leuke van scripten. Je moet nadenken over elke stap die je maakt. Heb je een script die niet goed in elkaar zit dan loop je vanzelf tegen het probleem op dat je script een keer niet gaat werken.
- Je script is up-to-date. Een script zoals jij nu hebt met eregi is totaal niet up-to-date en stamt zo'n beetje uit de oertijd. Een oud script is onveilig en gaat niet meer werken, zoals je al hebt gemerkt.
Mijn tips: Gooi dit script weg en begin met een up-to-date script een script met eregi erin zou eigenlijk vanzelf van het internet verwijderd moeten worden; Huur iemand in die er verstand van heeft, zo kun je een veilige en goede site bouwen.
En ik moet je gelijk geven wat opnieuw beginnen betreft dat zou het beste zijn, maar dan gaat het hem geld kosten en dat wilt hij nu juist vermijden.
Tegenwoordig wordt er zoveel "gratis" aangeboden, dat je een dief van je portomonnee lijkt als je voor hetzelfde einddoel dan geld gaat betalen.
Ik heb zelf absoluut geen intentie om te gaan scripten met php, daar heb ik helemaal geen kaas van gegeten.
En met de website is niks mis (althans nog niet) het is dat verrekte gastenboek. :)
Gewijzigd op 03/05/2012 20:32:04 door franco bussche