Avatar billede maabjerg Nybegynder
03. juli 2003 - 20:14 Der er 60 kommentarer og
1 løsning

Hvordan laver jeg et internt mailsystem?

Hej... Jeg har lige lavet et community med en masse funktioner, men jeg vil lige ha' den sidste detalje nemlig et internt mailsystem, så brugerne kan sende beskeder til hinanden over sitet... Håber nogen kan hjælpe mig :)

/ Steffen
Avatar billede exp Juniormester
03. juli 2003 - 20:19 #1
Vil du have et helt script eller hjælp til at lave det - kan give det sidste...
Avatar billede maabjerg Nybegynder
03. juli 2003 - 20:27 #2
Jeg vil helst ha' et helt, men hjælp er også fint

Jeg er god nok til php, har bare problemer med hvordan det skal hænge sammen... med 'id' osv..
Avatar billede maabjerg Nybegynder
03. juli 2003 - 20:33 #3
Ved hver bruger skal der være en oversigt over mail (inbox)
og så skal der være en side hvor brugeren skriver en mail (send mail)
og en side hvor brugeren læser sine mail en af gangen (read_mail)
Avatar billede the_legend Nybegynder
03. juli 2003 - 20:34 #4
Avatar billede maabjerg Nybegynder
03. juli 2003 - 20:37 #5
Okey tak prøver lige og ser om det virker :)
Avatar billede exp Juniormester
03. juli 2003 - 20:37 #6
db:
id -> int, autonummer
user -> varchar, brugernavn
title -> varchar
text -> mediumtext
read -> int, default 0, 0=ulæst, 1=læst
time -> timestamp, tidspunkt for oprettelse
(answer -> timestamp, tidspunkt du har svaret)

select * from internmail where user = $brugernavn
Avatar billede maabjerg Nybegynder
03. juli 2003 - 20:43 #7
Okey, men hvis jeg nu skal kode det sammen med mit community, hvor brugeren har oprettet en bruger, ved du så hvordan den kan hente brugernavn fra communityet?
Avatar billede maabjerg Nybegynder
03. juli 2003 - 20:45 #8
Mit community har session i sig, så hvis jeg nu tager

select * from internmail where user = $session["name"];

tror du så det virker?
Avatar billede exp Juniormester
03. juli 2003 - 20:55 #9
det burde det!
Avatar billede schaefner Juniormester
03. juli 2003 - 22:03 #10
select * from internmail where user = '$_SESSION[name]'
Avatar billede maabjerg Nybegynder
03. juli 2003 - 22:04 #11
okey... men mangler der ikke et felt? hvem det er fra?
Avatar billede exp Juniormester
03. juli 2003 - 22:06 #12
jo, det gør der faktisk :-)
from -> varchar
Avatar billede maabjerg Nybegynder
03. juli 2003 - 22:06 #13
Når man nu skal tilføje kan man så godt hente brugernavnene fra tabellen: community og samtidig bruge tabellen internmail ???
Avatar billede maabjerg Nybegynder
03. juli 2003 - 22:07 #14
tilføje = skrive besked
Avatar billede exp Juniormester
03. juli 2003 - 22:10 #15
ja, så skal der bare 2 database-kald til...
Avatar billede maabjerg Nybegynder
03. juli 2003 - 22:12 #16
okey, hvordan gør jeg så det?
Avatar billede exp Juniormester
03. juli 2003 - 22:16 #17
select username from community where blabla
select * from internmail where username = blabla
Avatar billede maabjerg Nybegynder
03. juli 2003 - 22:30 #18
hmm.. okey skal jeg så ikke skrive:

select * brugernavn from community order by username

og så select boksen her og alt det andet og så til sidst


