Avatar billede mccookie Seniormester
21. januar 2007 - 10:20 Der er 14 kommentarer og
1 løsning

mysql_real_escape_string() melder fejl!

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user: 'pcproblemer.dk@localhost' (Using password: NO) in /customers/pcproblemer.dk/pcproblemer.dk/httpd.www/projekter/newsletter_ver_0.0/libs/action.php on line 68

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /customers/pcproblemer.dk/pcproblemer.dk/httpd.www/projekter/newsletter_ver_0.0/libs/action.php on line 68
INSERT INTO newsletter_ver0_0_modtagere (`navn`, `email`, `oprettet`) VALUES ('ddd', 'hh@pcproblemer.dk', 1169371053)1169371053


Hvorfor melder den fejl??
echo mysql_real_escape_string($email);
Avatar billede hmortensen Nybegynder
21. januar 2007 - 10:24 #1
Du får fejl om at du ikke kan få forbindelse til serveren.
Avatar billede mccookie Seniormester
21. januar 2007 - 10:26 #2
Skal denne funktion have forbindelse med serveren for at fungerer? altså MySQL?
Avatar billede mccookie Seniormester
21. januar 2007 - 10:27 #3
Ihhh.... Henning læs dog under Notes på php.net ;)

øvøvøv
Avatar billede mccookie Seniormester
21. januar 2007 - 10:35 #4
og øhh.... bruger man så stripslashes til at fjerne dem igen??
Avatar billede mccookie Seniormester
21. januar 2007 - 11:13 #5
Smid et svar
Avatar billede erikjacobsen Ekspert
21. januar 2007 - 11:14 #6
Nej du skal i denne sammenhæng ikke (næppe) bruge stripslashes.
Dine data escapes, for at mysql skal kunne forstå alle tegn, og får dem puttet i tabellen korrekt.
Når de så skal ud igen, så får du de originale data.
Du skal blot vide om de putter "slasher" på mere end een gang - PHP har det at ville gøre det for dig automatisk.  Prøv at se hvad der sker med "O'Reilly"
Avatar billede hmortensen Nybegynder
21. januar 2007 - 11:27 #7
Du kan i phpinfo se om magic_quotes er slået til. Hvis det er, skal du ikke bruge stripslashes.
Avatar billede mccookie Seniormester
21. januar 2007 - 15:47 #8
Hmm.... mærkeligt

Når jeg bruger funktionen bliver det til:

INSERT INTO newsletter_ver0_0_modtagere (navn, email, oprettet) VALUES \n (\'asdasd\', \n \'asdr\\\\r@dr.dk\', \n \'1169390790\')

og det vil MySQL ikke godtage, det virker uden - Hvad er lige problemet?
Avatar billede erikjacobsen Ekspert
21. januar 2007 - 15:51 #9
Du skal ikke gøre på SQL-sætningen, men på de enkelte værdier, dem mellem '....'
Avatar billede mccookie Seniormester
21. januar 2007 - 15:52 #10
Aaargghhh..... OK ;)
Avatar billede erikjacobsen Ekspert
21. januar 2007 - 15:53 #11
Og det gør ingen forskel i dit eksempel her, hvor der ikke er giftige tegn. Men derfor skal man jo gøre det alligevel.
Avatar billede mccookie Seniormester
21. januar 2007 - 16:22 #12
Men en adresse der ser sådan ud: sdfsdf\\r\\r\\n@dr.dk

Hmm....

Jeg ville jo om muligt sikre mig mod nogen skulle bruge mit script mod misbrug.....

og nok mest for lærrings skyld......

function check_email ($q) {
    list($user,$host) = explode("@",$q);
    if (!$q) return false;
      elseif (!ereg("@",$q)) return false;
      elseif (!$user) return false;
      elseif (eregi("[^a-z0-9.-_]",$user)) return false;
      elseif (!getmxrr($host, $mx)) return false;
      else return true;
}

Jeg syntes at have læst adskillige skrækhistorier om spammer der har misbrugt diverse scripts.....
Avatar billede erikjacobsen Ekspert
21. januar 2007 - 16:33 #13
Det er ikke noget problem mht MySql, om der står linieskift i felter, og ikke noget du kan escape dig ud af.

Men det er nok rigtigt at din "check_email" lader den slippe igennem, og hvis du bruger den email-adresse til noget bagefter, så kan det godt giver problemer.
Avatar billede mccookie Seniormester
23. januar 2007 - 20:56 #14
Nogen der vil have point?
Avatar billede mccookie Seniormester
01. november 2007 - 00:26 #15
lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester