---
title: "Ny på PHP????"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/94491-ny-på-php"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "huskyboy"
published: "2004-01-10T19:18:32.000Z"
updated: "2005-04-16T13:48:14.000Z"
replies: 16
views: 525
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/94491-ny-på-php"
---

# Ny på PHP????

## #1 — huskyboy, 2004-01-10T19:18Z

Jag tänkte prova några script från phpsidan.nu men det vill sig inte.
Jag har laddat ner 4 olika mailscript för att prova men det blir något felmeddelande på alla.
Är det något särskillt jag måste göra?
Jag har provat på både mitt webhotell, som visserligen kör windows men har phpstöd, och lokalt med en apache server med php.
Det kan väl inte vara fel på alla scripten.
Det är dessa scripten:
<http://www.phpsidan.nu/zipexplorer.php?cd=/fastmail.zip>
<http://www.phpsidan.nu/zipexplorer.php?cd=/kontakt_via_email.zip>
<http://www.phpsidan.nu/zipexplorer.php?cd=/mail_php.zip>
<http://www.phpsidan.nu/zipexplorer.php?cd=/mailscript.zip>

Man kan kolla koden där.

Permalänk: https://www.webforum.nu/p/94491

## #2 — huskyboy, 2004-01-10T19:55Z

Har testat något annat script nu med samma resultat.
Det kommer upp något om undefined index.
???

Permalänk: https://www.webforum.nu/p/1247009

## #3 — Matte, 2004-01-11T00:22Z

Jag ser två saker med de skripten.

1\.
Det är i PHP tillåtet att använda varibler utan att definiera dom först, men det är inte att rekommendera. Därför sänder PHP ut en notis.
Många webbservrar har PHP inställt på att inte visa notiser. Därför syns inte dessa hos dom som gjort skripten, och skripten fungerar, men är enligt mitt synsätt fulkodade.
I dessa fall är det enklast att kolla med isset() om en variabel är satt innan man använder den, typ:

```
if (isset($_GET['send']) && $_GET['send'] == "true") {
```

 

2\.
Standardinställningen i PHP är numera register_globals satt till Off (ej satt). Några av skripten fungerar endast på servrar med register_globals satt till On (är satt).
Är register_globals satt så kan man komma åt POST-variabler (m.m.) med $namn.
Är register_globals däremot inte satt så finns inte variabeln $namn, men däremot finns vid bägge inställningarna variabeln $\_POST\['namn'\].

Sammanfattning:
Skripten kommer sannolikt att fungera på de flesta webbhotell, då de har register_globals satt, och visning av notiser bortkopplat.
Men lär dig ändå att koda så att dina skript fungerar då register_globals är Off, och så att du inte får några notiser. Detta kommer du att ha nytta av längre fram.

Permalänk: https://www.webforum.nu/p/1247137

## #4 — huskyboy, 2004-01-11T08:58Z

Jag har laddat upp "fastmail" på mitt webhotell men det fungerar inte där heller.
Kolla på <http://www.hjwebb.com/fastmail/mail.php>
Det är alltså detta scriptet:
<http://www.phpsidan.nu/zipexplorer.php?cd=/fastmail.zip>

Permalänk: https://www.webforum.nu/p/1247214

## #5 — @nders, 2004-01-11T09:08Z

Passa då på att läsa Mattes inlägg igen.

Permalänk: https://www.webforum.nu/p/1247215

## #6 — huskyboy, 2004-01-11T09:13Z

Nu kan jag ju inget om php men det scriptet har väl som han skrev: $\_POST\['namn'\].
Eller har jag förstått fel?

Permalänk: https://www.webforum.nu/p/1247216

## #7 — @nders, 2004-01-11T09:19Z

Det ser inte ut som isset() används för att kontrollera att variablerna är satta?

Det är det Matte nämner i punkt 1.

Permalänk: https://www.webforum.nu/p/1247217

## #8 — huskyboy, 2004-01-11T09:22Z

Du har inte lust att skriva hur det ska se ut?

Permalänk: https://www.webforum.nu/p/1247219

## #9 — @nders, 2004-01-11T09:26Z

Jag kan inte heller PHP, så jag får gissa.

```php
<? 
if (isset($_GET['send']) && $_GET['send'] == "true") {    mail($_POST['email_to'],$_POST['topic'],$_POST['msg'], "From: ".$_POST['email']); 
    header("Location: mail.php?done=true"); 
} 
?> 

...

<? if (isset($_GET['done']) && $_GET['done'] == "true") { echo "<b>Skickat!</B>"; } ?>
```

