0 レビュー
4 回答
php-$_SESSIONユーザー名をデータベースに挿入する方法
news_itemsを作成してmysqlデータベースに追加できるスクリプトがありますが、autor名を挿入したいのですが...アイテムを作成する前にログインする必要があり、名前はセッションに保存されます。 。しかし、どうすればそれを使用できますか??
ここに少しのコードがあります: $ rnはテストでした...しかし、機能しません:(
<?php
error_reporting(1);
include_once 'dbcon.php';
if(isset($_POST['save_mul']))
{
$total = $_POST['total'];
for($i=1; $i<=$total; $i++)
{
$fn = $_POST["fname$i"];
$ln = $_POST["lname$i"];
$rn = $_POST [$_SESSION]'user'];
$sql = mysql_query("INSERT INTO nieuws_bericht (title,berichten,aangemaakt) VALUES('".$fn."','".$ln."','".$rn."' ");
$sql = $MySQLiconn->query($sql);
}
if($sql)
{
?>
<script>
alert('<?php echo $total." bericht(en) zijn aangemaakt !!!"; ?>');
window.location.href='index.php';
</script>
<?php
}
else
{
?>
<script>
alert('error while inserting , TRY AGAIN');
window.location.href='index.php';
</script>
<?php
}
}
?>
わからない
0
レビュー
答え :
解決策:
まず、セッションにアクセスするには、コードが出力される前に(ドキュメントの上部に) session_start()
をアナウンスする必要があります。 、 理想的には)。 PHPファイルの最初の数行を次のように変更します。
<?php
{-コード-1};
error_reporting(1);
include_once'dbcon.php';
次に、この行は間違っています:
$rn = $_POST [$_SESSION]'user'];
ここで何をしようとしていますか?
セッションのuser
変数にアクセスするには、次のように $ _ SESSION ["user"]
を使用します。
$ rn = $ _SESSION ['user'];
3番目に、この行をもう一度見てください:
$sql = mysql_query("INSERT INTO nieuws_bericht
(title,berichten,aangemaakt)
VALUES('".$fn."','".$ln."','".$rn."' ");
文字列に角かっこがありません。次のように変更します:
$sql = mysql_query("INSERT INTO nieuws_bericht
(title,berichten,aangemaakt)
VALUES('".$fn."','".$ln."','".$rn."')");
わからない
0
レビュー
答え :
解決策:
セッションを使用するには、最初に次のように開始する必要があります:
<?php
session_start();
次に、$ rnは次のようになります:
$rn = $_SESSION['user'];
そして最初の$sqlは次のようになります:
$sql = "INSERT INTO nieuws_bericht (title,berichten,aangemaakt) VALUES('$fn','$ln','$rn')";
常にクエリを準備します
オプション1($ MySQLiconn)
<?php
session_start();
error_reporting(1);
include_once'dbcon.php';
if(isset($ _ POST ['save_mul']))
{{
$ total = $ _POST ['total'];
for($ i = 1; $ i <= $ total; $ i ++)
{{
$ fn = $ _POST ["fname $ i"];
$ ln = $ _POST ["lname $ i"];
$ rn = $ _SESSION] ['user'];
{-コード-3}
$ sql = $ MySQLiconn-> query($ sql)またはdie($ MySQLiconn-> error);
}
if($ sql)
{{
?>
<スクリプト>
alert( "<?= $ total?> bericht(en)zijn aangemaakt !!!");
window.location.href ='index.php';
<?php
}
そうしないと
{{
?>
<スクリプト>
alert('挿入中にエラーが発生しました、もう一度やり直してください');
window.location.href ='index.php';
<?php
}
}
?>
オプション2(mysql_)
<?php
session_start();
error_reporting(1);
include_once'dbcon.php';
if(isset($ _ POST ['save_mul']))
{{
$ total = $ _POST ['total'];
for($ i = 1; $ i <= $ total; $ i ++)
{{
$ fn = mysql_real_escape_string(stripslashes($ _ POST ["fname $ i"]));
$ ln = mysql_real_escape_string(stripslashes($ _ POST ["lname $ i"]));
$ rn = mysql_real_escape_string(stripslashes($ _ SESSION] ['user']));
{-コード-3}
$ sql = mysql_query($ sql)またはdie(mysql_error());
}
if($ sql)
{{
?>
<スクリプト>
alert( "<?= $ total;?> bericht(en)zijn aangemaakt !!!");
window.location.href ='index.php';
<?php
}
そうしないと
{{
?>
<スクリプト>
alert('挿入中にエラーが発生しました、もう一度やり直してください');
window.location.href ='index.php';
<?php
}
}
?>
わからない
0
レビュー
答え :
解決策:
セッション変数を使用するには、単に
を使用します。 $rn = $_SESSION['user'];
forループの前にこの変数を設定できます。 forループで使用する必要はありません
わからない
0
レビュー
答え :
解決策:
1)この行にエラーがあります。行末の')'
は閉じていません。
$sql = mysql_query("INSERT INTO nieuws_bericht (title,berichten,aangemaakt) VALUES('".$fn."','".$ln."','".$rn."' ");
2)これを変更する
$rn = $_POST [$_SESSION]'user'];
から
$rn = $_SESSION['user'];
3) $sql=mysql_query("");
を使用する必要はありません。次の行では、それを実行しています。
$sql = "INSERT INTO nieuws_bericht (title,berichten,aangemaakt) VALUES('$fn','$ln','$rn')";
$sql = $MySQLiconn->query($sql);
更新されたコード
。
。
for($ i = 1; $ i <= $ total; $ i ++)
{{
$ fn = $ _POST ["fname $ i"];
$ ln = $ _POST ["lname $ i"];
{-コード-4}
$ sql = "INSERT INTO nieuws_bericht(title、berichten、aangemaakt)VALUES('$ fn'、'$ ln'、'$ rn')";
$ sql = $ MySQLiconn-> query($ sql);
}
。
。
わからない
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。