Avatar billede kasper333 Nybegynder
26. september 2004 - 15:45 Der er 32 kommentarer og
1 løsning

mod tage mail

jeg prøver på at lave et mail system men det virker ik..


  hvem det er til
    |
id  nick    overskift      text            fromnick 
  1 kasper    hey      hvad gå du og laver    bo
  2 kasper    hi          hey                  bo
  3 bo        no            ok                kasper
  4 bo        ;D            hehe              kasper 



jeg vil godt ha at nå kasper henter sine mail kommer overskift til at stå såden:

hey
hi

også nå man kilker på hey gå kommer der hvad gå du og laver
husk at det skal virker til hvis der komme flere mail.. tak
giver 200 point fordi jeg godt vi ha et script
Avatar billede sukos Juniormester
26. september 2004 - 15:57 #1
$get = mysql_query("SELECT `id`, `overskrift` FROM `table` WHERE `nick` = 'kasper'") or die (mysql_error());

if(mysql_num_rows($get) !=0) {
while($list = mysql_fetch_object($get)) {
echo"Overskrift: ". $list->overskrift ." <a href=\"". $_SERVER["PHP_SELF"] ."?id=". $list->id ."\">L&aelig;s</a><br>\n";
    }
}else{
echo"Ingen mails til dig!";
}
mysql_free_result($get);

if(isset($_GET["id"])) {

$hent = mysql_query("SELECT * FROM `table` WHERE `nick` = 'kasper'") or die (mysql_error());

echo"<p>\n";

if(mysql_num_rows($hent) !=0) {

while($vis = mysql_fetch_object($hent)) {
echo"Overskrift: ". $vis->overskrift ."<br>\n";
echo"Fra ". $vis->fromnick ."<br>\n";
echo"Besked: ". $vis->text ."<br>\n";
    }

}else{
echo"Ingen mails svarer til requested id!";
}

mysql_free_result($hent);

}
Avatar billede sukos Juniormester
26. september 2004 - 15:59 #2
Hov!

if(mysql_num_rows($hent) !=0) {

while($vis = mysql_fetch_object($hent)) {
echo"Overskrift: ". $vis->overskrift ."<br>\n";
echo"Fra ". $vis->fromnick ."<br>\n";
echo"Besked: ". $vis->text ."<br>\n";
    }

skal være:

if(mysql_num_rows($hent) == 1) {

$vis = mysql_fetch_object($hent);
echo"Overskrift: ". $vis->overskrift ."<br>\n";
echo"Fra ". $vis->fromnick ."<br>\n";
echo"Besked: ". $vis->text ."<br>\n";

}else{
echo"Ingen mails svarer til requested id!";
}
Avatar billede sukos Juniormester
26. september 2004 - 16:00 #3
For helvede!!!!!!!!!!!

$hent = mysql_query("SELECT * FROM `table` WHERE `nick` = 'kasper' AND `id` = ". $_GET["id"] ."'") or die (mysql_error());
Avatar billede sukos Juniormester
26. september 2004 - 16:01 #4
Jeg er smuttet, men du kan nok se dig ud af hvordan du kan gøre det! :O)
Avatar billede Slettet bruger
26. september 2004 - 16:02 #5
i selve listen over beskeder skal du bruge noget i denne stil:

$res=mysql_query("SELECT id, nick FROM tabelnavn WHERE nick='$brugernavn'") or die (mysql_error());
if(mysql_num_rows($res)==0){
  echo "Der er ingen beskeder.";
} else {
  while($row=mysql_fetch_assoc($res)){
    echo "<a href='visbesked.php?id=" . $row['id'] ."'>" . $row['overskrift'] . "</a><br>";
  }
}

Og så skal du bruge noget til at vise de enkelte beskeder:

visbesked.php:

<?php

$res=mysql_query("SELECT * FROM tabelnavn WHERE id='{$_GET['id']}'") or die (mysql_error());
if(mysql_num_rows($res)==0){
  echo "Der findes ikke en besked med det nummer.";
} else {
  $row=mysql_fetch_assoc($res);
  echo "<h1>" . $row['overskrift'] . "</h1>";
  echo "Fra: " . $row['fromnick'] . "<br>";
  echo $row['text'];
}

