Hallo,
Ik heb een simpel werkend opt-in aanmeld systeem voor een nieuwsbrief.
Dit script stuurt netjes een email met het gebruikers-email adres naar een van te voren ingesteld adres.
Nu wilde ik dit uitbreiden, dwz naast het doorsturen van het email adres het direct in een DB plaatsen.
Orginele code die werkt
Aangepaste code die niet werkt : -)PHP Code:
<?php
$emailmanager = 'voorbeeld@test.nl';
$urlok = 'confirm-ok.htm';
$urlko = 'confirm-ko.htm';
error_reporting(0);
$email = trim($_GET['email']);
$Ok = ereg("^([a-zA-Z0-9_\.-]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$", $email);
if ($Ok) {
mail($emailmanager,'Subscribe','','From: '.$email);
Header("Location: $urlok");
} else {
Header("Location: $urlko");
}
?>
Met de 2e code krijg ik de volgende foutmelding:PHP Code:
<?php
include('dbconnect.php') or die(mysql_error());
$naam_tabel = 'gezellig_db';
$emailmanager = 'voorbeeld@test.nl';
$urlok = 'confirm-ok.htm';
$urlko = 'confirm-ko.htm';
error_reporting(0);
$email = trim($_GET['email']);
$Ok = ereg("^([a-zA-Z0-9_\.-]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$", $email);
if ($Ok) {
mysql_query("UPDATE $naam_tabel SET email='".$email."'") or die(mysql_error());
mail($emailmanager,'Subscribe','','From: '.$email);
Header("Location: $urlok");
} else {
Header("Location: $urlko");
}
?>
Warning: include(1) [function.include]: failed to open stream: No such file or directory in ..knip../gezellig/aanmelden/bevestig2.php on line 2
Warning: include() [function.include]: Failed opening '1' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in ..knip../gezellig/aanmelden/bevestig2.php on line 2
Ik zie het even niet meer.. Iemand een idee die hij/zij wil delen?
Bedankt!
- Vraag - PHP DB update functie
-
18-06-2009, 11:44 #1
- Berichten
- 452
- Lid sinds
- 16 Jaar
Vraag - PHP DB update functie
-
In de schijnwerper
Verkoop van diverse domeinnamen zoals: Dartreizen.nl, Concertreis.nl, Seniorreis.nl.Domein te koopSupersnelle WordPress Webhosting vanaf € 3,00 per maandHostingOntvang tot 20% kickbackfee op je Google Ads klanten, waar wacht je nog op?PromotieHandmatig linkbuilden aangeboden (vanaf 7,50 per link)Freelance / Werk -
18-06-2009, 11:52 #2
- Berichten
- 558
- Lid sinds
- 16 Jaar
Staat dbconnect.php in dezelfde directory?
Probeer
PHP Code:include('./dbconnect.php') or die(mysql_error());
-
18-06-2009, 11:53 #3
- Berichten
- 658
- Lid sinds
- 18 Jaar
De foutmelding verwijst naar regel 2, daar staat een include. De foutmelding geeft daarnaast aan dat hij het bestand niet kan openen. Kijk even of het bestand in de zelfde map met de juiste benaming staat.
-
18-06-2009, 11:57 #4
- Berichten
- 452
- Lid sinds
- 16 Jaar
Origineel gepost door Maurice J
Staat dbconnect.php in dezelfde directory?
Probeer
PHP Code:include('./dbconnect.php') or die(mysql_error());
Aanvullend bericht:
Origineel gepost door Lodewijk d.V.
De foutmelding verwijst naar regel 2, daar staat een include. De foutmelding geeft daarnaast aan dat hij het bestand niet kan openen. Kijk even of het bestand in de zelfde map met de juiste benaming staat.Laatst aangepast door R v Leeuwen : 18-06-2009 om 11:58 Reden: Automatisch samengevoegd.
-
18-06-2009, 12:08 #5
- Berichten
- 658
- Lid sinds
- 18 Jaar
zet eens boven regel 2: if(is_file('dbconnect.php')){ die ('bestand bestaat');}
Laad de pagina opnieuw. Staat er dan: bestand bestaat?
-
18-06-2009, 12:10 #6
- Berichten
- 452
- Lid sinds
- 16 Jaar
Origineel gepost door Lodewijk d.V.
zet eens boven regel 2: if(is_file('dbconnect.php')){ die ('bestand bestaat');}
Laad de pagina opnieuw. Staat er dan: bestand bestaat?
Ja..
-
18-06-2009, 12:19 #7
- Berichten
- 658
- Lid sinds
- 18 Jaar
Bij de include:
PHP Code:or die(mysql_error());
Edit: daarnaast zet je error_reporting altijd boven aan het script
-
18-06-2009, 12:29 #8
- Berichten
- 452
- Lid sinds
- 16 Jaar
Origineel gepost door Lodewijk d.V.
Bij de include:PHP Code:or die(mysql_error());
Edit: daarnaast zet je error_reporting altijd boven aan het script
PHP Code:<?php
error_reporting(0);
include('dbconnect.php') or die;
$naam_tabel = 'gezellig_db';
$emailmanager = 'voorbeeld@test.nl';
$urlok = 'confirm-ok.htm';
$urlko = 'confirm-ko.htm';
$email = trim($_GET['email']);
$Ok = ereg("^([a-zA-Z0-9_\.-]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$", $email);
if ($Ok) {
mysql_query("UPDATE $naam_tabel SET email='".$email."'") or die(mysql_error());
mail($emailmanager,'Subscribe','','From: '.$email);
Header("Location: $urlok");
} else {
Header("Location: $urlko");
}
?>
Foutmelding nu:
Access denied for user 'md023697'@'localhost' (using password: NO)
-
18-06-2009, 12:33 #9
- Berichten
- 658
- Lid sinds
- 18 Jaar
Kloppen de database gegevens (dus wachtwoord etc.). daarnaast moet je derde regel include('dbconnect.php'); worden (dus or die weg)
-
18-06-2009, 12:38 #10
- Berichten
- 452
- Lid sinds
- 16 Jaar
Origineel gepost door Lodewijk d.V.
Kloppen de database gegevens (dus wachtwoord etc.). daarnaast moet je derde regel include('dbconnect.php'); worden (dus or die weg)
or die is weg, nu zie ik geen foutmelding meer.. compleet leeg scherm ook in bronweergave.
-
18-06-2009, 12:42 #11
- Berichten
- 658
- Lid sinds
- 18 Jaar
Origineel gepost door R v Leeuwen
Ja, dbconnect.php gebruik ik op dat domein voor een andere site die werkt prima.
or die is weg, nu zie ik geen foutmelding meer.. compleet leeg scherm ook in bronweergave.
Je echo't namelijk nergens als er succes is. Dus zet op wat plaatsen wat tekst. Bijvoorbeeld: echo 'gelukt!';
-
18-06-2009, 12:47 #12
- Berichten
- 452
- Lid sinds
- 16 Jaar
Origineel gepost door Lodewijk d.V.
Waarschijnlijk werkt het dan,
Je echo't namelijk nergens als er succes is. Dus zet op wat plaatsen wat tekst. Bijvoorbeeld: echo 'gelukt!';
-
18-06-2009, 12:49 #13
- Berichten
- 658
- Lid sinds
- 18 Jaar
or die mag er wel staan, maar dan wel als functie.
Dus niet :
PHP Code:include() or die;
PHP Code:include() or die("Het werkt niet");
-
18-06-2009, 13:01 #14
- Berichten
- 452
- Lid sinds
- 16 Jaar
Origineel gepost door R v Leeuwen
Er worden geen gegevens weggeschreven in de DB, wanneer ik or die weer terugplaats achter dbconnect (dat mag daar toch wel staan?) dan krijg ik die foutmeldingen wel te zien.
Aanvullend bericht:
D'accord,
Nu plaatst hij netjes gegevens in de DB en stuurt een mailtje naar opgegeven adres, hij laadt de "ok" url nu niet in.
PHP Code:<?php
error_reporting(0);
include('dbconnect.php');
$naam_tabel = 'gezellig_db';
$emailmanager = 'voorbeeld@test.nl';
$urlok = 'confirm-ok.htm';
$urlko = 'confirm-ko.htm';
$email = trim($_GET['email']);
$Ok = ereg("^([a-zA-Z0-9_\.-]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$", $email);
if ($Ok) {
mysql_query("INSERT INTO $naam_tabel SET email='".$email."'") or die(mysql_error());
mail($emailmanager,'Subscribe','','From: '.$email);
Header("Location: $urlok");
} else {
Header("Location: $urlko");
}
?>Laatst aangepast door R v Leeuwen : 18-06-2009 om 13:05 Reden: Automatisch samengevoegd.
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