<?
if($send){
include ("config.php");
mysql_connect($host,$user,$pass);
mysql_select_db($db);
$query = mysql_query("INSERT INTO mailsystem (user, title, text, time)" . "VALUES ('$user','$title','$text','$time')");
echo "Din mail er nu sendt<br><a href=\"oversigt.php\">Oversigt</a>";
}
?>
Avatar billede exp Juniormester
03. juli 2003 - 22:56 #19
det ser rigtigt ud.
Avatar billede maabjerg Nybegynder
03. juli 2003 - 23:22 #20
okey... opret lige et svar... så jeg kan give dig point hvis det virker :)
Avatar billede exp Juniormester
03. juli 2003 - 23:34 #21
oki doki
Avatar billede maabjerg Nybegynder
04. juli 2003 - 00:14 #22
Hej igen....

Der er et problem.....det er at når jeg trykker på send så skriver den at mailen er sendt... men det er den ikke kan du se nogen der er galt her

<?
$from_me = $_SESSION['Name'];
$datoen = date("d/m-y @ H:i:s");
if($send){
include ("config.php");
mysql_connect($host,$user,$pass);
mysql_select_db($db);
mysql_query("INSERT INTO mailsystem (user, title, text, from, time)" . "VALUES ('$user','$title','$text','$from_me','$datoen')");
echo "Din mail er nu sendt!!!";
}
?>
Avatar billede maabjerg Nybegynder
04. juli 2003 - 00:26 #23
Her er hele koden:

<? require("tjeklogin.php"); ?>

<?php $connection = mysql_connect("xxxxxx","xxxxx","xxxxxx");
mysql_select_db("xxxxxx", $connection);
?>

<html>

<head>
<meta http-equiv="Content-Language" content="da">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Skriv mail</title>
</head>

<body bgcolor="#FFFFFF">



<div align="center">
  <center>
 
  <script language="JavaScript">
function formCheck() {
    if (document.post.title.value == "") {
      alert("Feltet Emne står blankt!");
      document.post.title.focus();
      return false;
    }
    if (document.post.text.value == "") {
      alert("Du mangler at skrive din mail!");
      document.post.text.focus();
      return false;
    }
}
  </script>

  <form method="post" action="skriv_mail.php" name="post" onsubmit="return formCheck()">
  <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="335" id="AutoNumber1" height="81">
    <tr>
      <td width="133" height="22"><b><font face="Verdana" size="2">Modtager:</font></b></td>
      <td width="202" height="22"><font face="Verdana"><b>
      <select size="1" name="user" style="color: #003366; border: 1px solid #000000; background-color: #FFFFFF">
      <? if (!$user) { ; ?>

<?

$get = mysql_query("select * from community order by navn DESC");

while($row = mysql_fetch_array($get)) {

?>
      <option value="<? print $row[navn] ?>"><? print $row[navn] ?> </option>     
<? ; } ?>
<? ; } ?>
      </select></b></font></td>
    </tr>
    <tr>
      <td width="133" height="21"><b><font face="Verdana" size="2">Emne:</font></b></td>
      <td width="202" height="21">
      <input type="text" name="title" size="25" style="color: #003366; border: 1px solid #000000; background-color: #FFFFFF"></td>
    </tr>
    <tr>
      <td width="335" height="19" colspan="2">
      <textarea rows="8" name="text" cols="40" style="color: #003366; border: 1px solid #000000; background-color: #FFFFFF"></textarea></td>
    </tr>
    <tr>
      <td width="133" height="19">
      <input type="submit" value="Send" name="send" style="color: #FFFFFF; border: 1px solid #000000; background-color: #003366"></td>
      <td width="202" height="19">&nbsp;</td>
    </tr>
  </table>
  </form>
  </center>
</div>


<?
$from_me = $_SESSION['Name'];
$datoen = date("d/m-y @ H:i:s");
if($send){
include ("config.php");
mysql_connect($host,$user,$pass);
mysql_select_db($db);
mysql_query("INSERT INTO mailsystem (user, title, text, from, time)" . "VALUES ('$user','$title','$text','$from_me','$datoen')");
echo "Din mail er nu sendt!!!";
}
?>

</body>

