webForumDet fria alternativet

Resultat från mysql till mobil via sms?

PHP

5 svar · 687 visningar · startad av Guldstrand

Medlem sedan juli 20041 271 inlägg
Frågan#1

Går det att skicka ett resultat från mysql till en mobil via sms?

Testkörde en koppling på mosms.com, och fick detta:

URL: 'http://www.minsida.se/sms/sms_test.php?nr=0701234567&sms=[B]mittprefix[/B]%20serie%20[B]sokord[/B]&tariff=0&operator=Telia'
HTTP Response: 200 (OK)
Response: "$titel | producerad $skapad<br>$handling"

Har detta:

<?php 

// Stäng av PHP:s felrapportering
error_reporting(0);
 
 
// Kontrollera att det är MO-SMS som anropar (OBS: kommentera bort vid testkörning!) 

/*
if($_SERVER['REMOTE_ADDR'] != '217.75.102.141'){   
	exit();   
}
*/
 
// Plocka ut avsändarnumret
$nr = $_REQUEST['nr'];

$sms = @urldecode(mysql_escape_string($_REQUEST["sms"])); 
$get_msg = split(" ",$sms); 
$titel = trim($get_msg[2]); 

// Plocka ut priset slutanvändaren blev debiterad (för egen vinststatistik)
$tariff = $_REQUEST['tariff'];
 
// Plocka ut operatören SMS:et skickades in via (för egen vinststatistik)
$operator = $_REQUEST['operator'];

include("../conn.php"); 
$sql = "SELECT titel, skapad, handling FROM serier WHERE titel = '".$titel."'";
$result = mysql_query($sql);

while($rad = mysql_fetch_array($result))
{
$titel = $rad["titel"];
$skapad = $rad["skapad"];
$handling = $rad["handling"];

}
// Eka ut svaret som skickas tillbaka till slutanvändaren
echo '$titel | producerad $skapad<br>$handling'; 

?>

Alltså, om en användare skickar "mittprefix serie sokord", så vill jag att det ska skickas tillbaka kort information om serien via sms.
Är detta möjligt, och är isåfall kodan ovan, korrekt!?

Medlem sedan dec. 200012 464 inlägg
#2

Flyttas från SQL

Medlem sedan juli 20041 271 inlägg
#3

Har detta nu:

<?php 

// Stäng av PHP:s felrapportering
error_reporting(0); 
 
 
// Kontrollera att det är MO-SMS som anropar (OBS: kommentera bort vid testkörning!) 

/*
if($_SERVER['REMOTE_ADDR'] != '217.75.102.141'){   
	exit();   
}
*/
 
// Plocka ut avsändarnumret
$nr = $_REQUEST['nr'];

$sms = @urldecode(mysql_escape_string($_REQUEST["sms"])); 
$get_msg = split(" ",$sms); 
$titel = trim($get_msg[2]); 

// Plocka ut priset slutanvändaren blev debiterad (för egen vinststatistik)
$tariff = $_REQUEST['tariff'];
 
// Plocka ut operatören SMS:et skickades in via (för egen vinststatistik)
$operator = $_REQUEST['operator'];

include("../conn.php"); 
$sql = "SELECT titel, skapad, handling FROM serier WHERE titel = '".$titel."' LIMIT 1";
$result = mysql_query($sql);
 
$rad = @mysql_fetch_array($result);
if($rad){
 $titel = $rad["titel"];
 $skapad = $rad["skapad"];
 $handling = $rad["handling"];
 
// Eka ut svaret som skickas tillbaka till slutanvändaren
  echo "$titel | producerad $skapad<br>$handling";
 
} else {
  echo "Inga träffar";
}
?>

..ger mig:

URL: 'http://www.minsida.se/sms/sms_test.php?nr=0701234567&sms=[B]mittprefix[/B]%20serie%20[B]sokord[/B]&tariff=0&operator=Telia'
HTTP Response: 200 (OK)
Response: "Inga träffar"

testade med "the closer" (utan " ").

Detta var underligt, jag VET ju att den angivna posten finns i databasen. :l
Kan det vara att koden är "känslig" mot mellanrum/blanksteg?

Medlem sedan juni 20008 205 inlägg
#4

Exempel på SQL-kod som genereras och hur posten som ska bli svaret på den frågan ser ut?

red. Förresten, <br> är inget vidare att ha i ett SMS eftersom det är plain text, inte HTML. Vill du ha en radbrytning, använd \n istället.

Medlem sedan juli 20041 271 inlägg
#5

Förstår inte din fråga riktigt, men här kommer koden (igen).

// Plocka ut avsändarnumret
$nr = $_REQUEST['nr'];

$sms = @urldecode(mysql_escape_string($_REQUEST["sms"])); 
$get_msg = split(" ",$sms); 
$titel = trim($get_msg[2]); 

// Plocka ut priset slutanvändaren blev debiterad (för egen vinststatistik)
$tariff = $_REQUEST['tariff'];
 
// Plocka ut operatören SMS:et skickades in via (för egen vinststatistik)
$operator = $_REQUEST['operator'];

include("../conn.php"); 
$sql = "SELECT titel, skapad, handling FROM serier WHERE titel = '".$titel."' LIMIT 1";
$result = mysql_query($sql);
 
$rad = @mysql_fetch_array($result);
if($rad){
 $titel = $rad["titel"];
 $skapad = $rad["skapad"];
 $handling = $rad["handling"];
 
// Eka ut svaret som skickas tillbaka till slutanvändaren
  echo "$titel, från $skapad\n$handling";
 
} else {
  echo "Inga träffar";
}

Testade att söka efter en annan serie (utan mellanrum/blanksteg), det fungerade bättre.

URL: 'http://www.minsida.se/sms/sms_test.php?nr=0701234567&sms=[B]mittprefix[/B]%20serie%20[B]sokord[/B]&tariff=0&operator=Telia'
HTTP Response: 200 (OK)
Response: "Rome, från 2005
Serien tar sin början i Rom år 52 f.Kr. när Julius Caesar återkommer till Rom från sina segerrika krigståg i Gallien. Serien skildrar början av den romerska republiken sammanbrott på grund av klasskampen mellan plebejer och patricier, korrumperade politiker och fattigdom. Samtidigt som tittaren får följa de rika, de mäktiga och de "historiskt signifikanta", kretsar historien i Rome kring två soldaters liv, familjer, bekanta och öde: Lucius Vorenus och Titus Pullo (för övrigt de enda "vanliga" soldater som är omnämnda i Caesars Commentarii de Bello Gallico)."

Går det att göra $titel till bold?

EDIT: läste att man kunde skriva *$titel* för att göra texten bold/tjock.

Medlem sedan juli 20041 271 inlägg
#6

Fick hjälp på ett annat forum.
Löste det genom att ändra till "$get_msg = explode(" ", $sms, 3);".

264 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)