Gå til innhold

SMS webapp iphone/android


Anbefalte innlegg

Videoannonse
Annonse

Antar at du skal bruke dette selv, isåfall så burde scriptet du linket til fungere. Hvis du har satt opp en Linux server (eller Windows med Cygwin) så er det bare og bruke PHP sin system() funksjon for og calle scriptet.

 

Ex.

<?php

if(isset($_POST))
{

$nummer =  $_POST['nummer'];
$melding =  $_POST['melding'];

if(strlen($nummer) == 8 && is_numeric($nummer) && !empty($melding))
{
echo system("/loc/to/script.sh {$nummer} {$melding}");
}
else
{
echo "Kunde ikke sende meldingen";
}

}
?>

 

Også må du ha en HTML form til og skrive melding og nummeret til mottaker.

Endret av Surmoth
Lenke til kommentar

Jeg tenkte da å portere over til PHP.

Jeg har kommet så langt som å sende SMS, men får feilmelding uansett og ingen SMS er sendt..

Så problemet ligger etter * Send the SMS

 

<?php
$user = " ";
$pw   = " ";
$to   = $user;
$msg  = "dette er 1 test.. æ ø å å";

$ch = curl_init();
// SETT LOGIN URL
curl_setopt($ch, CURLOPT_URL, 'https://telenormobil.no/minesider/login.do');
// HTTP POST
curl_setopt ($ch, CURLOPT_POST, 1);
// SEND INNLOGGING
curl_setopt ($ch, CURLOPT_POSTFIELDS, 'j_username='.$user.'&j_password='.$pw.'&fromweb=undefined');
// LAG COOKIE
curl_setopt ($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
// IKKE RETURNER SIDE, MEN STRENG
# NEW-->
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_MAXREDIRS, 10); 
# <--
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
// KJØR REQUEST (LOGIN SKJEMA)
$store = curl_exec ($ch);

// SJEKK OM DU ER INNLOGGET
if (strpos($store, "<dt>Innlogget</dt>")) {
  $log = "Du er logget inn";


/**
* Send the SMS
* @toAddress
* @message
* @b_send
*/
curl_setopt($ch, CURLOPT_URL, 'https://telenormobil.no/ums/compose/send.do');
// Muligens prosess.do, men den fugerer heller ikke
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'toAdress='.$to.'&message='.$msg.'&b_send=Send');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
$store2 = curl_exec($ch);

/**
* Check if message was sent
*
*/
if(strpos($store2, "<p>Meldingen er sendt.</p>")) {
  echo "SMS Sendt!";
} 
else { 
  echo "Kunne ikke sende sms.."; 
  echo $store;
}

}
else {
echo "Kunne ikke logge deg inn!";
}
curl_close($ch); 
?>

Endret av Stian Jacobsen
Lenke til kommentar

Ok har fått til det meste nå.. men jeg sitter på jobb så jeg har ikke muligheten til å ferdiggjøre scriptet, MEN, når jeg kommer hjem skal jeg separere innlogging og sms-sending + inkludere adresseboken.

 

Det eneste er at tegnene æ ø å etc.. ikke blir rett. Jeg har prøvd det meste, utf_encode, header med charset utf-8..

 

 

<?php
header("Content-Type: text/html;charset=utf-8");
$user = " ";
$pw   = " ";
$to   = "12345678";
$msg  = empty($_GET['msg']) || !isset($_GET['msg']) ? "dette er æ ø å 1 test.. å" : $_GET['msg'];
$cookie = "curlycookie-".time().".txt";
$logged = false;

$ch = curl_init();

/**
* Login
* @j_username
* @j_password
* @fromweb
*/
if($logged == false) {
curl_setopt($ch, CURLOPT_URL, 'https://telenormobil.no/minesider/login.do');
curl_setopt ($ch, CURLOPT_POST, 1);
curl_setopt ($ch, CURLOPT_POSTFIELDS, 'j_username='.$user.'&j_password='.$pw.'&fromweb=undefined');
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_MAXREDIRS, 10); 
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);

$login_res = curl_exec ($ch);

$logged = strpos($login_res, "<dt>Innlogget</dt>") ? true : false;
}

/**
* Send the SMS
* @toAddress
* @message
* @b_send
*/
$msg = prepsms($msg);
curl_setopt($ch, CURLOPT_URL, 'https://telenormobil.no/ums/compose/sms/process.do');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'toAddress='.$to.'&message='.urlencode($msg).'&b_send=Send');
curl_setopt ($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$send = curl_exec($ch);

/**
* Check if message was sent
*
*/
echo strpos($send, "<th>Sendt:</th>") ? "SMS Sendt!" : "Kunne ikke sende sms.."; 

curl_close($ch); 

?>

 

Lenke til kommentar

Min kode som jeg bruker mot clickatell ser sånn ut:

 

	$sms['to'] = "47" . $_POST['to'];
$sms['from'] = $_POST['from'];
$sms['user'] = "hemmelig";
$sms['password'] = "hemmelig";
$sms['api_id'] = "hemmelig";
$sms['text'] = utf8_decode($_POST['text']);
$sms['callback'] = 3;

$query = http_build_query($sms);

$res = file_get_contents("http://api.clickatell.com/http/sendmsg?" . $query);

 

Ser at du bruker curl og post, så blir vel ikke helt relevant. Men med det oppsettet mitt så funker det hvertfall med æ,ø og å.

Endret av Mez
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...