</html>
Avatar billede exp Juniormester
04. juli 2003 - 09:47 #24
<?
$from_me = $_SESSION['Name'];
$datoen = date("d/m-y @ H:i:s");
if($send){
include ("config.php");
mysql_connect($host,$user,$pass);
mysql_select_db($db);
mysql_query("INSERT INTO mailsystem (user, title, text, from, time)VALUES ('".$user."','".$title."','".$text."','".$from_me."','".$datoen."')");
echo "Din mail er nu sendt!!!";
}
?>
Avatar billede maabjerg Nybegynder
04. juli 2003 - 12:30 #25
Det virkede stadig ikke
Avatar billede exp Juniormester
04. juli 2003 - 12:58 #26
hmm...

<?
$from_me = $_SESSION['Name'];
$datoen = date("d/m-y @ H:i:s");
if(isset($_POST['send'])){
include ("config.php");
mysql_connect($host,$user,$pass);
mysql_select_db($db);
mysql_query("INSERT INTO mailsystem (user, title, text, from, time)VALUES ('".$user."','".$title."','".$text."','".$from_me."','".$datoen."')");
echo "Din mail er nu sendt!!!";
}
?>
Avatar billede maabjerg Nybegynder
04. juli 2003 - 13:21 #27
Denne fejl kommer nu: Parse error: parse error, unexpected T_LOGICAL_OR in /home/web/gb2207/community/skriv_mail.php on line 85

