Avatar billede stroke1 Nybegynder
19. juni 2003 - 00:44 Der er 19 kommentarer og
1 løsning

gæstebog med php/MySQL

Hej.
Jeg har fulgt et eksempel i en bog, og lavet en gæstebog i PHP med MySQL.

Den virker sådan at når der er kommet et nyt indlæg sendes en email til min email adresse.

Men når jeg skriver et indlæg og submitter, så kommer følgende :

Warning: mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in c:\apache\apache\htdocs\gaestebog\opdater.php on line 12


Hvad skyldes det mon ???????????
Avatar billede ahv Nybegynder
19. juni 2003 - 00:46 #1
Er det lokalt eller på et webhotel fejlen sker?
Avatar billede ahv Nybegynder
19. juni 2003 - 00:47 #2
Hvis det er loaklt skal du ind i php.ini filen, et sted står der ->

[mail function]
; For Win32 only.
SMTP =

Er ikke helt 100% på hvad der står som standart, men hvis din udbyder f.eks. er cybercity skal der stå ->

SMTP = vip.cybercity.dk

Du skal altså finde ud af Hvad for en SMTP din udbyder har, det kan du finde på deres hjemmeside.
Avatar billede stroke1 Nybegynder
19. juni 2003 - 00:48 #3
det er lokalt, har det hele installeret på egen pc
Avatar billede stroke1 Nybegynder
19. juni 2003 - 00:49 #4
ka det passe at den hedder smtp.mail.dk, det står der i min mail opsætning. det er tdc
Avatar billede jakoba Nybegynder
19. juni 2003 - 00:50 #5
der skal være en mailserver (smtpserver) installeret på den server du sender mail fra. og så skal din php-ini fil rettes så den fortæller hvor den mailserver er.

det ser ud til at det mangler du at få gjort.
Avatar billede jakoba Nybegynder
19. juni 2003 - 00:52 #6
00:49:23 > ja det lyder rigtigt.
Avatar billede ahv Nybegynder
19. juni 2003 - 00:53 #7
Jep det lyder fornuftigt, ret det og restart (Apache) hvis det er din server.
Avatar billede stroke1 Nybegynder
19. juni 2003 - 00:54 #8
ja det er rigtigt, skal der stå noget ved begge disse to :

[mail function]
; For Win32 only.
SMTP = localhost

; For Win32 only.
sendmail_from = me@localhost.com

og hvad skal der stå ?????
Avatar billede jakoba Nybegynder
19. juni 2003 - 00:56 #9
i linien med sendmail_from skriver du din egen email adresse fx: dig@tdcmail.dk eller hvad den nu er. det bliver så afsenderadressen på dine mails.
Avatar billede stroke1 Nybegynder
19. juni 2003 - 00:56 #10
ved den første skal der vel stå smtp.mail.dk

men hvad med den anden, er det min email adresse ????????
Avatar billede stroke1 Nybegynder
19. juni 2003 - 00:57 #11
okay prøver lige........
Avatar billede stroke1 Nybegynder
19. juni 2003 - 01:37 #12
det virkede men....
Jeg har lavet en gæstebog, og når man skriver et indlæg og submitter, kan man ikke få det frem på siden????

Den er opbygget af to filer der ligger i en fælles mappe.
De to filer ser sådan ud :

den ene laes.php :

<html>
<title>Gæstebog</title>
<body bgcolor="FFFFFF">

<form name="form1" method="get" action="opdater.php">

Læg venligst en besked:
<br>
Navn:
<input type="text" name="navn">
<br>
Email:
<input type="text" name="email">
<br>
<textarea name="besked" rows="8"></textarea>
<input type="submit" name="submit" value="Indsend">

</form>

<hr>

Tak til de personer, som allerede har lagt en besked!

<hr>

<?php

$db=mysql_connect("localhost","root");

mysql_select_db("gaestebog",$db);

$result=mysql_query("SELECT*FROM indlaeg",$db);

while ($myrow = mysql_fetch_row($result)) {

?>

Navn: <? echo $myrow[1] ?>
<br>
Email: <? echo $myrow[2] ?>
<br>
Besked: <? echo $myrow[3] ?>
<br>

<hr>

<?php
}
?>


</body>
</html>

og den anden opdater.php :

<?php

$db = mysql_connect("localhost","root");
mysql_select_db("gaestebog",$db);

$sql="INSERT INTO indlaeg(navn, email, besked)
VALUES('$navn','$email','$besked')";

$result = mysql_query($sql);

mail("mhj@privat.tdcadsl.dk","Nyt indlæg i gæstebogen fra".$navn,$besked,"From: ".$email);


?>

<html>
<title>Opdater</title>
<body bgcolor="#FFFFFF">

Tak for det. <a href="laes.php">Klik for at vende tilbage til gæstebogen.</a>

</body>
</html>

Håber i kan hjælpe. den viser kun skriften navn email og besked, men intet af det som er indtastet i felterne. Der kommer en besked til min email adresse også når der er skrevet et indlæg, men heller ikke her kan jeg se afsender navn og besked???????
Avatar billede stroke1 Nybegynder
19. juni 2003 - 01:42 #13
har også lige kigget i phpmyadmin og der har den godt nok oprettet posterne men uden noget indhold i felterne ??????????

hvad dævlen er der galt ????????
Avatar billede ahv Nybegynder
19. juni 2003 - 01:43 #14
$sql="INSERT INTO indlaeg(navn, email, besked)
VALUES('$_POST[navn]','$_POST[email]','$_POST[besked]')";
Avatar billede stroke1 Nybegynder
19. juni 2003 - 01:44 #15
hvorfor _post ahv
Avatar billede ahv Nybegynder
19. juni 2003 - 01:45 #16
Du har åbenbart fulgt en gammel guide hvor deikke tager højde for at i nyere versioner er registre_globals som default sat til off, hvilket betyder at du skal tilgå dine variabler på en anden måde.
Jeg har rettet den linie som skulle rettes, og desuden skal du også rette din form lidt til ->

<form name="form1" method="post" action="opdater.php">
Avatar billede ahv Nybegynder
19. juni 2003 - 01:46 #17
$_POST['varname'] = variabler der er blevet sendt via en FORM med method="POST"
$_GET['varname'] = variabler fra adresselinien, eg: index.php?side=index (FORM med method="GET")
$_COOKIE['varname'] = variabler fra cookies
$_REQUEST['varname'] = alle de tre ovenstående samlet i en
$_SESSION['varname'] = variabler fra sessions
$_ENV['varname'] = servervariabler om "enviroment" ting (brugerens IP)
$_SERVER['varname'] = ass. servervariabler som fx PHP_SELF
Avatar billede stroke1 Nybegynder
19. juni 2003 - 01:46 #18
jamen jeg prøver lige
Avatar billede stroke1 Nybegynder
19. juni 2003 - 02:00 #19
det virkede, tak
Avatar billede ahv Nybegynder
19. juni 2003 - 02:00 #20
Så lidt, godnat.
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