?>

Der skal naturligvis tilføjes check for om brugeren er logget ind, og om brugeren har ret til at se den pågældende besked.
Avatar billede kasper333 Nybegynder
26. september 2004 - 16:03 #6
kan du ikke lige skive script i en også som svær :D så jeg kan give dig point
Avatar billede Slettet bruger
26. september 2004 - 16:04 #7
Hvem af os?
Avatar billede sukos Juniormester
26. september 2004 - 16:06 #8
Vi kan vel begge to! :O)
Avatar billede kasper333 Nybegynder
26. september 2004 - 16:07 #9
sandbox det vil sige hvis jeg

session_start();
$brugernavn = $_SESSION['userdata']['s_nick'];
så skulle din virke??
Avatar billede kasper333 Nybegynder
26. september 2004 - 16:07 #10
gode ide sukos hehe
Avatar billede Slettet bruger
26. september 2004 - 16:13 #11
Ja, det burde den.

Og så kan visbesked.php med fordel rettes til:

<?php
session_start();
$brugernavn = $_SESSION['userdata']['s_nick'];
$res=mysql_query("SELECT * FROM tabelnavn WHERE id='{$_GET['id']}' AND nick='$brugernavn'") or die (mysql_error());
if(mysql_num_rows($res)==0){
  echo "Der findes ikke en besked med det nummer.";
} else {
  $row=mysql_fetch_assoc($res);
  echo "<h1>" . $row['overskrift'] . "</h1>";
  echo "Fra: " . $row['fromnick'] . "<br>";
  echo $row['text'];
}

?>
Avatar billede Slettet bruger
26. september 2004 - 16:14 #12
Og så kommer der lige et svar fra mig.
Avatar billede kasper333 Nybegynder
26. september 2004 - 16:15 #13
<?php
session_start();
$brugernavn = $_SESSION['userdata']['s_nick'];
$res=mysql_query("SELECT * FROM tabelnavn WHERE id='{$_GET['id']}' AND nick='$brugernavn'") or die (mysql_error());
if(mysql_num_rows($res)==0){
  echo "Der findes ikke en besked med det nummer.";
} else {
  $row=mysql_fetch_assoc($res);
  echo "<h1>" . $row['overskrift'] . "</h1>";
  echo "Fra: " . $row['fromnick'] . "<br>";
  echo $row['text'];
}

?> den går ikke noget
Avatar billede Slettet bruger
26. september 2004 - 16:17 #14
Jeg glemte lige, at du skal selv sørge for at åbne forbindelsen til databasen, og du skal rette tabelnavn til det rigtige navn på tabellen i din database.

Og det samme gælder for sukos' løsning.
Avatar billede sukos Juniormester
26. september 2004 - 16:17 #15
Fordi du ikke har sat en $_GET["id"] ??????

fil.php?id=4
Avatar billede sukos Juniormester
26. september 2004 - 16:18 #16
Og nu er jeg sgu smuttet!!!
Og sandbox, jow det er en kedelig hjemmeside du har der! :O)
Avatar billede kasper333 Nybegynder
26. september 2004 - 16:20 #17
Jeg glemte lige, at du skal selv sørge for at åbne forbindelsen til databasen, og du skal rette tabelnavn til det rigtige navn på tabellen i din database.
har jeg  $_GET["id"] = hvad?
Avatar billede kasper333 Nybegynder
26. september 2004 - 16:22 #18
$_GET["id"] hvad skal den ?!
Avatar billede Slettet bruger
26. september 2004 - 16:25 #19
visbesked.php -filen skal kaldes ligesom i de link jeg laver i den første del:

f.eks. visbesked.php?id=1
Avatar billede kasper333 Nybegynder
26. september 2004 - 16:25 #20
okay prøver lige
Avatar billede kasper333 Nybegynder
26. september 2004 - 16:32 #21
<? //getmail.php
include ("config.php");
mysql_connect($mysql_host, $mysql_user, $mysql_pw);
mysql_select_db($mysql_db);