fordi jeg indsatte or die mysql error
Avatar billede exp Juniormester
04. juli 2003 - 13:30 #28
hvilken linie er nummer 85?
Avatar billede maabjerg Nybegynder
04. juli 2003 - 13:35 #29
Det er mysql_query("INSERT INTO mailsystem (user, title, text, from, time)VALUES (" osv!!!
Avatar billede maabjerg Nybegynder
04. juli 2003 - 13:44 #30
Tror du ikke de virker hvis man bruger noget som $_Post ??
Avatar billede exp Juniormester
04. juli 2003 - 14:00 #31
prøv...

mysql_query("INSERT INTO mailsystem (user, title, text, from, time)VALUES ('".$_POST['user']."','".$_POST['title']."','".$_POST['text']."','".$_POST['from_me']."','".$_POST['datoen']."')");
Avatar billede maabjerg Nybegynder
04. juli 2003 - 14:30 #32
Stadig de samme fejl
Avatar billede exp Juniormester
04. juli 2003 - 14:51 #33
prøv at bruge dette:
<?
$from_me = $_SESSION['Name'];
$datoen = date("d/m-y @ H:i:s");
if($send){
include ("config.php");
mysql_connect($host,$user,$pass);
mysql_select_db($db);

$sql = "INSERT INTO mailsystem (user, title, text, from, time)VALUES ('$user','$title','$text','$from_me','$datoen')";

$sql2 = "INSERT INTO mailsystem (user, title, text, from, time)VALUES ('".$_POST['user']."','".$_POST['title']."','".$_POST['text']."','".$_POST['from_me']."','".$_POST['datoen']."')";

echo "sql: ".$sql."<br />;
echo "sql2: ".$sql2;

//mysql_query("INSERT INTO mailsystem (user, title, text, from, time)" . "VALUES ('$user','$title','$text','$from_me','$datoen')");
//echo "Din mail er nu sendt!!!";
}
?>

Og så hvis mig lige hvad der står...
Avatar billede maabjerg Nybegynder
04. juli 2003 - 15:27 #34
så skriver den:

Parse error: parse error, unexpected T_STRING, expecting ',' or ';' in /home/web/gb2207/community/mail-ok.php on line 14

Du undrer dig nok over hvorfor filen hedder mail-ok.php det var fordi jeg lagde det over i en anden fil
Avatar billede exp Juniormester
04. juli 2003 - 16:10 #35
<?php
    $from_me = $_SESSION['Name'];
    $datoen = date("d/m-y @ H:i:s");
    if(isset($_POST['send'])) {
        include ("config.php");
        mysql_connect($host,$user,$pass);
        mysql_select_db($db);

        $sql = "INSERT INTO mailsystem (user, title, text, from, time)VALUES ('$user','$title','$text','$from_me','$datoen')";

        $sql2 = "INSERT INTO mailsystem (user, title, text, from, time)VALUES ('".$_POST['user']."','".$_POST['title']."','".$_POST['text']."','".$_POST['from_me']."','".$_POST['datoen']."')";

        echo "sql: ".$sql."<br />";
        echo "sql2: ".$sql2;

        //mysql_query("INSERT INTO mailsystem (user, title, text, from, time)" . "VALUES ('$user','$title','$text','$from_me','$datoen')");
        //echo "Din mail er nu sendt!!!";
    }
?>
Avatar billede maabjerg Nybegynder
04. juli 2003 - 16:14 #36
Okey... nu skriver den dette

sql: INSERT INTO mailsystem (user, title, text, from, time)VALUES ('gb2207','Hej dette er en test','Hejza... dette er teksten','','04/07-03 @ 16:13:14')
sql2: INSERT INTO mailsystem (user, title, text, from, time)VALUES ('N1ghtm4N','Hej dette er en test','Hejza... dette er teksten','','')
Avatar billede exp Juniormester
04. juli 2003 - 16:18 #37
De burde være ens de to sætninger...
Avatar billede exp Juniormester
04. juli 2003 - 16:24 #38
Hvorfor er de mon foskellige?

$user = gb2207
$_POST['user'] = N1ghtm4N
Avatar billede maabjerg Nybegynder
04. juli 2003 - 16:25 #39
Hmm skal jeg så bare tage den første sætning?
Avatar billede maabjerg Nybegynder
04. juli 2003 - 16:25 #40
hmm... tror du den tager mit user fra config.php?
Avatar billede maabjerg Nybegynder
04. juli 2003 - 16:26 #41
jeg prøver at omdøbe det til user2
Avatar billede exp Juniormester
04. juli 2003 - 16:31 #42
det tror jeg den gør, ja
Avatar billede maabjerg Nybegynder
04. juli 2003 - 16:33 #43
vil du lige skrive den endelige kode så??? kan nemlig ikke finde rundt i alt det her nu!
Avatar billede exp Juniormester
04. juli 2003 - 16:39 #44
prøv:
-----------------------------------
<?php
    $from_me = $_SESSION['Name'];
    $datoen = date("d/m-y @ H:i:s");
    if(isset($_POST['send'])) {
        include ("config.php");
        mysql_connect($host,$user,$pass);
        mysql_select_db($db);

        $sql = "INSERT INTO mailsystem (user, title, text, from, time)VALUES ('".$_POST['user']."','".$_POST['title']."','".$_POST['text']."','".$_POST['from_me']."','".$_POST['datoen']."')";

        mysql_query($sql);
        echo "Din mail er nu sendt!!!";
    }
?>
Avatar billede maabjerg Nybegynder
04. juli 2003 - 16:41 #45
Nop det virkede ikke
Avatar billede exp Juniormester
04. juli 2003 - 16:44 #46
<?php
    $from_me = $_SESSION['Name'];
    $datoen = date("d/m-y @ H:i:s");
    if(isset($_POST['send'])) {
        include ("config.php");
        mysql_connect($host,$user,$pass);
        mysql_select_db($db);

        $sql = "INSERT INTO mailsystem (user, title, text, from, time)VALUES ('".$_POST['user']."','".$_POST['title']."','".$_POST['text']."','".$_POST['from_me']."','".$_POST['datoen']."')";

        echo $sql;
//        mysql_query($sql);
//        echo "Din mail er nu sendt!!!";
    }
?>
Avatar billede maabjerg Nybegynder
04. juli 2003 - 16:46 #47
INSERT INTO mailsystem (user, title, text, from, time)VALUES ('N1ghtm4N','ggg','ggg','','')
Avatar billede maabjerg Nybegynder
04. juli 2003 - 16:47 #48
Jeg smutter lige hurtigt i bad, se om du kan finde ud af noget imens :)

