Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php在自己的主机上本地和远程工作,但不能在客户机上远程工作';s托管_Php_Mysql - Fatal编程技术网

php在自己的主机上本地和远程工作,但不能在客户机上远程工作';s托管

php在自己的主机上本地和远程工作,但不能在客户机上远程工作';s托管,php,mysql,Php,Mysql,我不擅长PHP,所以请容忍我。我有以下代码: <?php $thisPage="designers"; include("phpincludes/header.php") ?> <div id="contentLeft"> <?echo "<h2><a href='designer_display.php?d_name=".$_GET['d_name']."'>" . $_GET['d_name']. "</a></h2&

我不擅长PHP,所以请容忍我。我有以下代码:

<?php $thisPage="designers";
include("phpincludes/header.php") ?>

<div id="contentLeft">
<?echo "<h2><a href='designer_display.php?d_name=".$_GET['d_name']."'>" . $_GET['d_name']. "</a></h2>";?>

<?
    error_reporting(0);
    require_once "phpincludes/connection.php";

    $designer = $_GET['d_name'];
    // Category Selection Start.
    $cat_qry = "SELECT DISTINCT (
        `own_category`
    )
    FROM  `products` 
    WHERE  `designer` ='".$designer."' && own_category !=  ''";
        $rs_qry = mysql_query($cat_qry);

            $i = 0;

        while($rec_qry = mysql_fetch_array($rs_qry))
        {
          if($i==0)
            $first_cat = $rec_qry['cat_name'];
            $cat_name[$i]=$rec_qry['cat_name'];
            $i++;
        }

        // Category Selection Start.
        $cat_name = $_GET['catName1'];
        $cat_qry =  "SELECT DISTINCT (
        `own_category`
        )
        FROM  `products` 
            WHERE  `designer` ='".$designer."' && own_category !=  ''";


            //"select * from categories";
            $rs_qry = mysql_query($cat_qry);
            $rec_no = mysql_affected_rows();

            /*if($_GET["catName1"]=="")
                $catName = $first_cat;
            else
                $catName = $cat_name;*/

            $n1 = 1;
            echo "<ul id=\"designers\">";
            while($rec_qry = mysql_fetch_array($rs_qry))
            {
                 $cate_name = str_replace('_',' ',$rec_qry['own_category']);

                 //print_r($cate_name[1]);
                 if($rec_qry["own_category"]!= $_GET['catName'])
                    echo "<li><A HREF='d_items.php?no=".$n1."&d_name=".$designer."&catName=".$rec_qry["own_category"]."'>".strtoupper($cate_name)."</A></li>";
                 else
                    echo "<li><A HREF='d_items.php?no=".$n1."&d_name=".$designer."&catName=".$rec_qry["own_category"]."'><font color='#8d9354'>".strtoupper($cate_name)."</font></a></li>";

                 if($rec_qry["own_category"]== $_GET['catName'])
                 {
                     $query="SELECT A.photo_filename, A.photo_title, B.dc_cat_name FROM displays A
                                LEFT JOIN displays_categories B ON B.dc_display_photos = A.photo_filename
                                WHERE dc_cat_name ='".$rec_qry["cat_name"]."'";
                      $query="SELECT B.pro_name, B.own_category, B.own_photo_filename from categories as A LEFT JOIN 
                             products as B ON A.cat_name = B.own_category
                             where cat_name ='".$_GET["catName"]."' and designer ='".$designer."' order by B.pro_name";
                    $rs1_qry = mysql_query($query);        

                    echo "<ul class=\"items\">";
                    while($row = mysql_fetch_array($rs1_qry))
                    {

                    if ($designer == "Jardan") {

                         $p1name = str_ireplace($designer,'',$row["pro_name"]);
                         $pname = substr($p1name, 0, -3);

                    } else {         

                         $pname = str_ireplace($designer,'',$row["pro_name"]);
                     }                          

                         if($_GET['ProName'] != $row["pro_name"])
                            echo "<li><A HREF='d_item_details.php?d_name=".$designer."&ProName=".$row['pro_name']."&catName1=".$rec_qry['own_category']."&catName=".$rec_qry['own_category']."'>".$pname."</A></li>";
                         else
                                 echo "<li><A HREF='d_item_details.php?d_name=".$designer."&ProName=".$row['pro_name']."&catName1=".$rec_qry['own_category']."&catName=".$rec_qry['own_category']."'><font color='#fff'>".$pname."</font></A></li>";                
                    }
                    echo "</ul>";
                 }
            }
            echo "</ul>";



        $f=1;
        $recnm = $_GET['ProName'];
        $owncat = $_GET['catName1'];
        $photo_title = $_GET['ptitle'];
        $query2="SELECT pro_code, pro_dimensions, own_photo_filename, designer_pdf, palette FROM products 
            WHERE pro_name ='".$recnm."' and own_category ='".$owncat."'";
        $rt2=mysql_query($query2); 
        echo mysql_error();

    ?>
        </div>
        <div id="contentRight">

        <?
            while($row2 = mysql_fetch_array($rt2))
            {
        ?>          

                    <?$d = explode(' ',$designer);
                     for($p=0;$p<count($d);$p++)
                     {
                        $des.=$d[$p];
                     }


                    if ($designer == "Playstar") {

                     $p2name = str_ireplace($designer,'',$recnm);
                     $poname = substr($p2name, 0, -3);

                    } else {         

                     $poname = str_ireplace($designer,'',$recnm);
                     }                          


                     ?>
                    <img class="lighting" src="img/designers/<?echo $des."/".$row2['own_photo_filename'];?>.jpg" />
        <div class="mailerBtn"><a href="mailto:info@clientsite.com.au?subject=<?echo $recnm;?>"><h4>ENQUIRE</h4></a>
        <a href="pdf/<?echo $des."/".$row2['designer_pdf'];?>.pdf" target="_blank"><h4>Download Product PDF</h4></a></div>

                    <h3><?echo $poname;?></h3>
                    <p>
                        <? 
                                 echo "<b>Product code:</b>&nbsp;&nbsp;". $row2['pro_code']."<BR>";
                        if ($designer == "Playstar") {

                                 echo $row2['pro_dimensions'];
                     } else {        

                                 echo "<b>Dimensions:</b>&nbsp;&nbsp;". $row2['pro_dimensions'];
                     }  ?>

                    </p>
                    <? if($row2[4]=='yes') {
                    ?>
                        <img class="palette" src="img/designers/<?echo $des."/".$row2['own_photo_filename'];?>-palette.jpg" />
                    <? } ?>

        <?}?>