Permalänk: https://www.webforum.nu/p/1247222

## #10 — huskyboy, 2004-01-11T09:31Z

Tack, jag ska prova.

Permalänk: https://www.webforum.nu/p/1247224

## #11 — huskyboy, 2004-01-11T09:45Z

Nu fungerade det lokalt på min dator men inte på webhotellet.
Det ser bra ut på förstasidan men det blir ett felmeddelande när man skickar.
Jag får väl kontakta webhotellet och höra.
Är det någon som har lust att skicka och prova för att se felmeddelandet och se om det är webhotellet?

Permalänk: https://www.webforum.nu/p/1247228

## #12 — @nders, 2004-01-11T09:54Z

Felmeddelande 1 beror på att SMTP-servern inte vill skicka till externa adresser (tolkar jag det som), och fel två är ett följdfel.

Permalänk: https://www.webforum.nu/p/1247231

## #13 — huskyboy, 2004-01-11T10:17Z

Okej, tack.
Då får jag höra med webhotellet.

Än en gång, tack för hjälpen

Permalänk: https://www.webforum.nu/p/1247242

## #14 — huskyboy, 2004-01-12T17:58Z

Jag har nu fått rätt på två av scripten men är det någon som kan hjälpa mig med dom två sista?
Hu blir koden på dessa två?

\<?PHP 
$mail = mail("$email", "$rubrik", "
Din polare $namn har skickat ett mail!

Det som $namn har skrivit: 

$meddelande
");

if(isset($mail)){
    echo "\<CENTER\>Ditt mail skickades lika snabbt som blixten till $email.\</CENTER\>";
}else{
    echo "\<CENTER\>Något fel har hänt...\</CENTER\>";
}
?\>

OCH

\<?
if (!$namn) {
header ("Location: mail.php");
die();
}
if (!$email) {
header ("Location: mail.php");
die();
}
if (!$text) {
header ("Location: mail.php");
die();
}
\#KOMMENTARER!
\#Här ändrar du vilken mail mailet skall komma till, ändra också Subjectet,vart mailet kommer #ifrån skall du också ändra

mail("dinmail@något.com", "Meddelande från hemsidan", "$namn\\n$email\\n$text", "From: <Kontaktskript@domain.com>\\r\\n");
?\>

Mycket tacksam för hjälp

Permalänk: https://www.webforum.nu/p/1248014

## #15 — Matte, 2004-01-12T21:33Z

Använd gärna PHP-taggar för din kod.

```php
<?PHP 
$mail = mail($_POST['email'], $_POST['rubrik'], "
Din polare {$_POST['namn']} har skickat ett mail!

Det som ".$_POST['namn']." har skrivit: 

{$_POST['meddelande']}
");

if($mail){
echo "<CENTER>Ditt mail skickades lika snabbt som blixten till {$_POST['email']}.</CENTER>";
}else{
echo "<CENTER>Något fel har hänt...</CENTER>";
}
?>
```

 

```php
<?
if (empty($_POST['namn'])) {
header ("Location: mail.php");
die();
}
if (empty($_POST['email'])) {
header ("Location: mail.php");
die();
}
if (empty($_POST['text'])) {
header ("Location: mail.php");
die();
}
#KOMMENTARER!
#Här ändrar du vilken mail mailet skall komma till, ändra också Subjectet,vart mailet kommer #ifrån skall du också ändra

mail("dinmail@något.com", "Meddelande från hemsidan", $_POST['namn']."\n".$_POST['email']."\n".$_POST['text'], "F rom: Kontaktskript@domain.com\r\n");
?>
```

Jag fick lägga till ett mellanslag efter F-et i From annars ändrades koden av forumet. Tag bort det mellanslaget.

Permalänk: https://www.webforum.nu/p/1248122

## #16 — huskyboy, 2004-01-13T14:14Z

Tack så mycket för hjälpen.

Permalänk: https://www.webforum.nu/p/1248457

## #17 — addeweb, 2005-04-16T13:48Z

Gjorde fel. Måste vara ny tråd. Varit borta för länge.

Permalänk: https://www.webforum.nu/p/1595856

---

Tråden på webben: https://www.webforum.nu/amne/php/94491-ny-på-php
