Avatar billede Slettet bruger
17. december 2004 - 05:39 Der er 13 kommentarer og
1 løsning

Simpel send-formular

Hvorfor kan jeg på http://www.midlertidigt-domaenenavn.helsingor.net/index.php ikke få:

<form action="index.php" method="post">
<textarea name="besked" cols="50" wrap="VIRTUAL" class="gul_bg_blk_bg"></textarea>                     
<input name="navn" type="text" class="gul_bg_blk_bg">
<input name="email" type="text" class="gul_bg_blk_bg">
<input name="send" type="submit" class="gul_bg_blk_bg" value="Send">
<?

if($navn && $email && $besked) {

mail("xxx@xxxxxxxx.net","Emne....","

Navn: $navn
Email: $email
Besked: $besked");

echo("<font face=verdana size=1 color=#ffffff>Besked er sendt.</font>");

} elseif ($send) {

echo("<font face=verdana size=1 color=#ffffff>Fejl - noget gik galt...</font>");

}

?>
</form>
Avatar billede wickedd Juniormester
17. december 2004 - 07:20 #1
Prøv den her

<form action="index.php" method="post">
<textarea name="besked" cols="50" wrap="VIRTUAL" class="gul_bg_blk_bg"></textarea>                   
<input name="navn" type="text" class="gul_bg_blk_bg">
<input name="email" type="text" class="gul_bg_blk_bg">
<input name="send" type="submit" class="gul_bg_blk_bg" value="Send">
<?

if($navn && $email && $besked) {

mail("xxx@xxxxxxxx.net","Emne....","Navn: $navn - Email: $email\n\n\nBesked: $besked", "From:din-mail.dk");

echo("<font face=verdana size=1 color=#ffffff>Besked er sendt.</font>");

} elseif ($send) {

echo("<font face=verdana size=1 color=#ffffff>Fejl - noget gik galt...</font>");

}

?>
</form>
Avatar billede Slettet bruger
17. december 2004 - 09:00 #2
Nop, der sker ingenting: se hele koden her: http://www.midlertidigt-domaenenavn.helsingor.net/kode.php
Avatar billede wickedd Juniormester
17. december 2004 - 09:15 #3
Hvis det heller ikke er sådan her, så aner jeg ik hvad der er galt

<?
if($navn && $email && $besked) {
    mail("xxx@xxxxxxxx.net","Emne....","Navn: $navn - Email: $email\n\n\nBesked: $besked", "From:din-mail.dk");
    echo "<font face=\"verdana\" size=\"1\" color=\"#ffffff\">Besked er sendt.</font>";

} elseif ($send) {
    echo "<font face=\"verdana\" size=\"1\" color=\"#ffffff\">Fejl - noget gik galt...</font>";
}
?>
<form action="index.php" method="post">
<textarea name="besked" cols="50" wrap="VIRTUAL" class="gul_bg_blk_bg"></textarea>                 
<input name="navn" type="text" class="gul_bg_blk_bg">
<input name="email" type="text" class="gul_bg_blk_bg">
<input name="send" type="submit" class="gul_bg_blk_bg" value="Send">
</form>
Avatar billede qub- Novice
17. december 2004 - 10:53 #4
hvilken fejl kommer den med?
Avatar billede rednex Nybegynder
17. december 2004 - 12:47 #5
hvis du ikke har sat register_globals til i din php.ini er det nok derfor du ikke kan hente dine variable. Så skal du bruge $_POST['navn'] for at hente $navn fra din formular.
Avatar billede Slettet bruger
18. december 2004 - 05:44 #6
rednex >>> Det var dét! Det virker nu... Svarer du lige...
Avatar billede Slettet bruger
18. december 2004 - 08:06 #7
Pokkers, der var jeg vist lige lidt for hurtigt... Den sender nu, men ikke indholdet af div. INPUT's. Det ser således ud:

<?

if($_POST['besked'] && $_POST['navn'] && $_POST['email']) {

mail("ffs@helsingor.net","Emne fra Dadman...","Navn: $navn - Email: $email\n\n\nBesked: $besked", "From:ffs@helsingor.net");

echo("<font face=verdana size=1 color=#ffffff>Besked er sendt.</font>");

} elseif ($send) {

echo("<font face=verdana size=1 color=#ffffff>Fejl - noget gik galt...</font>");

}

?>
Avatar billede rednex Nybegynder
18. december 2004 - 09:31 #8
Jeps :)
Avatar billede rednex Nybegynder
18. december 2004 - 09:33 #9
Du skal bruge $POST['xxx'] alle de steder du skal have indholdet af dine variable, ellers skal du gemme indholdet i lokale variable først. F.eks.:
$navn = $_POST['navn'];

Så kan du bruge $navn i resten af scriptet.
Avatar billede rednex Nybegynder
18. december 2004 - 09:40 #10
og hvis du skal undgå notices kan du bruge:

$navn = isset($_POST['navn']) ? $_POST['navn'] : '';
Avatar billede Slettet bruger
27. december 2004 - 19:18 #11
Det virker stadig ikke...
1. Den viser ikke statusteksten...
2. Den sender ikke...

Hvad er "notices" iøvrigt?

Det ser således ud:

<?

if($_POST['besked'] && $_POST['navn'] && $_POST['email']) {

mail("xxx@xxxxxxxx.net","Emnetekst","Navn: $navn - Email: $email\n\n\nBesked: $besked", "From:xxx@xxxxxxxx.net");

echo("<font face=verdana size=1 color=#ffffff>Besked er sendt.</font>");

} elseif ($send) {

echo("<font face=verdana size=1 color=#ffffff>Fejl - noget gik galt...</font>");

}

?>
Avatar billede rednex Nybegynder
27. december 2004 - 19:31 #12
Ehh, det er ikke bare fordi din tekst er hvid (på hvid baggrund) ?
Avatar billede rednex Nybegynder
27. december 2004 - 19:40 #13
Du må undskylde at jeg ikke har fået svaret dig, men det var simpelthen undsluppet min hukommelse :o/

Notices er advarsler man får når man f.eks. prøver at læse en variabel som ikke er oprettet. Det er en god idé at sørge for at ens variabler findes i forvejen. På den måde kan du fange eventuelle tastefejl i koden ved at se at der kommer notices.

Du kan indsætte følgende i toppen af dit script for at få vist alle fejlmeddelelser fra PHP:
error_reporting(E_ALL);
ini_set('display_errors', 1);

Som jeg skrev tidligere kan du bruge
$navn = isset($_POST['navn']) ? $_POST['navn'] : '';
til at initialisere de variabler som kommer fra formularen. Det svarer til at skrive

if(isset($_POST['navn']))
  $navn = $_POST['navn'];
else
  $navn = '';

På den måde er du sikker på at variablen $navn er oprettet, og du undgår notices.
Avatar billede Slettet bruger
27. december 2004 - 19:55 #14
Mange tek for hjælpen!
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