Avatar billede manon Nybegynder
12. marts 2003 - 19:15 Der er 13 kommentarer og
1 løsning

Flå dette PHP script fra hinanden og byg det op igen påny.

Hej E

Da jeg simpelhen ikke fatter noget for tiden og reelt ikke er dygtig nok til at gøre jobbet, leder jeg efter en venlig sjæl der kan skille nedenstående kode af - således at alt hvad der skrives med HTML og <font>tekst</font>, dvs. alle de PRINT/ECHO der er på siden skal laves om til <html><head><body> ... </body></head></html>

Det jeg ønsker er at have en alm. HTML side hvor der eks. står Print <form> - så skal den bare hente den form fra en htmlside som eks. "login.html"

Der hvor man så skal skrive sin nyhedstekst skal hentes fra en <form> som er på skrivnyhedstekst.html

Og alle andre "print" skal også kunne hentes fra en html side - så eks. der hvor der står "print "<p>Ingen tilmeldte!</p>";" og print "<p>Følgende emails kan slettes:</p>"; osv., skal teksten hentes fra en html side.


Det er lidt af et arbejde, for både formulare og html sider skal virke når de ligger i samme dir.

Jeg vil gerne gøre det selv, men jeg har simpelhen for lidt kendskab til php for at kunne gøre det rigtig.

Så opgaven lyder på:

1. spilt php koden i dele
2. lav html sider som indeholder formulare samt tekstbeskeder
3. byg php scriptet op igen hvor den includere alle html sider istedet for at bruge php kodens egne tekstbeskeder.
4. paste resultatet her eller send det til eksperten@manon.dk
5. Vær opmærksom på de små finurligheder såsom at den reloader siden og giver besked om hvem nyheden er sendt til.


Jeg takker alle der gerne vil hjælpe mig - en eller anden dag skal jeg nok få det lært.



Her er php koden:

<?php
# -> Sætter variabler - vær opmærksom med at ændre i dette!
$incemail = "dd@dd.dk";

$incbruger = "dd";
$incpassword = "dd";
$connection = mysql_connect("mysql.dd.dk","dd_dk","dd");
mysql_select_db("dd_dk", $connection);

# -> Tilmelder e-mailadr og sender til anden side.
# -> DER MÅ IKKE VÆRE OUTPUT FØR DENNE LINIE!
# -> Et output er print, echo, alm. html og alt andet der skrives i browseren!
if ($id == "tilmeld") {
  if ($email) {
    if ($tilfra == "tilmeld") {
      $result = mysql_query("SELECT email FROM mailinglister WHERE email = '$email'");
      $number = mysql_num_rows($result);
      if ($number > 0) {
        header("Location: findes.php");
      } else {
        mysql_query("INSERT INTO mailinglister (navn, email) VALUES ('$navn', '$email')");
        header("Location: tilmeldt.php");
      }
    }
    if ($tilfra == "frameld") {
      mysql_query("DELETE FROM mailinglister WHERE email = '$email'");
      header("Location: frameldt.php");
    }
  }
}

# -> Når man kalder nyhedsemail.php uden variabler kommer denne log ind skærm!
if (!$id) {
  print "<form action=nyhedsemail.php method=post>
        <p>Brugernavn:<br>
        <input type=text name=bruger size=20></p>
        <p>Password:<br>
        <input type=password name=password size=20></p>
        <p>Til hvilken side?:<br>
        Send nyhed: <input type=radio name=id value=admin><br>
        Slet emailadr: <input type=radio name=id value=slet></p>
        <p><input type=submit value=\"Log ind\"></p>
        </form>";
}
# -> Når man har logget ind i "send nyhed" kommer denne skærm.
# -> Det er her man skriver sin meddelelse og emne.
if ($id == "admin") {
  if ($bruger == $incbruger && $password == $incpassword) {
    print "
                <p><br>Nyhedsbrev</p>
                <form action=nyhedsemail.php method=post>
                  <input type=hidden name=id value=send>
                  <input type=hidden name=bruger value=".$bruger.">
                  <input type=hidden name=password value=".$password.">
                  <p>Emne:<br>
                  <input type=text name=emne size=40 value=\"Nyhedsbrev - www.dd.dk\"></p>
                  <p>Besked:<br>
                  <textarea name=besked rows=10 cols=80>..</textarea></p>
                  <br>
                <p><input type=submit value=\"Send besked\"></p>
                  </form>
                  <P>Bemærk! Du kan ikke fortryde, når først du har kliket på \"Send besked\"</P>
                  <P>Det kan anbefales at skrive nyhedsbrevet i et Word dokument.
                  <br>
                  Og så cut/paste det ind i tekstområdet.</P>
                <p>Gem evt. gamle worddokumenter hvor nyhederne er skrevet i.</p>
                <p><a href=\"http://www.dd.dk\">Log ud</a></p>
          ";
  } else {
    print "<p>Dit brugernavn eller password er forkert!</p>";
  }
}

