【问题标题】:Php - Notice: Undefined offset 10? [duplicate]Php - 注意:未定义的偏移量 10? [复制]
【发布时间】:2015-12-01 06:07:57
【问题描述】:
<?php

require "connection.php";

$cek = mysql_query("SELECT * FROM `kelimeler` ORDER BY `numara` DESC LIMIT 10");

$i = 0;
$tr_dizi = array();
$alm_dizi = array();

while ($satir = mysql_fetch_array($cek)) {
    $tr_dizi[$i] = $satir["turkce"];
    $alm_dizi[$i] = $satir["almanca"];
    $i++;
}

$deger = rand(1,10);

setcookie("soru", $tr_dizi[$deger]);
setcookie("cevap", $alm_dizi[$deger]);

?>

<?php

if (isset($_POST["kelime"])) {
    if ($_POST["kelime"] == $_COOKIE['cevap']) {
        echo '<div class="bildirim">Richtig &#10004</div>';
    } else {
        echo '<div class="bildirim">'.$_COOKIE['soru'].' = '.$_COOKIE['cevap'].'</div>';
    }
}

?>

这是一个问答游戏,例如 a = b 什么是 a ?如果用户发送 b 它说“是的!”否则正确答案是 'b' php say

注意:未定义的偏移量:第 19 - 20 - 55 行上的 10

Line 19 -> setcookie("soru", $tr_dizi[$deger]);  
Line 20 -> setcookie("cevap", $alm_dizi[$deger]); 
Line 55 -> <divclass="kelime"><?php echo $tr_dizi[$deger] ?></div>

当用户发送答案程序时检查它并提出新问题和 是或否显示在新页面上,我为此使用了 cookie

我该如何解决这个错误我可以进行错误处理但我是一个新的开发人员我想学习谢谢大家:)

【问题讨论】:

标签: php mysql arrays undefined offset


【解决方案1】:

它没有将10 设置为$i0 开始。您正在从数据库中获取10 行。

所以keys 将是0-9rand 应该在0-9 之间生成数字。试试 -

$deger = rand(0, 9);

并尽量避免使用mysql。现在已弃用。

【讨论】:

  • 天哪!非常感谢你.. 我是多么想念它 :) 它现在可以工作了 :)
【解决方案2】:

php 中的数组索引是从零开始的,也就是说,一个有 10 个元素的数组将它们索引为 [0] 到 [9]。将$degar 的初始化更改为

$degar = rand(0, 9);

你应该摆脱这个错误。

【讨论】:

  • 非常感谢你的朋友。它现在可以工作了:)
猜你喜欢
  • 2023-03-27
  • 1970-01-01
  • 2023-03-13
  • 1970-01-01
  • 2020-01-22
  • 1970-01-01
  • 1970-01-01
  • 2019-01-14
  • 2016-10-01
相关资源
最近更新 更多