login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Nieuwsbriefsysteem valideert niet meer

Offline Gust - 07/07/2015 21:49
Avatar van GustMySQL interesse Kwam er toevallig bij uit, maar hij werkt dus niet meer. Hoe dat komt is mij een raadsel.

Plaatscode: 142459

6 antwoorden

Gesponsorde links
Offline Thomas - 07/07/2015 22:32
Avatar van Thomas Moderator Wat bedoel je met "valideert niet meer"?

De functie eregi() is sinds PHP 5.3.0 deprecated.

Stap 1 van probleemoplossing is altijd een analyse van het probleem.

Zet het volgende bovenaan je script:
  1. <?php
  2. error_reporting(E_ALL|E_STRICT); // vanaf PHP 5.4.0 is E_STRICT onderdeel van E_ALL
  3. ini_set('display_errors', 'stdout');
  4. ?>

Welke foutmelding(en) krijg je te zien of welk ongewenst gedrag treedt op?
Offline Gust - 07/07/2015 22:51 (laatste wijziging 07/07/2015 22:57)
Avatar van Gust MySQL interesse Zie waarschuwing op deze website:

Notice: Undefined index: submit in /var/www/vhosts/folkinlimburg.be/httpdocs/warning.php on line 24

Notice: Undefined index: submit in /var/www/vhosts/folkinlimburg.be/httpdocs/warning.php on line 26

Dat is dit gedeelte:
  1. if (!$_POST['submit'] || $_POST['submit'] && (!$_POST['voornaam'] || !$_POST['mail'] || !checkmail($_POST['mail']) || !$_POST['actie']))
  2. {
  3. if ($_POST['submit'] && (!$_POST['voornaam'] || !$_POST['mail'] || !checkmail($_POST['mail']) || !$_POST['actie']))
Offline Thomas - 07/07/2015 23:07 (laatste wijziging 07/07/2015 23:09)
Avatar van Thomas Moderator En dat heeft tot gevolg dat... de rest van de functionaliteit niet meer werkt, zelfs als je alles correct en volledig invult?

Dat script mag trouwens wel wat opgeschoond worden, want deze is redelijk onleesbaar.

Als je wilt controleren of een variabele (in een array) bestaat, gebruik dan isset().

In dat if-statement zit ook veel dubbelzinnigheid als je het mij vraagt. Het is mij in ieder geval niet in eerste oogopslag duidelijk welke variabelen welke waarde moeten hebben om ervoor te zorgen dat de validatie slaagt.

Gaat er verder nog iets mis? Is het nu bijvoorbeeld niet meer mogelijk om je in te schrijven ofzo? Ik zie dat eea niet echt netjes is, maar heb nog niet echt een concrete verwoording gehoord over wat er mis gaat / niet werkt...

EDIT: Ik denk dat ik het euvel zie.

Waar is je form-tag.

Of de rest van je HTML-document, for that matter...
Offline Gust - 08/07/2015 09:14 (laatste wijziging 08/07/2015 09:19)
Avatar van Gust MySQL interesse Het script werkt weer, heb een oude pagina terug opgehaald waar het script instond en dat nog werkte. Het script zelf heb ik ergens van een scriptsite gehaald.

Je moet uiteindelijk het emailadres nog manueel in een nieuwsbriefscript steken (althans, zo wil de persoon waarvoor ik de site gemaakt heb het).

Een probleem nog: de emails van de aangemelde personen die hij krijgt, verschijnen in de spambox. Hoe kan ik dit oplossen?
Offline Jointjeff - 08/07/2015 11:00
Avatar van Jointjeff HTML interesse Vermoedelijk verstuur je de mails nu vanaf je webserver. Dit komt dan vaker in de spambox terecht.
Je dient dit eigenlijk te doen via je mailserver.

Je zou ook eens kunnen kijken naar een oplossing als Mandrill. Je mag daar gratis 12000 mails per maand versturen. Ook heb je dan statistieken om in te zien.
Offline Thomas - 08/07/2015 13:49
Avatar van Thomas Moderator En als je dan toch je eigen mailtjes blijft bouwen zou je eens kunnen kijken naar een nette(re) opbouw hiervan, bijvoorbeeld door gebruikmaking van MIME.

Daarnaast zijn er tig libraries die je / waarvan je onderdelen kunt gebruiken, zodat je niet zelf het wiel opnieuw hoeft uit te vinden. Denk bijvoorbeeld aan het Zend Framework (hiervan zou je de mailer en het SMTP component wel los kunnen gebruiken denk ik) of PHPMailer.
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.185s