# -> Her sender man meddelelse ud til alle der er registrerede brugere.
# -> Bliver kun sendt hvis brugernavn og password stemmer overens med det rigtige!
if ($id == "send") {
  if ($bruger == $incbruger && $password == $incpassword) {
    $result = mysql_query("SELECT navn, email FROM mailinglister");
    $number = mysql_num_rows($result);
    if ($number > 0) {
    print "<p>Din nyhed er sendt til:</p>";
      while ($row = mysql_fetch_array($result)) {
        mail("$row[email]", "$emne", "$besked", "From: $incemail");
        print $row[email]."<br><p><a href=\"http://www.dd.dk\">Log ud</a></p>";
      }
    }
  } else {
    print "<p>Dit brugernavn eller password er forkert!</p>";
  }
}

# -> Du kan kalde "nyhedsemail.php?id=vis" og få vist alle de e-mailadr der er tilmeldt!
if ($id == "vis") {
  $result = mysql_query("SELECT navn, email FROM mailinglister");
  $number = mysql_num_rows($result);
  if ($number > 0) {
  print "<p>Følgende emails er tilmeldt:</p>";
    while ($row = mysql_fetch_array($result)) {
      print "Navn: ".$row[navn]." - Email: <a href=mailto:".$row[email].">".$row[email]."</a><br>";
    }
  } else {
    print "<p>Ingen tilmeldte!</p>";
  }
}

# -> Her kan du slette e-mailadr. Du skal igennem log ind for at se denne skærm!
if ($id == "slet") {
  if ($bruger == $incbruger && $password == $incpassword) {
    if ($email) {
      mysql_query("DELETE FROM mailinglister WHERE email = '$email'");
    }
    $result = mysql_query("SELECT navn, email FROM mailinglister");
    $number = mysql_num_rows($result);
    if ($number > 0) {
    print "<p>Følgende emails kan slettes:</p>";
      while ($row = mysql_fetch_array($result)) {
        print "Navn: ".$row[navn]." - Email: ".$row[email]." &nbsp;&nbsp;&nbsp; <a href=email.php?id=slet&email=".$row[email]."&bruger=".$bruger."&password=".$password.">Slet e-mail</a><br>";
      }
    } else {
      print "<p>Ingen tilmeldte!</p>";
    }
  } else {
    print "Brugernavn eller password forkert!";
  }
}
?>
Avatar billede avminarm Juniormester
13. marts 2003 - 09:31 #1
hvorfor vil du dog det?
Avatar billede manon Nybegynder
13. marts 2003 - 09:37 #2
Fordi jeg gerne vil have noget design på siden. Dvs. implementere overstående i et design.
Al læsbart tekst som er i overstående script vil jeg gerne have ind i noget så simpelt som dette her:

<table width=100 border=0 cellspacing=0 cellpadding=0>
<tr>
<td>Her skal teksten fra overstående script kunne sættes ind</td>
<td>eller her</td>
</tr>
</table>



eller for den sags skyld med hele html koden:


