Nyhedsbrev

Her kan du få hjælp og stille spørgsmål til PHP!
Besvar
JvdB100
Begynder
Indlæg:18
Tilmeldt:29. mar 2016, 15:51
Nyhedsbrev

Indlæg af JvdB100 » 25. jun 2016, 11:05

Hej NemProgrammering,
Jeg har lavet en registreringsformular til nyhedsbrev. det burde virke som et slags login i php og mysql. Jeg har bare lige et if statement der ikke virker rigtigt. Det burde checke om emailen allerede er registreret. Jeg får en mail og alt, men på siden skriver den ikke noget, og der bliver ikke oprettet noget i databasen.
Jeg håber, at nogen kan hjælpe!

Kode: Vælg alt

<!DOCTYPE html>
<!--
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
-->
<html lang="da">
    <head>
        <title> Raglas - Nyhedsbrev </title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <META name="keywords" content="Glaskunst, tilsalg, glastilsalg, glas, glaskunsttilsalg" />
        <META name="description" content="Glaskunst sælges" />
        <link rel="shortcut icon" type="image/x-icon" href="favicon.ico"/>
        <link rel="stylesheet" type="text/css" href="Styling af links.css">
        <link rel="stylesheet" type="text/css" href="Styling af tekst.css">
        <link rel="stylesheet" href="Background image.css" type="text/css"/>
  <style>
    body{
    background-image: url(baggrund.jpg)
    }
  </style>
</head>
    <body>
      <a href="Nyhedsbrev.html">Tilbage</a>
      <center>
      <?php
        require_once 'config.php';
        $email2 = $_POST['email2'];
      $email = $_POST['email'];
      
        if($email == $email2){
          $email = mysql_real_escape_string($email);
$sql = "SELECT * FROM Nyhedsbrev WHERE email='$email'";
$result = mysql_query($sql);
$count = mysql_num_rows($result);
if($count == 1){
       echo"$email er allerede registreret";
   }else{
            performQuery("INSERT INTO 'Nyhedsbrev'(email) VALUES ($email)");
          $to = "noreply@raglas.dk";
      $subject = "Nyhedsbrev";
      $message = "
      Hej!
      
      Der er en, der har tilmeldt sig til nyhedsbrevet:
      $email
      ";
      $message1 = "
      Hej!
Tak fordi du har tilmeldt dig til nyhedsbrevet! Hvis du har en kommentar eller spoergsmål bedes du enten gå til raglas.dk og kontakte os eller sende en mail til raglas@raglas.dk.
Mvh Raglas
      ";
 mail($to, $subject, $message);
  mail($email, $subject, $message1);
          echo"<br><br><br>";
          echo"Du er nu tilmeldt til nyhedsbrevet!";
}
        }else{
          echo "<br><br><br>";
          echo "Du har skrevet to forskellige emails. Pr&oslash;v igen!"; 
        }
      ?>
      </center>
    </body>
</html>

Brugeravatar
scootergrisen
Moderator
Moderator
Indlæg:709
Tilmeldt:21. jun 2012, 23:40
Kontakt:

Re: Nyhedsbrev

Indlæg af scootergrisen » 25. jun 2016, 12:21

Jeg kan ikke se nogen performQuery-funktion.

Du har ikke nogen fallback ved mail-funktionerne. Se https://netkoder.dk/netkoder/kode_email.php

Kode: Vælg alt

if (mail($tilemail, $emne, $besked, $headers)) {

    echo "Beskeden blev sendt";

} else {

    echo "Beskeden blev ikke sendt";

}
Den måde du bruger mysql på er forældet. Se https://netkoder.dk/netkoder/test10.php
Deprecated: mysql_real_escape_string(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead...
Deprecated: mysql_query(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead...
Prøv og omskriv koden til MySQLI objekt orienterede syntax (den bruger jeg selv) eller PDO syntax (kan jeg ikke hjælpe dig med).

Du kan slå fejlbeskeder til øverst i PHP-koden når du tester siden så du får besked om det når der er fejl osv. Se https://netkoder.dk/netkoder/kode_error.php

abekat
Begynder
Indlæg:7
Tilmeldt:3. sep 2015, 19:20

Re: Nyhedsbrev

Indlæg af abekat » 15. nov 2016, 11:45

jeg mener at function mysql_real_escape_string(); skal hvad din databasen forbindelse med

Kode: Vælg alt

$email =$db->mysql_real_escape_string($email); 
med jeg er ikke sikker på det

Besvar