session_start();

$brugernavn = $_SESSION['userdata']['s_nick'];

$res=mysql_query("SELECT id, nick FROM mail WHERE nick='$brugernavn'") or die (mysql_error());
if(mysql_num_rows($res)==0){
  echo "Der er ingen beskeder.";
} else {
  while($row=mysql_fetch_assoc($res)){
    echo "<a href='visbesked.php?id=" . $row['id'] ."'>" . $row['overskrift'] . "</a><br>";
  }
}

?>

--------------------------------------------------

der kommer ikke nogle link op

--------------------------------------------
<?php // hentmail.php


include ("config.php");
mysql_connect($mysql_host, $mysql_user, $mysql_pw);
mysql_select_db($mysql_db);

session_start();


$brugernavn = $_SESSION['userdata']['s_nick'];

$res=mysql_query("SELECT * FROM mail WHERE id='{$_GET['id']}' AND nick='$brugernavn'") or die (mysql_error());
if(mysql_num_rows($res)==0){
  echo "Der findes ikke en besked med det nummer.";
} else {
  $row=mysql_fetch_assoc($res);
  echo "<h1>" . $row['overskrift'] . "</h1>";
  echo "Fra: " . $row['fromnick'] . "<br>";
  echo $row['text'];
}

?>
Avatar billede Slettet bruger
26. september 2004 - 16:37 #22
Når du i getmail.php laver links til visbesked.php, så skal den anden fil også hedde sådan - eller omvendt. Bare linket er til det rigtige script.

Men det er ikke det, der laver fejlen lige nu. Kommer der slet ikke noget tekst? Hverken en fejlbesked fra MySQL eller en oplysning om at der ikke er nogen beskeder?
Avatar billede kasper333 Nybegynder
26. september 2004 - 16:39 #23
der kommer ikke nogle test nå jeg prøver getmail.php.. og ikke nogle felj
Avatar billede kasper333 Nybegynder
26. september 2004 - 16:40 #24
<a href='visbesked.php?id=" . = ratter jeg til  hentmail.php
Avatar billede Slettet bruger
26. september 2004 - 16:43 #25
*smack* (Lyden af min pande mod bordpladen.)

Jeg havde jo slet ikke bedt den om at hente overskriften. Ret til:

SELECT id, nick, overskrift
Avatar billede kasper333 Nybegynder
26. september 2004 - 16:46 #26
hehe kan jeg godt se nu :D
Avatar billede kasper333 Nybegynder
26. september 2004 - 16:55 #27
tak tak tak hehe her er din 200 dask
Avatar billede Slettet bruger
26. september 2004 - 16:59 #28
Selv tak.

Skulle sukos ikke have haft nogle af dem?
Avatar billede kasper333 Nybegynder
27. september 2004 - 14:14 #29
to late now
Avatar billede kasper333 Nybegynder
27. september 2004 - 14:26 #30
<?
include ("config.php");
mysql_connect($mysql_host, $mysql_user, $mysql_pw);
mysql_select_db($mysql_db);

session_start();
if ($_SESSION['userdata']['s_nick'] && $_SESSION['userdata']['s_pass']) {
$brugernavn = $_SESSION['userdata']['s_nick'];

$res=mysql_query("SELECT id, nick, overskrift FROM mail WHERE nick='$brugernavn'") or die (mysql_error());
if(mysql_num_rows($res)==0){
  echo "Der er ingen beskeder.";
} else {
  while($row=mysql_fetch_assoc($res)){
    echo "<a href='hentmail.php?id=" . $row['id'] ."'>" . $row['overskrift'] . "</a><br>";
  }
}

} else { echo need to be login;


}

?>
give en forkælre til den
Avatar billede Slettet bruger
27. september 2004 - 14:33 #31
Ikke forstået?
Avatar billede kasper333 Nybegynder
27. september 2004 - 15:08 #32
kan du ikke vise mig hvordan de to scpirt virker ??!

<?
include ("config.php");
mysql_connect($mysql_host, $mysql_user, $mysql_pw);
mysql_select_db($mysql_db);

