VRAAG: PHP script post Shout/Request to email

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Top Low-Code Developer Gezocht!

Bedrijfsomschrijving Unieke Kansen, Uitstekende Arbeidsvoorwaarden & Inspirerend Team Wij zijn een toonaangevende, internationale organisatie die de toekomst van technologie vormgeeft door het creëren van innovatieve en baanbrekende oplossingen. Ons succes is gebaseerd op een hecht en gepassioneerd team van professionals die altijd streven naar het overtreffen van verwachtingen. Als jij deel wilt uitmaken van een dynamische, vooruitstrevende en inspirerende werkomgeving, dan is dit de perfecte kans voor jou! Functieomschrijving Als Low-Code Developer ben je een cruciaal onderdeel van ons team. Je werkt samen met collega's uit verschillende disciplines om geavanceerde applicaties te ontwikkelen en te optimaliseren met behulp van Low-code

Bekijk vacature »

Dylan nvt

Dylan nvt

10/08/2014 13:10:21
Quote Anchor link
Hallo Mensen!

Ik wil graag een werkende Shout/Request bij mijn radio site.
Mijn vraag is of jullie me kunnen helpen met een php script,
wanneer je me wilt helpen lees dan verder.

Shout/Request code ziet er als volgt uit:
[De code hieronder komt op de radio pagina!]


<form name="form1" method="post" action="post.php"><table border="0"><tr><td>Naam:</td><td><input type="text" name="name"></td></tr>
<tr><td>Je Shout/Request:</td><td><textarea name="msg"></textarea></td></tr><tr><td></td><td><input type="submit" value="Verzend Shout/Request"></tr></form>


Kan iemand hiervan een php script maken?
De eisen voor een post script zie je hieronder

Wat wil ik nou graag in de php script hebben:

- Fouten controle, wanneer je iets niet hebt ingevuld moet het aangegeven worden.
- Ik wil graag dat het verzonden wordt naar een email dit graag zo aangeven in je script [[email protected]]
- Wanneer je op verzend Shout/Request drukt moet er dit bericht komen:
Bedankt, je Shout/Request is verzonden naar de DJ.

Klik hier om nog een Shout/Request door te geven.

Hierbij moet dus een link komen wat je kan aanklikken om weer terug op de radio pagina te gaan.
Dit graag zo aangeven in de script [website url]

Bedankt voor het lezen, ik hoop dat iemand me kan helpen.


Alvast bedankt!


Met vriendelijke groet,
Dylan
Radio Site Eigenaar
 
PHP hulp

PHP hulp

08/05/2024 07:03:48
 
Obelix Idefix

Obelix Idefix

10/08/2014 13:31:00
Quote Anchor link
Wil je het zelf maken of verwacht je dat iemand het kant en klaar aanlevert?
In het eerste geval: wat is je kennis?
Anders lijkt me dit meer op een vacature.
 
Dylan nvt

Dylan nvt

10/08/2014 13:40:02
Quote Anchor link
Nou daarom post ik het dus mijn vraag is of jullie me kunnen helpen
 
Obelix Idefix

Obelix Idefix

10/08/2014 13:48:16
Quote Anchor link
Weet ik nog niet of je wel (basis)kennis hebt, maar niet weet je hoe dit moet maken of dat het een vacature is.....
Maar goed: je wilt hulp. Bij deze een link naar een basistut: http://www.phptuts.nl/view/39/
 
Dylan nvt

Dylan nvt

10/08/2014 13:56:40
Quote Anchor link
Dat ken ik allemaal al, enigste wat ik niet kan is van de code hierboven een goed werkende POST system maken.
Misschien kan jij me helpen?
 
- Ariën  -
Beheerder

- Ariën -

10/08/2014 14:01:35
Quote Anchor link
Wat heb je al geprobeerd, en waar loop je precies op vast?

Je geeft aan dat je de basis al kent.
Gewijzigd op 10/08/2014 14:02:46 door - Ariën -
 
Dylan nvt

Dylan nvt

10/08/2014 14:05:37
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<?php

//kijken of er wat gepost word
if($_SERVER["REQUEST_METHOD"] == POST){
//Moet nog tegen sql injection beschermt worden ben alleen vergeten hoe ;)
  $Name = $_POST["name"];
  $message = $_POST["msg"];
//Je email
  $jouwMailAdres = "...";
//De afzender
  $from = "$name";
//Ondewerp
  $onderwerp = "&name";
//jouw naam
  $uwnaam = "SimChannel";
//Kijken of de formulier is ingevuld
  if($name){
    $send = true;
  }
elseif($message){
    $Send = true;
  }

    if($Send){
//Checken of de mail is aangekomen
        if(mail("$Uwnaam <$JouwMailAdres>","$Onderwerp","Naam: $name <br/>Bericht: $message","From: $Name <$From> \r\nContent-type: text/html")){
            echo"Je reqeust is verzonden";
        }
else{
//Als de mail niet is aan gekomen!
            echo "Je reqeust kon niet verzonden worden!";
        }
    }
else{
//Mislukte formulier
        echo"Je formulier is niet corect ingevult <a href=\"javascript:history.go(-1)\">Ga terug</a>";
    }
}
else{
//Als er niks gepost word
  echo"
<form name="
form1" method="post" action="post.php"><table border="0"><tr><td> Naam:</td><td><input type="text" name="name"></td></tr>
<tr><td>Je Shout/Request:</td><td><textarea name="
msg"></textarea></td></tr><tr><td></td><td><input type="submit" value="Verzend Shout/Request"></tr></form>
  "
;
}



  
?>