<html><head></head>
<body bgcolor=#FFFFFF text=#000000>
<table width=100 border=0 cellspacing=0 cellpadding=0>
<tr>
<td>Her skal teksten fra overstående script kunne sættes ind</td>
<td>eller her</td>
</tr>
</table>
</body></html>


Sagen er at selve Login Formularen i overstående script er placeret ude til venstre og jeg vil nu gerne have noget pænt at se på - selvom det ikke har nogen betydening for arbejdet.

vh\
Avatar billede avminarm Juniormester
13. marts 2003 - 09:55 #3
Du kan gøre sådan her (du skal blot kalde filen php til sidst, men du kan sagtens have helt alm HTML inde i en PHP fil):

<html><head></head>
<body bgcolor=#FFFFFF text=#000000>
<table width=100 border=0 cellspacing=0 cellpadding=0>
<tr>
<td align="center"><?php include "nyhedsscript.php"; ?></td>
<td>eller her</td>
</tr>
</table>
</body></html>
Avatar billede manon Nybegynder
13. marts 2003 - 10:07 #4
avminarm >>
nej, omvendt.
Jeg skal have html ind i en php side. Læs mit spm. *s*
Avatar billede avminarm Juniormester
13. marts 2003 - 10:23 #5
jamen - det gør man bare:
<head> osv
<?php
echo "hej";
?>
<b>her noget med fed i html</b>

Og hvis det er fordi du vil ændre skrift typer osv - så brug stylesheet ;o)
<?php
echo "her er noget php";
?>
Avatar billede manon Nybegynder
13. marts 2003 - 11:00 #6
avminarm >>
For at jeg kan sammenligne og lære noget, så prøv at gøre det med ovestående script og sæt følgende ind:



print "<form action=nyhedsemail.php method=post>
        <p>Brugernavn:<br>
        <input type=text name=bruger size=20></p>
        <p>Password:<br>
        <input type=password name=password size=20></p>
        <p>Til hvilken side?:<br>
        Send nyhed: <input type=radio name=id value=admin><br>
        Slet emailadr: <input type=radio name=id value=slet></p>
        <p><input type=submit value=\"Log ind\"></p>
        </form>";


print "
                <p><br>Nyhedsbrev</p>
                <form action=nyhedsemail.php method=post>
                  <input type=hidden name=id value=send>
                  <input type=hidden name=bruger value=".$bruger.">
                  <input type=hidden name=password value=".$password.">
                  <p>Emne:<br>
                  <input type=text name=emne size=40 value=\"Nyhedsbrev - www.dd.dk\"></p>
                  <p>Besked:<br>
                  <textarea name=besked rows=10 cols=80>..</textarea></p>
                  <br>
                <p><input type=submit value=\"Send besked\"></p>
                  </form>
                  <P>Bemærk! Du kan ikke fortryde, når først du har kliket på \"Send besked\"</P>
                  <P>Det kan anbefales at skrive nyhedsbrevet i et Word dokument.
                  <br>
                  Og så cut/paste det ind i tekstområdet.</P>
                <p>Gem evt. gamle worddokumenter hvor nyhederne er skrevet i.</p>
                <p><a href=\"http://www.dd.dk\">Log ud</a></p>
          ";


  print "<p>Din nyhed er sendt til:</p>";
      while ($row = mysql_fetch_array($result)) {
        mail("$row[email]", "$emne", "$besked", "From: $incemail");
        print $row[email]."<br><p><a href=\"http://www.dd.dk\">Log ud</a></p>";
      }
    }
  } else {
    print "<p>Dit brugernavn eller password er forkert!</p>";
  }



Lav alle de tekstbeskeder om så jeg kan designe siden hvor de tekstbeskeder kommer frem.
Avatar billede avminarm Juniormester
13. marts 2003 - 11:09 #7
hmm - kender du til stylesheet/CSS?
Avatar billede manon Nybegynder
13. marts 2003 - 11:13 #8
Ja - lidt - bruger det i DW og sætte så mine class="" ind i mine tabller.
Avatar billede avminarm Juniormester
13. marts 2003 - 11:22 #9
du kan benytte class på <p> f.eks:
.error {
  font-color: red;   
}

