/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Formmail/SMS
Fra : Michael Kjærsgård


Dato : 14-03-04 14:24

Hej...

Jeg har indtil for ganske nylig haft en ganske velfungerende SMS-sender
(formular + PHP-script der sender mail til xxxxxxxx@gsm1800.telia.dk med
beskeden) på min side, men efter jeg skiftede til et andet webhotel
virkede den pludselig ikke mere. Mailen bliver simpelthen ikke afsendt.
Jeg havde naturligvis undersøgt om det nye hotel understøttede PHP-mail
hvilket blev bekræftet, og en anden formular jeg har på min side virker
også fint, men der må jo være nogle indstillinger på serveren der er
anderledes end på den gamle server hvilket så har gjort at mit
hjemmefuskede script ikke virker derpå.

SMS-senderen der ikke virker ligger på http://vindenand.dk/sms
Jeg har så oprettet et gratis-hotel og uploadet NØJAGTIG de samme filer,
og her virker det fint: http://vindenand.users.whitehat.dk

Jeg er bestemt ingen haj til PHP (hentede i sin tid en "skabelon" til
scriptet fra script.dk og rettede det så lidt til, egentlig et mirakel
jeg nogensinde fik det til at virke..hehe..), er der måske nogen af jer
der kan fortælle mig hvor i scriptet der er en fejl/uhensigtsmæssighed.

SMS-senderen består af 3 dele:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Selve formularen som ser nogenlunde sådan ud (overflødig tekst fjernet)
og som jeg egentlig ikke formoder der er nogen problemer med, men viser
den lige alligevel:

<script language="JavaScript"><!--
function check() {
document.sms.tilbage.value = 128 - document.sms.besked.value.length;
if (document.sms.tilbage.value < 0) {
alert("Beskeden kan ikke være mere end 128 tegn");
}
}
// --></script>

<form action="send.php" method="POST" name="sms">
<input type="hidden" name="mode" value="Send"><p><font
size="1" face="Arial">Modtager:<br>
<input type="text" size="8" maxlength="8" name="nummer"
class="textbox"><br>
Besked:<br>
<input type="text" size="30" maxlength="128"
name="besked" class="textbox" wrap="virtual"
onkeyup="check()" onchange="check()"><br>
Tegn tilbage:<input type="text" size="3"
name="tilbage" value="128" class="textbox"><br>
<input type="submit" value="Send SMS Besked"
class="button"><br>
</p>
</form>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Så selve scriptet som hedder send.php (og som vel er det der er en fejl
i?):

<?php if ($nummer && $besked) { if ($nummer < 20000000) {
$nummer="$nummer@gsm1800.telia.dk" ; }
elseif ($nummer < 99999999) { $nummer="$nummer@gsm1800.telia.dk" ; }
mail($nummer, "",$besked, "FROM: @");?>

<?php include( "back.php"); ?>
<html>

<head>

<?php exit; } ?>



</body>
</html>

-"elseif"-sætningen skulle man vel i teorien godt kunne fjerne? Stammer
tilbage fra dengang der var forskellige adresser til de forskellige
teleselskaber, men kunne overhovedet ikke få det til at virke hvis den
blev slettet, så den har fået lov at bestå gennem årene...
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
back.php fortæller blot at beskeden er afsendt.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Nogen der kan give mig et hint om hvad jeg skal gøre for at få mit nye
webhotel til at acceptere scriptet? Eller evt. har et andet sms-script
liggende som er "freeware" og som jeg må få??


På forhånd mange tak

--
Michael
http://vindenand.dk



 
 
// Overby (14-03-2004)
Kommentar
Fra : // Overby


Dato : 14-03-04 16:36

I forbindelse med en af de nyere versioner af PHP, blev
'register_globals_sat til OFF - det betyder at du skal tilgå dine
POST-variabler med $_POST["variabel"]

Dvs. alle de felter du har i din form skal tilgås med $_POST["name"] og ikke
bare $name.

/Daniel



Michael Kjærsgård (14-03-2004)
Kommentar
Fra : Michael Kjærsgård


Dato : 14-03-04 17:31

> Dvs. alle de felter du har i din form skal tilgås med $_POST["name"] og ikke
> bare $name.

Tak for dit svar, men jeg er desværre bange for jeg stadig ikke helt har
forstået det (undskyld min uvidenhed, jeg fatter totalt minus mht. det her :( )
Altså selve formularen er der jo slet ingen php-kode i, det er ren
html+javascript, er det der du mener jeg skal erstatte name med $_POST["name"]
??
Så kommer der jo til at stå noget der ligner: <form action="send.php"
method="POST" $_POST["name"]="sms"> hvilket jo ikke ser specielt fornuftigt ud
(?), så jeg har vist misforstået...!

Kan du lokkes til at forklare én gang til for Prins Knud? :)

--
Michael


Kristian Thy (14-03-2004)
Kommentar
Fra : Kristian Thy


Dato : 14-03-04 18:52

Michael Kjærsgård uttered:
> Kan du lokkes til at forklare én gang til for Prins Knud? :)

Det er i send.php at du skal udskifte $nummer med $_POST['nummer'] etc.

\\kristian

Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408931
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste