これはうまくいきます:
$username= $_GET["username"];
$query= "INSERT INTO test (latitude) VALUES ('$username')";
mysql_query($query) or die (mysql_error("error"));
mysql_close();
これは動作しません:
if(!isset($_POST['submit']))
{
}
else
{
$username= $_GET["username"];
$query= "INSERT INTO test (latitude) VALUES ('$username')";
mysql_query($query) or die (mysql_error("error"));
mysql_close();
}
$username が「7」のように get 以外に設定されている場合に機能します。
目的 c から値を取得する GET。if ステートメントに入れないと、データベースに何百回も入力されます。「if」ステートメントに入れると、一度だけ入りますが、値はゼロになります。私は完全に困惑しています。どんな助けでも素晴らしいでしょう。
編集:私が得た答えのせいで、うまく説明できなかったと思います。明確にするために:POSTを使用してuser_id、answer_bodyを投稿しています。Core Location から緯度と経度をインポートする方法として GET を使用しています (ユーザー名と名付けましたが、緯度です)。それらをすべて同じエントリに入れてほしいので、GET を isset_POST に結び付けています。さらに、GET(ユーザー名)が単独でINSERTクエリを使用している場合、データベースに何百もの重複が作成されます。Objective-C スクリプトは次のとおりです。
//sends whatever username is set to, to database
float username = location.coordinate.latitude;
NSString *theValue = [NSString stringWithFormat:@"%f", username];
NSString *hostStr =[NSString stringWithFormat:@"http://mysite.com/page.php?username=%@", theValue];
NSData *dataURL = [NSData dataWithContentsOfURL: [ NSURL URLWithString: hostStr ]];
NSString *serverOutput = [[NSString alloc] initWithData:dataURL encoding: NSUTF8StringEncoding];
NSLog(@"Server output: %@", serverOutput);
フォーム コードは次のとおりです。
<form action="gpstestertwo.php" method="post"><center>
$<input type="text" name="answer_body" maxlentgh= "5" style="height:3em;"/>
<input type="submit" value="submit" name="submit" style="height:2em; width:5em; font-size:19px "
/>
</center>
</form>