Waar loop ik vast:
De code doet het niet er komt webpagina niet gevonden
Gewijzigd op 10/08/2014 14:06:28 door Dylan nvt
 
- Ariën  -
Beheerder

- Ariën -

10/08/2014 14:08:02
Quote Anchor link
- op lijn 4 moet POST tussen dubbelqoutes staan
- op lijn 36 moet je een single-quoted echo gebruiken.
 
Ivo P

Ivo P

10/08/2014 14:12:49
Quote Anchor link
Niet zo maar user invoer (mail adres) in de headers van een mail duwen.
Ik neem aan dat je dat met $From of $from probeert te doen

Zet je error reporting eens aan, want op $From had je een melding moeten krijgen (als de paf=gina tenminste gevonden wordt)
 
Dylan nvt

Dylan nvt

10/08/2014 14:16:09
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<?php

//kijken of er wat gepost word
if($_SERVER["REQUEST_METHOD"] == "POST"){
//Moet nog tegen sql injection beschermt worden ben alleen vergeten hoe ;)
  $Name = $_POST["name"];
  $message = $_POST["msg"];
//Je email
  $jouwMailAdres = "[email protected]";
//De afzender
  $from = "$name";
//Ondewerp
  $onderwerp = "&name";
//jouw naam
  $uwnaam = "SimChannel";
//Kijken of de formulier is ingevuld
  if($name){
    $send = true;
  }
elseif($message){
    $Send = true;
  }

    if($Send){
//Checken of de mail is aangekomen
        if(mail("$Uwnaam <$JouwMailAdres>","$Onderwerp","Naam: $name <br/>Bericht: $message","From: $Name <$From> \r\nContent-type: text/html")){
            echo"Je reqeust is verzonden";
        }
else{
//Als de mail niet is aan gekomen!
            echo "Je reqeust kon niet verzonden worden!";
        }
    }
else{
//Mislukte formulier
        echo"Je formulier is niet corect ingevult <a href=\"javascript:history.go(-1)\">Ga terug</a>";
    }
}
else{
//Als er niks gepost word
  echo'
<form name="form1" method="post" action="post.php"><table border="0"><tr><td>Naam:</td><td><input type="text" name="name"></td></tr>
<tr><td>Je Shout/Request:</td><td><textarea name="msg"></textarea></td></tr><tr><td></td><td><input type="submit" value="Verzend Shout/Request"></tr></form>
  '
;
}



  
?>


Nu geeft die aan
Je reqeust kon niet verzonden worden!
 
Obelix Idefix

Obelix Idefix

10/08/2014 14:18:43
Quote Anchor link
Waarom regel 6+7 en de variabelen aanmaken op regel 9 t/m 15?
Op regel 6 maak je eerst $Name aan, om daar een $_POST waarde in te zetten, daarna maak je op regel 11 $from aan om die te vullen met $name (let op: kleine letter). Waarom?
Zou de variabelen zoals op regel 11 en regel 24 niet tussen "" zetten.
Wees consequent in de naam van je variabelen. Die op regel 6 begin je met een hoofdletter, op regel 7 niet.
Waar controleer je of de variabelen $_POST['name'] en $_POST['msg'] wel een waarde hebben?
Waar komt $name vandaan op regel 17?
Ook $send kent twee schrijfwijzes: regel 18 is anders dan regel 20.
De tekst op regel 23 klopt niet; je controleert of de mail is verzonden, niet of die is aangekomen.
Grote kans dat je headers bij de mail onvolledig zijn (http://phpwiki.santhe.nl/index.php?title=De_juiste_mailheaders).
Ik zou de variabelen die van een user zijn en je in je mail gebruikt, beveiligen.

Is het niet 'request' ipv 'reqeust'? ;-)
Gewijzigd op 10/08/2014 14:20:09 door Obelix Idefix
 
Dylan nvt

Dylan nvt

10/08/2014 14:20:15
Quote Anchor link
Kan iemand zeggen wat aangepast moet worden alvast bedankt :)
 
Obelix Idefix

Obelix Idefix

10/08/2014 14:22:27
Quote Anchor link
Het is hier geen afhaalchinees.
Heb je mijn post gelezen?!
Daar staat in ieder geval een aantal zaken in, waardoor je mogelijk die (fout)melding krijgt.


Toevoeging op 10/08/2014 22:21:54:

Crossposting: http://www.pfz.nl/forum/topic/10811-vraag-php-script-post-shoutrequest-to-email/
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.