ses om lidt igen
Avatar billede maabjerg Nybegynder
04. juli 2003 - 16:47 #49
Dene udskrev det korect
Avatar billede exp Juniormester
04. juli 2003 - 17:00 #50
det må være din connection til databasen der er forkerts så...
Avatar billede maabjerg Nybegynder
04. juli 2003 - 17:44 #51
hmm... der kan jeg bare ikke finde fejlen... så må det vente.. til jeg kommer fra sommerferie...

// Steffen
steffen@nightman.dk
www.nightman.dk
Avatar billede maabjerg Nybegynder
04. juli 2003 - 19:12 #52
Det er en parse error... altså noget med " og ' der går ind i hinanden...

$sql = INSERT INTO mailsystem (user, title, text, from, time) VALUES ('".$_POST['user2']."','".$_POST['title']."','".$_POST['text']."','".$_POST['from_me']."','".$_POST['datoen']."');

hmm hvordan får vi mon det rettet
Avatar billede exp Juniormester
04. juli 2003 - 19:17 #53
$sql = "INSERT INTO mailsystem (user, title, text, from, time) VALUES ('".$_POST['user2']."','".$_POST['title']."','".$_POST['text']."','".$_POST['from_me']."','".$_POST['datoen']."');
Avatar billede maabjerg Nybegynder
04. juli 2003 - 19:29 #54
hmm samme fejl Parse error
Avatar billede exp Juniormester
04. juli 2003 - 19:33 #55
<?php
    $from_me = $_SESSION['Name'];
    $datoen = date("d/m-y @ H:i:s");
    if(isset($_POST['send'])) {
        include ("config.php");
        mysql_connect($host,$user,$pass);
        mysql_select_db($db);

        mysql_query("INSERT INTO mailsystem (user, title, text, from, time)VALUES ('".$_POST['user']."','".$_POST['title']."','".$_POST['text']."','".$_POST['from_me']."','".$_POST['datoen']."')");
        echo "Din mail er nu sendt!!!";
    }
?>
Avatar billede maabjerg Nybegynder
04. juli 2003 - 20:15 #56
Underligt den gir stadig ikke resultatet til databasen...
Avatar billede maabjerg Nybegynder
04. juli 2003 - 20:16 #57
prøver lige med mysql error(); osv.. og ser om fejlen stadig er der
Avatar billede maabjerg Nybegynder
04. juli 2003 - 20:31 #58
Okey.. nu skriver den da en fejl der kan forståes...:

You have an error in your SQL syntax near 'from, time) VALUES ('','ddddd','ddddddddd','','04/07-03 @ 20:27:13')' at line 1

Håber du ved hvad der skal laves så
Avatar billede exp Juniormester
04. juli 2003 - 20:38 #59
Næh... ikke rigtig... men prøv:

<?php
    $from_me = $_SESSION['Name'];
    $datoen = date("d/m-y @ H:i:s");
    if(isset($_POST['send'])) {
        include ("config.php");
        mysql_connect($host,$user,$pass);
        mysql_select_db($db);

        mysql_query("INSERT INTO mailsystem (`user`, `title`, `text`, `from`, `time`)VALUES ('".$_POST['user']."','".$_POST['title']."','".$_POST['text']."','".$_POST['from_me']."','".$_POST['datoen']."')");
        echo "Din mail er nu sendt!!!";
    }
?>
Avatar billede maabjerg Nybegynder
04. juli 2003 - 21:24 #60
YESS.. det virker nu.. kun en fejl, den gider ikke skrive $_SESSION['Name']; men jeg prøver lige om jeg kan finde ud af det... men du skal ha'

100000000 TAK.... og du får points :)

/Tak tak tak, Steffen
Avatar billede exp Juniormester
04. juli 2003 - 21:39 #61
det var da så... øhh meget ;-)
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