Emma Novice
11. januar 2021 - 19:56 Der er 10 kommentarer og
1 løsning

Hjælp til mail i php

Jeg har brug for, at få hjælp til at lave en løsning, hvor jeg gemmer mailen inden den overskrives som på denne mail. Det jeg konkret har brug for er en
metode til at gemme de indkomne mail i en mappe med dato og tid for den indkomne mail.

<html>
<head><meta charset="utf-8">
</head>
<body>
<div id="Tid">
        <div id="Dato">Dato:<input type="text" name="Navn" size="10" /></div>
        <div id="Klokken">Klokken:<input type="text" name="Navn" size="10" /></div>
</div>
<table style="width:100%">
   
    <tr><form method="POST" action="Nyt-Svar-Ordreseddel.php">
      <td Colspan="2">Navn<input type="text" name="Navn" size="22" /></th>
      <td>Adresse<input type="text" name="Adresse" size="25"/></th>
      <td>Postnr/by<input type="text" name="Postnr" size="22" /></th>
      <td>Mail<input type="text" name="Mail" size="25"/></th>
      <td>Tlf.<input type="text" name="Tlf" size="15" /></th>
  </tr>
  <tr>
      <td>Tlf.<input type="text" name="Tlf" size="50" /></th>
  </tr>
</table>
</body>
</html>
jakobdo Ekspert
11. januar 2021 - 20:35 #1
Nu skriver du indkomne. Men du viser en formular.
Ved udfyldelse af denne formular, skal den så sende en email til dig eller til brugeren?
Og er det denne email du gerne vil gemme?
Et oplagt sted ville være at gemme emailen i en database. Du har alle dine felter til det.

Navn, adresse, postnr, mail, tlf osv.
Emma Novice
12. januar 2021 - 06:26 #2
Brugeren skal udfylde formularen og sende den til mig. Jeg sender så et brev til brugeren (Nyt-Svar-Ordreseddel.php), hvor alle dataerne fra fornularen er indsat i brevet for at sikre at alt er korrekt. Når brugeren har godkendt brevet vil jeg så indsætte denne formular i en SQL database.
Jeg vil dog gerne gemme denne formular, for at sikre, at en bruger ikke mistes. Derfor vil jeg gerne, at den udftldte formular gemmes, mindst indtil at jeg har læst den fra brugeren og sikret mig at brugeren har fået brevet. ((Nyt-Svar-Ordreseddel.php). Når bruheren har svaret på brevet. kan den udfyldte formular fjernes. Hvis jeg ikke har hørt fra brugeren vil han slettes efter knapt et år.
Emma Novice
12. januar 2021 - 08:40 #3
Hej igen
Jeg glemte at skrive, at det jeg ønsker hjælp til er at gemme formularen, hver gang brugeren sender en. Det der sker nu er at den tidligere formular overskrives, uden at den gemmes. Den skal gerne gemmes på en mappe eller side, hvor den gemmes under dato og tidspunkt. Jeg ved ikke om det kan lade sig gøre. Jeg vil også være glad for at den bare gemmes, inden den overskrives.
jakobdo Ekspert
12. januar 2021 - 10:27 #4
Jeg ville nok starte med at gemme dine data i en database.
Har du styr på dette?
Emma Novice
12. januar 2021 - 14:16 #5
Det har jeg ikke helt, men jeg har set at der på nemprogrammering er et begynder kursus i SQL, hvis jeg gennemgår den kan jeg nok lære at bruge en sådan. Jeg har dog kun lært om Microsoft Assess og det er ca. 20 år siden, da jeg bestod pc kørerkortet.
Kender du til noget bedre ellers vil jeg gennemgå de lektioner der er der.
jakobdo Ekspert
12. januar 2021 - 14:48 #6
Hvor har du din hjemmeside henne?
Ofte hvis du har en PHP hjemmeside, følger der en mysql database med.

Så det vil bestemt være en god ide at lære noget grundlæggende om php og mysql.
Og husk nu at lær MYSQLi og ikke den gamle mysql.
Dette har med sikkerhed blandt andre ting at gøre.
Emma Novice
13. januar 2021 - 12:15 #7
Jeg har min hjemmeside hos nordicway så vidt jeg kan se kan man kun oprette databasen. Så vidt jeg kan se har de kun den gamle MySQL hvis ikke jeg bruger løsningen Ekstern MySQL og her ved jeg ikke om jeg kan anvende MySQLi. Men så skal jeg installere databasen hos mig selv. Men det kan godt være at man har adgang til MySQLi fra nogle af de andre SQL'er der er 3 men ingen nævner MySQLi.
Jeg har et andet spørgsmål, når jeg skal benytte og indlæse formularen, som brugeren indtaster de oplysninger han vil sende til mig indtaster han evt. flere linjer, hvor de første linjer består af navn og adresse og så videre. De næste består af forskellige oplysninger om produktet, som type, størrelse, farve osv.
Nogle har brug for at skrive f.eks. 5 linjer andre har brug for 15 linjer osv., jeg er ikke helt sikker på hvordan man behandler et sådan.
Formularens opbygning:
1-4 linje: Med ca. 6 oplysninger pr. linje fremtræder kun en gang for formularen her: Navn,adresse osv. det kunne sagtens være en linje med 12 oplysninger.
Problemet er her Formular være fra linje 5 være på 5 linjer og for en anden være 15 linjer. For hver bruger
Linje:
* 5: som er overskrifter er alle linjerne ens på nær indholdet.
* 6 er farve f.eks. rød og andre forskelligheder 6 oplysninger i alt pr. linje
* 7 grøn osv.
for forståelsens skyld
kolonne            1          2            3              4            5            6
linje 1                                                overskrift 
linje 2            navn      adr.    postnr./by    osv
linje 3                                                  overskrift
linje 4              andre oplysninger ingen gentagelser 6 stk.
linje 5                                                  overskrift
linje 6            andre oplysninger ens opbygning for hver linje forskelligt indhold
-   
linje 15          nogle stopper med linje 6

skemaet kan evt. opbygges med en oplysning pr. linje og en if/else sætning med flere?
Det er nok et større problem, jeg har set efter et sådan forklaring på nettet men ikke fundet noget der giver et svar på dette.
Håber du har noget jeg kan se hvordan man gør. Det jeg har fundet skriver at der skal være en bruger for hver linje
Emma Novice
13. januar 2021 - 13:18 #8
Hej igen
For en ordensskyld har jeg her en prøve på hvordan linjerne ser ud i de 10 linjer jeg har standardlavet. Hvert felt har en input type med et ensidigt navn. Jeg tror, at de skal udskrives på en lang række, uanset om rækken så bliver på 180 kollonner og "en kilometer lang". Jeg oprettede et id felt før navnet i 2 linje se beskeden sendt før denne. For at gøre koden ensidiget. Hvis der er noget jeg har lavet forkert så giv endeligt besked, da det er min første SQL jeg laver.

<tr>
        <td><input type="text" name="1-Antal" size="6"/></td>
        <td><input type="text" name="1-Kode" size="10" /></td>
        <td><input type="text" name="1-Varenavn" size="25" /></td>
        <td><input type="text" name="1-Mål" size="22" /></td>
        <td><input type="text" name="1-Underlev" size="25" /></td>
        <td><input type="text" name="1-Ombearb"size="15" /></td>
    </tr>
    <tr>
        <td><input type="text" name="2-Antal" size="6"/></td>
        <td><input type="text" name="2-Kode" size="10" /></td>
        <td><input type="text" name="2-Varenavn" size="25" /></td>
        <td><input type="text" name="2-Mål" size="22" /></td>
        <td><input type="text" name="2-Underlev" size="25" /></td>
        <td><input type="text" name="2-Ombearb"size="15" /></td>
    </tr>
olsensweb.dk Ekspert
13. januar 2021 - 13:56 #9
nu er man gået bort fra tabeller til design for lidt over 20 år siden :), tabeller bruges til tabulære data, som du vil vise det i et regneark, og skal siden bruges på feks en mobil telefon, er tabeller ikke så smarte

hvorfor vil du have dato / tid på formularet ??, du kan jo bare tage den fra serveren når du indsætter i db og sender mailen

de submitted data skal selvføgelig valideres, inden de ligges i databasen, en bedre metode er at anvende Prepare Statement
https://www.computerworld.dk/uploads/eksperten-guider/1480-Prepared-Statements-under-MySQLI-kom-igang.pdf

et forslag til en indtastnings formular start html/php kunne værer
<!doctype html>
<html lang="da">
    <head>
        <meta charset="utf-8">
        <title></title>
        <style>
            label{
                width:55px;
                display:inline-block
            }           
            input[readonly ="readonly"] {
                background-color: lightgray;
            }
        </style>
    </head>
    <body>
        <?php
        $full_date = date("Y-m-d H:i:s");
        $ar = explode(" ",$full_date);
        $date = $ar[0];
        $time = $ar[1];       
        ?>   
        <form method="post" action="Nyt_Svar_Ordreseddel.php">
            <label for="dato">Dato</label>
            <input type="text" name="dato" value="<?php echo $date;?>" readonly="readonly" ><br>
            <label for="Klokken">Klokken</label>
            <input type="text" name="klokken" value="<?php echo $time;?>" readonly="readonly"><br>
            <label for="Navn">Navn</label>
            <input type="text" name="Navn" placeholder="fulde navn"><br>
            <label for="Adresse">Adresse</label>
            <input type="text" name="Adresse" placeholder="addresse"><br>
            <label for="Postnr">Postnr</label>
            <input type="text" name="Postnr" placeholder="postnummer"><br>
            <label for="by">by</label>
            <input type="text" id="bynavn" value="bynavn skal komme via ajax" disabled><br>
            <label for="email">Mail</label>
            <input type="email" name="email" placeholder="email addresse" required><br>
            <label for="Tlf.">Tlf.</label>
            <input type="text" name="Tlf" placeholder="telefon nummer"><br>
            <input type="submit" name="send">
        </form>
    </body>
