Permalänk
Medlem

Mysql,Php,Mosms

Tjenare, Håller på med mitt Vip system till Spelet Counter-Strike Source
och behöver hjälp med lite php kodning som antagligen är rätt simpelt för den som kan

Ska förklara vad den gör,
Nån Skickar smset MetroGaming Vip "Sen sitt steamID som ser ut ungefär så här STEAM_0:0:33054479
Tex: MetroGaming Vip STEAM_0:0:33054479
Sen kommer det till en php kod Min ser ut så här just nu

<?php // Stäng av PHP:s felrapportering error_reporting(0); // Plocka ut SMS-meddelandet $sms = urldecode($_REQUEST['sms']); $sms = "MetroGaming vip STEAM_0:0:33054479"; $pattern = "/vip\s(.+)/"; preg_match($pattern,$content,$matches); $dbhost = 'localhost'; $dbuser = '*****'; $dbpass = '*****'; $conn = mysql_connect($dbhost, $dbuser, $dbpass) or die(mysql_error()); $dbname = 'stamm'; mysql_select_db($dbname) or die(mysql_error()); mysql_query("INSERT INTO premiummod (steamid) VALUES('" . $matches[1] . "') ") or die(mysql_error()); echo 'Du har nu köpt VIP'; ?>

Det den ska göra nu är att bara ta "SteamID" Och inte Texten MetroGaming Vip
Och lägga in i Database: Stamm Table: premiummod

Tack på förhand!

Permalänk
Medlem

Så det är regexpen du vill ha hjälp med? Jag förstår inte problemet

Vad jag minns från när jag använde mosms är väl att du kan skicka ett gratis svars-sms. Eller det kanske var så att sidans output blev själva svaret (kom jag på nu)

är det inte enklare att köra substr? (kanske +1 på strpos)

$steamid = substr ( $sms, strrpos ( $sms, "vip " ))

Visa signatur

AMD 7700X (EK 240mm AIO) | ROG Strix B650E-F Gaming | Gigabyte RX 6800 XT 16GB OC | Kingston Fury 32GB DDR5 5600mhz | Kingston Fury Renegade M2 2TB | Alienware AW2723DF 280hz

Permalänk
Medlem

Hmm...
Menar du ungefär såhär

<?php // Stäng av PHP:s felrapportering error_reporting(0); // Plocka ut SMS-meddelandet $sms = urldecode($_REQUEST['sms']); // Kontakt MySQL databasen $dbhost = 'localhost'; $dbuser = '****'; $dbpass = '****'; $conn = mysql_connect($dbhost, $dbuser, $dbpass) or die(mysql_error()); $dbname = 'stamm'; mysql_select_db($dbname) or die(mysql_error()); $steamid = substr ( $sms, strrpos ( $sms, "vip " )) // Skicka datat till databasen mysql_query("INSERT INTO premiummod (steamid) VALUES('" . $steamid . "') ") or die(mysql_error()); // Eka ut svaret som skickas tillbaka till slutanvändaren echo 'Du är nu VIP en månad!'; ?>

Fick det här error när jag test körde det

Anroppad URL: "http://www.MetroGaming.se/include/VIP.php?nr=0701234567&sms=M..." HTTP-Svar: "200" SMS-Svar: "<br /> <b>Parse error</b>: syntax error, unexpected T_STRING in <b>C:\xampp\htdocs\Include\vip.php</b> on line <b>36</b><br /> "

Permalänk
Medlem

Funkar!

Nu har jag fått det att funka!
Med det här

$string = $sms; $string = substr($sms, 16);

En sak kvar som jag behöver ha
I databasen stamm finns table Premiummod => SteamID > Expire
SteamID Det har jag fixa med min kod nu
Sen finns det expire
Jag vill att när man smsar ska det ta dagens datum => en månad och lägga in Ex vi säger att det är 2011-12-00
Då ska den lägga in
01.01.12
Dag-Månad-År

Permalänk
Medlem

Nu kan ni låsa tråden:)
Lyckades fixa allt själv!