<?php include("phpincludes/base.php") ?>


您应该避免使用“短标记”
您应该避免使用难以辨别的“短标记”
。很明显,这与客户端设置有关

粗略猜测,该客户端仍在运行PHP4。因为在73号线之后,你有一个电话无法接通

你可能会得到一个致命的错误。这是进行调查的正确途径。将此添加到顶部以进行调试(而不是
错误报告(0)
,这没有多大帮助):


并询问错误。更好的是,提供一个定制的错误处理程序,为最终用户类型的客户端打印出一些有光泽的东西。否则,要求输入
错误。日志
,它同样应该包含准确的错误。

这很难说。很明显,这与客户端设置有关

粗略猜测,该客户端仍在运行PHP4。因为在73号线之后,你有一个电话无法接通

你可能会得到一个致命的错误。这是进行调查的正确途径。将此添加到顶部以进行调试(而不是
错误报告(0)
,这没有多大帮助):


并询问错误。更好的是,提供一个定制的错误处理程序,为最终用户类型的客户端打印出一些有光泽的东西。否则,请询问
错误。日志
,该日志同样应包含准确的错误。

很高兴您能让它正常工作,但我不会在您客户的web主机上使用此代码

$f=1;
$recnm = $_GET['ProName'];
$owncat = $_GET['catName1'];
$photo_title = $_GET['ptitle'];
$query2="SELECT pro_code, pro_dimensions, own_photo_filename, designer_pdf, palette FROM products  WHERE pro_name ='".$recnm."' and own_category ='".$owncat."'";
这里的查询和所有其他查询都容易受到sql注入的攻击。(如果我传入catName1=';从产品中删除*,其中1=1或'2'='2)

您需要将查询转换为参数化查询,或者使用mysql\u real\u escape\u字符串


很高兴您能使用它,但我不会在您的客户机web主机的生产中使用此代码

$f=1;
$recnm = $_GET['ProName'];
$owncat = $_GET['catName1'];
$photo_title = $_GET['ptitle'];
$query2="SELECT pro_code, pro_dimensions, own_photo_filename, designer_pdf, palette FROM products  WHERE pro_name ='".$recnm."' and own_category ='".$owncat."'";
这里的查询和所有其他查询都容易受到sql注入的攻击。(如果我传入catName1=';从产品中删除*,其中1=1或'2'='2)

您需要将查询转换为参数化查询,或者使用mysql\u real\u escape\u字符串


他们不可能在主机上,是吗?开玩笑的是,许多便宜的主机可能会有奇怪的配置或旧的php版本,这可能会造成干扰。您可以通过添加die(php_info())来比较您的php设置;在本页顶部,查看数据库中的数据与本地主机中的数据有何区别?我的意思完全一样。当你“查看页面源代码”时,它显示的最后一行是什么?谢谢大家-@royrui,是的,数据库是完全一样的@凯青,你说得对-我应该先试试!部分正确。函数中没有下划线。phpinfo()是正确的他们不可能在主机上是吗?开玩笑的是,许多便宜的主机可能会有奇怪的配置或旧的php版本,这可能会造成干扰。您可以通过添加die(php_info())来比较您的php设置;在本页顶部,查看数据库中的数据与本地主机中的数据有何区别?我的意思完全一样。当你“查看页面源代码”时,它显示的最后一行是什么?谢谢大家-@royrui,是的,数据库是完全一样的@凯青,你说得对-我应该先试试!部分正确。函数中没有下划线。没错,马里奥,我可以吻你。非常感谢。我刚刚用str_replace替换了str_ireplace,一切都很好。将在要求的时间后接受回答。在这种情况下,您可能会从设置中受益或复制一些基准PHP5函数。这比重写东西或使用通用性较差的函数要好。马里奥,我可以吻你。非常感谢。我刚刚用str_replace替换了str_ireplace,一切都很好。将在要求的时间后接受回答。在这种情况下,您可能会从设置中受益或复制一些基准PHP5函数。这比重写东西或使用通用性较差的函数要好。酷,谢谢你指出这一点。我正在按照建议修改代码!同样,您也有一些XSS漏洞,您可能希望将其封存。请参见这一行中的一个示例:)。此外,还有很多关于它的帖子,所以你可能想读一下。我想编辑“吃”了我上面的一些标记,但我想你明白了:)酷,谢谢你指出这一点。我正在按照建议修改代码!同样,您也有一些XSS漏洞,您可能希望将其封存。请参见这一行中的一个示例:)。此外,还有很多关于它的帖子,所以你可能想读一下。我想编辑“吃”了我上面的一些标记,但我想你明白了:)
 $owncat = mysql_real_escape_string($_GET['ProName']);