</html>


#7
>Så vidt jeg kan se har de kun den gamle MySQL
nej! mysql er selve databasen, det som #6 omtaler er et API til databasen, som PHP har

mysql er et database API som PHP har indbygget, blev tilgøngelig fra PHP 2.0. fjernet fra og med php 7  (Version 7.0.0 frigivet 03 Dec 2015), så du kan kun vælge mysqli eller PDO
mysqli er et database API som PHP har indbygget, blev tilgængelig fra PHP 5.0.
PDO er et database API som PHP har indbygget, blev tilgængelig fra PHP 5.1.

https://www.php.net/manual/en/mysqlinfo.api.choosing.php


hvilke mail vil du bruge ??
php's indbygget mail
https://www.php.net/manual/en/function.mail.php
eller et færdigt lib feks
https://github.com/PHPMailer/PHPMailer
https://mailchimp.com/

har du lavet databasen ??,

er den normaliseret ??
https://www.vidas.dk/mysql/MySQL_database_normalisering.html
https://stackoverflow.com/questions/1258743/normalization-in-mysql
https://www.computerworld.dk/uploads/eksperten-guider/234-Database-design-Normalisering.pdf

du kan ikke vise noget uddata på skærmen før du har din database på plads.


#8
hvorfor har du input felter i en visnings formular ??
du bør bare lave et link til en edit formular der editerer den enkelte post
Emma Novice
13. januar 2021 - 16:47 #10
Jeg er ikke helt skrap i databaser, og jeg tænkte at den måde jeg byggede den på så helt fornuftig ud. Fra din mail, har her fået en masse at gå videre med.
Jeg har bygget en del på min hjemmeside, men dette punkt er det vigtigste af dem alle.
Jeg vil så prøve, at sætte mig ind i det du har skrevet.
PS. pt. forstår jeg ikke det hele, men jeg tror, at jeg kan få  et godt resultat senere hen. Jeg vil forsøge, at lave det som du har skrevet. Jeg tror at din mail nok har givet mig arbejde til de næste 2-3 dage. Jeg har kørt min hjemmeside på en ipad og det så fornuftigt ud. Men jeg har ikke forsøgt på en telefon.
Emma Novice
14. januar 2021 - 17:13 #11
Jeg siger tak til dem, der er kommet med indlæg og er igang med at lave rettelser og ændringer og lære oop databasen at kende. Derfor lukker jeg dette emne.
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

Opret Preview

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





Premium
Efter Conscia-fyring melder Claus Thorsgaard sig klar til nye eventyr i it-branchen: "Jeg ser for mig, at jeg skal tilbage i en tilsvarende direktør-rolle"
Interview: Claus Thorsgaard er allerede nu klar til et nyt job i den danske it-branche, efter han i sidste uge pludselig blev fyret som koncernchef i Conscia.
Computerworld
Apples næste MacOS rummer en potentiel bombe for udvalgte Mac-brugere
Brugere af Apples nyeste Macbooks og Macs kan opleve at visse apps ikke længere vil fungere i udvalgte regioner.
CIO
Har du rost din mellemleder i dag? Snart er de uddøde - og det er et tab
Computerworld mener: Mellemledere lever livet farligt: Topledelsen får konstant ideer med skiftende hold i virkeligheden, og moden går mod flade agile organisationer. Men mellemlederen er en overset hverdagens helt med et kæmpe ansvar. Her er min hyldest til den ofte latterliggjorte mellemleder.
Job & Karriere
IBM Danmark trækker tilbud om frivillige fratrædelser tilbage for stort antal ansatte: "IBM har taget røven på sine ansatte"
Som led i IBM Danmarks store fyringsrunde fik 130 ansatte grønt lys til at forlade selskabet på en frivillig fratrædelsesordning. Men nu har IBM Danmark trukket det oprindelige tilbud tilbage for størstedelen af de ansatte.
White paper
Gratis whitepaper: Hvad er EDI, og hvordan kan det styrke min forretning?
Overvejer du EDI, og ønsker du at undersøge, om EDI er den rette investering for din virksomhed? Har en af dine kunder eller leverandører for nyligt bedt dig om at udveksle elektroniske dokumenter (EDI)? Så hent dette whitepaper og få et overblik over, hvad EDI er, og hvilke fordele producenter og grossister som dig kan se frem til, når du investerer i EDI til din forretning.