@ndreasMedlem sedan maj 200148 inlägg Hej,
Har lite problem med min kod, men kan inte riktigt lista ut vad som händer.
Eller rättare sagt inte händer, det hamnar nämligen ingenting i mysql tabellen
Det här scriptet anropar mosms.se när dem fått ett sms, och det ska reslutera i att det slumpas en kod, all information ska läggas in i tabellen, och sedan skickas den information som syns på sidan.
(I det här fallet Din kod:, men den kommer inte upp, felet måste alltså vara tidigare.)
Hoppas nån kan hjälpa mig
(Tabellen ser ut så här)
CREATE TABLE *****(
id INT NOT NULL AUTO_INCREMENT,
nummer CHAR(10) NOT NULL,
sms CHAR(160) NOT NULL,
tariff CHAR(2) NOT NULL,
kod CHAR(6) NOT NULL,
datum CHAR(14) NOT NULL,
PRIMARY KEY (id)
);
<?
// Slumpa 6 siffrig kod
$slumptal = rand(100000,999999);
// Datum
$datum = date("YmdHis");
//Ta emot SMS från mosms.se
error_reporting(0);
$nr = $_REQUEST["nr"];
$sms = @urldecode($_REQUEST["sms"]);
$tariff = $_REQUEST["tariff"];
//mySQL Information
$mySQL_host = 'localhost'; //mySQL Hostadress
$mySQL_user = '*******'; //mySQL Användarnamn
$mySQL_pass = '*******'; //mySQL Lösenord
$mySQL_database = '*******'; //mySQL Databas
//mySQL Anslutningen
$mySQL_conn = mysql_connect($mySQL_host, $mySQL_user, $mySQL_pass);
mysql_select_db($mySQL_database, $mySQL_conn);
//Lägg in info till mySQL
mysql_query("INSERT INTO ****** (nummer, sms, tariff, kod, datum) values ("$nr", "$sms", "$tariff", "$slumptal", "$datum")") or exit(mysql_error());
//Svaret som skickas tillbaka till slutanvändaren
echo "Din kod: ";
?>
LarsGMedlem sedan dec. 200012 464 inlägg Om du gör insert på data i en kolumn definierad som char så skall värdet anges inom '
datum CHAR(14) NOT NULL,
Det finns datatypen date som passar bättre för att lagra datum.
sms CHAR(160) NOT NULL,
Datatypen varchar är mer lämplig.
@ndreasMedlem sedan maj 200148 inlägg okej, har ändrat detta, men det blir fortfarande inget skrivet i tabellen.
LarsGMedlem sedan dec. 200012 464 inlägg Hur ser frågan ut efter det att du har substituerat in variablevärdena?
Har du testat den frågan separat?
PeddaMedlem sedan juni 20006 032 inlägg Får du inget felmeddelande?
Testa att skriva ut dina variablar för att se så dom har något innehåll.
Du ska inte kunna använda " quotes innanför quotes som du gör.
Att du inte får några felmedelanden kan bero på error_reporting(0); :) Rekomenderas att inte använda den.
Om du ändrar alla " till ' så löser det sig nog.
Och om du ändrade typen till datetime så använd now() eller sätt rätt format på datum strängen. (Y-m-d H:i:s)
<?
// Slumpa 6 siffrig kod
srand(time()); // <- kolla upp va srand gör.
$slumptal = rand(100000,999999);
// Datum
$datum = date("Y-m-d H:i:s");
//error_reporting(0); <- Naj
$nr = $_REQUEST["nr"];
$sms = @urldecode($_REQUEST["sms"]);
$tariff = $_REQUEST["tariff"];
//mySQL Information
$mySQL_host = 'localhost'; //mySQL Hostadress
$mySQL_user = '*******'; //mySQL Användarnamn
$mySQL_pass = '*******'; //mySQL Lösenord
$mySQL_database = '*******'; //mySQL Databas
//mySQL Anslutningen
$mySQL_conn = mysql_connect($mySQL_host, $mySQL_user, $mySQL_pass);
mysql_select_db($mySQL_database, $mySQL_conn);
//Lägg in info till mySQL
mysql_query("INSERT INTO ****** (nummer, sms, tariff, kod, datum) values ('$nr', '$sms', '$tariff', '$slumptal', now())") or exit(mysql_error()); // Notera att de inte finns några ' runt now() då de är en intern funktion.
//Svaret som skickas tillbaka till slutanvändaren
echo "Din kod: ";
?>