session_start();
if ($_SESSION['userdata']['s_nick'] && $_SESSION['userdata']['s_pass']) {
$brugernavn = $_SESSION['userdata']['s_nick'];

$res=mysql_query("SELECT id, nick, overskrift FROM mail WHERE nick='$brugernavn'") or die (mysql_error());
if(mysql_num_rows($res)==0){
  echo "Der er ingen beskeder.";
} else {
  while($row=mysql_fetch_assoc($res)){
    echo "<a href='hentmail.php?id=" . $row['id'] ."'>" . $row['overskrift'] . "</a><br>";
  }
}
} else { echo "need to be login";}



?>
_______________________________________________________-

<?php


include ("config.php");
mysql_connect($mysql_host, $mysql_user, $mysql_pw);
mysql_select_db($mysql_db);

session_start();
if ($_SESSION['userdata']['s_nick'] && $_SESSION['userdata']['s_pass']) {

$brugernavn = $_SESSION['userdata']['s_nick'];

$res=mysql_query("SELECT * FROM mail WHERE id='{$_GET['id']}' AND nick='$brugernavn'") or die (mysql_error());
if(mysql_num_rows($res)==0){
  echo "Der findes ikke en besked med det nummer.";
} else {
  $row=mysql_fetch_assoc($res);
  echo "<h1>" . $row['overskrift'] . "</h1>";
  echo "Fra: " . $row['fromnick'] . "<br>";
  echo $row['text'];
}

} else { echo "need to be login";}
?>
Avatar billede Slettet bruger
27. september 2004 - 15:32 #33
<?
include ("config.php");
mysql_connect($mysql_host, $mysql_user, $mysql_pw);
mysql_select_db($mysql_db);

session_start();
if ($_SESSION['userdata']['s_nick'] && $_SESSION['userdata']['s_pass']) {
$brugernavn = $_SESSION['userdata']['s_nick'];

// Spørg databasen og gem et "håndtag" til svaret i $res
// Hvis MySQL laver fejl, så fortæl hvorfor
$res=mysql_query("SELECT id, nick, overskrift FROM mail WHERE nick='$brugernavn'") or die (mysql_error());

// Hvis antallet af rækker i svaret fra databasen er nul
if(mysql_num_rows($res)==0){
  echo "Der er ingen beskeder.";
} else {

// Hent rækkerne en af gangen, og læg dem i $row
// Når der ikke er flere rækker, slutter while-løkken
  while($row=mysql_fetch_assoc($res)){

// Udskriv et link med data fra den aktuelle række
    echo "<a href='hentmail.php?id=" . $row['id'] ."'>" . $row['overskrift'] . "</a><br>";
  }
}
} else { echo "need to be login";}



?>

I den anden fil sker der nogenlunde det samme, men da vi jo ved, at der kun kan være en enkelt besked med det pågældende id, behøver vi ikke en while-løkke. (Det ville ikke have gjort nogen forskel, hvis det havde været lavet med en while-løkke på samme måde som første script.)

Det er lidt forskelligt, hvilke metoder jeg bruger til at sætte variable ind i tekster:

1) Den simple: "SELECT id, nick, overskrift FROM mail WHERE nick='$brugernavn'"
Her bliver indholdet af variablen bare sat ind på det pågældende sted.

2) Læg sammen-metoden: echo "Fra: " . $row['fromnick'] . "<br>";
Det magiske tegn her er punktummet, der svarer til plus for tal. 1+1=2 og "a" . "a" = "aa"

3) Den specielle: "SELECT * FROM mail WHERE id='{$_GET['id']}' AND nick='$brugernavn'"
Den simple metode virker ikke med arrays, men hvis man bare skriver {} uden om variablen, virker det.

Det er lidt tilfældigt, om jeg bruger metode 2 eller 3, når jeg skal sætte en array-variabel ind i en streng. Hvorfor jeg bruger metode 1 til normale variable aner jeg ikke, for 2 og 3 virker også på dem, så egentlig burde jeg bare vælge en bestemt metode og bruge den altid.
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