flette det sammen med

} else {
    print "<p class=\"error\">Dit brugernavn eller password er forkert!</p>";
  }
Avatar billede manon Nybegynder
13. marts 2003 - 11:33 #10
smart - det vil jeg prøve mig lidt frem med.

men stadig - hvis jeg nu har en hel HTML side med billeder, tabeller, logos og andet tekst som jeg gerne vil have implementeret, hvad så?
Avatar billede avminarm Juniormester
13. marts 2003 - 11:41 #11
jeg er ikke helt med på hvad du mener - du kan blande HTML og PHP i en fil lige så tosset du vil blot filen hedder .php

Alt hvad der er i mellem <?php og til ?> fortolkes som PHP eller fortolkes det som alm HTML.

Du kan skrive HTML ud via PHP, når blot man husket at " skal være \" (escapet) dvs du kan:

echo "<body bgcolor=\"#FFFFFF\" text=\"#000000\">";

det er det samme som at skrive HTNL:

<body bgcolor="#FFFFFF" text="#000000">
Avatar billede avminarm Juniormester
20. marts 2003 - 16:17 #12
lukke tid?
Avatar billede manon Nybegynder
23. marts 2003 - 11:57 #13
avminarm >>
nej - det er ikek lukketid, da jeg ikke har forstået det.

Jeg kan stadig ikke se hvordan jeg skulle have en side som er fyldt op med billeder og tabeller og farver og andet tekst og så få alle disse "prints" og "echo" til at passe ind på min html side.
Avatar billede avminarm Juniormester
23. marts 2003 - 20:55 #14
derfor er der et ?

hvordan regulerer du farverne på din side nu?

Kig lidt på det her her er der sat clases på alle echos/print

Style:
.form{
    font-size : 12px;
    color : Blue;
}
.nyhedsbrev{
    font-size : 12px;
    color : Black;
}
.sendt{
    font-size : 12px;
    color : Red;
}

SCRIPT:

print "<div class=\"form\">
        <form action=nyhedsemail.php method=post>
        <p>Brugernavn:<br>
        <input type=text name=bruger size=20></p>
        <p>Password:<br>
        <input type=password name=password size=20></p>
        <p>Til hvilken side?:<br>
        Send nyhed: <input type=radio name=id value=admin><br>
        Slet emailadr: <input type=radio name=id value=slet></p>
        <p><input type=submit value=\"Log ind\"></p>
        </form>
        </div>";


print "            <div class=\"nyhedsbrev\">
                <p><br>Nyhedsbrev</p>
                <form action=nyhedsemail.php method=post>
                  <input type=hidden name=id value=send>
                  <input type=hidden name=bruger value=".$bruger.">
                  <input type=hidden name=password value=".$password.">
                  <p>Emne:<br>
                  <input type=text name=emne size=40 value=\"Nyhedsbrev - www.dd.dk\"></p>
                  <p>Besked:<br>
                  <textarea name=besked rows=10 cols=80>..</textarea></p>
                  <br>
                <p><input type=submit value=\"Send besked\"></p>
                  </form>
                  <P>Bemærk! Du kan ikke fortryde, når først du har kliket på \"Send besked\"</P>
                  <P>Det kan anbefales at skrive nyhedsbrevet i et Word dokument.
                  <br>
                  Og så cut/paste det ind i tekstområdet.</P>
                <p>Gem evt. gamle worddokumenter hvor nyhederne er skrevet i.</p>
                <p><a href=\"http://www.dd.dk\">Log ud</a></p>
                </div>
          ";


  print "<div class=\"sendt\">
          <p>Din nyhed er sendt til:</p>";
      while ($row = mysql_fetch_array($result)) {
        mail("$row[email]", "$emne", "$besked", "From: $incemail");
        print $row[email]."<br><p><a href=\"http://www.dd.dk\">Log ud</a></p>";
      }
    }
  } else {
    print "<p>Dit brugernavn eller password er forkert!</p>";
  }
  Print "</div>";
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