0

こんにちは、MySql に小さな問題があります。基本的に、varchar 255 である addressone という名前のテーブルから変数を取得しています。私が達成しようとしているのは、単語間のスペースを + に置き換えることですが、何らかの理由でそれを行っていません! 私は2つのページを持っています.1つはpath.phpと呼ばれ、もう1つは私のパスに感謝しています...

$notokinarray = array(' ');
$okinarray = array('+');

$addressone = $row["addressone"];
$addressone = str_replace($notokinarray, $okinarray, $addressone);

次に、そのページのhtmlにこれがあります

<select name="somesite" id="somesite">
<option value="">Please Choose</option>
<option value="yes">Yes</option>
<option value="no">No</option></select>
http://www.somesite.com/post.php?&field4=<?php echo '$addressone';?>

Thanks.php に移動する送信ボタンを使用する

Thanks.php ページにこれがあります...

$somesite = $_POST['somesite']; 

$sql = mysql_query("SELECT * FROM myMembers WHERE id='$id' LIMIT 1");
while($row = mysql_fetch_array($sql)){
    $addressone = $row["addressone"];
} 
if ($somesite == "yes") {
    $somesite = '<iframe src="http://www.somesite.com/post.php?&field4=<?php echo '$addressone';?> width="1" height="1"></iframe>';
    } else {
    $somesite = '';
    }

echo 
' . $somesite . '
http://www.somesite.com/post.php?&field4=<?php echo '$addressone';?>
exit();
?>

私が懸念している限り、すべてのスペースを + 記号に置き換える必要がありますが、何らかの理由でそうではありません。誰か助けてもらえますか?

よろしく、フィリップ

アップデート

私は今別のタクトに行き、ユーザーが登録するときに + を配置しようとしていますが、それでもうまくいきません! これをチェックしてください.....

$sql = mysql_query("UPDATE myMembers SET field = REPLACE(field, ' ', '+'");
     $sql = mysql_query("INSERT INTO myMembers (title, firstname, lastname,username, gender, birthday, email, password, housenumber, addressone, addresstwo, county, city, country, postcode, phone, ipaddress, sign_up_date) 
     VALUES('$title','$firstname','$lastname','$username','$gender','$full_birthday','$email1','$db_password', '$housenumber','$addressone','$addresstwo', '$county', '$city', '$country','$postcode','$phone','$ipaddress', now())")  
     or die (mysql_error());
4

1 に答える 1

3

変数は、一重引用符で区切られた文字列に補間されません。また、すでに文字列になっている場合、文字列に入れるのは冗長です。周りからの引用をecho $addressone完全に削除してください。

それはさておき、urlencode()文字列を正しくエンコードします。

于 2012-09-30T21:50:01.007 に答える