簡體   English   中英

處理表單時,PHP空白頁

[英]PHP Blank page when i process the form

我大約需要1到2個小時的時間來尋找先前提出的問題的答案,修改代碼中的某些內容,我會盡一切努力在代碼中引發某種錯誤,但是盡我所能並且仍在指導我到空白頁

這段代碼是汽車零件的搜索引擎,我在其中輸入了數值或說明%$ buscar%,並顯示了所有搜索結果或特定於搜索結果的表

這是與DB和Query聯系在一起的PHP:

<?php
error_reporting(E_ALL); // Report on all errors
ini_set('display_errors', '1');
if ($_POST['buscar'])
{
// Take te value
$buscar = $_POST['buscar'];
// Si está vacío, lo informamos, sino realizamos la búsqueda
if(empty($buscar))
{
echo "No se ha ingresado una cadena a buscar";
}else{
//Conection to DB
$servidor = "localhost"; //Nombre del servidor
$usuario = "myuser"; //Nombre de usuario en tu servidor
$password = "mypass"; //Contraseña del usuario
$base = "dbname"; //Nombre de la BD
//conection
$link = mysqli_connect("$servidor","$usuario","$password","$base") or die("Error " . mysqli_error($link));
//Query:
$query = "SELECT * FROM repuestos WHERE id LIKE '%$buscar%' AND descripcion LIKE '%$buscar%' ORDER BY id" or die("Error in the consult.." . mysqli_error($link)); 
//execute the query.
$result = mysqli_query($link, $query);
//display information: 
while ($field = mysqli_fetch_field($result)){ 
        echo "<td>$field->name</td> \n"; 
} 
while($row = mysqli_fetch_array($result)) {
echo "<table border = '1'> \n"; 
//Show Table names
echo "<tr> \n"; 

echo "</tr> \n"; 
    do { 
        echo "<tr> \n"; 

        echo "<td>".$row["id"]."</td> \n"; 

        echo "<td>".$row["descripcion"]."</td> \n"; 

        echo "<td>".$row["cantidad"]."</td> \n"; 

        echo "</tr> \n"; 

  } while ($row = mysqli_fetch_array($result));

        echo "</table> \n"; 
echo "¡ No se ha encontrado ningún registro !"; 
} 
}
}
?> 

更新1:

我將Fetch_field放在第一個fecth_array之前,現在頁面為我提供了行名(id,descripcion,candidad),但沒有表也沒有記錄。

如果我在表格IF那里有問題的話...

<form method="post" action="buscarep1.php">
                        <label>Numero  o Descripción del Repuesto<br />
                        </label>
                        <input name="buscar" placeholder="Escriba Aquí" id="buscar">
    <input id="submit" name="buscar" type="submit" value="buscar">

     <input type="hidden" value="buscar" size="40">
                    </form> 

我正在使用..: xampp,php與phpmyadmin

感謝任何能夠弄清楚這里發生了什么的人!

嘗試這樣的事情:

if ($_SERVER['REQUEST_METHOD']=='POST'){
    $buscar = $_REQUEST['buscar'];
    if(empty($buscar)) {
        echo "No se ha ingresado una cadena a buscar";
    }else{
        $servidor = "localhost";
        $usuario = "myuser";
        $password = "mypass";
        $base = "dbname";
        $link = mysqli_connect("$servidor","$usuario","$password","$base") or die("Error " . mysqli_error($link));
        $query = "SELECT id,descripcion,cantidad FROM repuestos WHERE id LIKE '%$buscar%' AND descripcion LIKE '%$buscar%' ORDER BY id" or die("Error " . mysqli_error($link)); 
        if ($result=mysqli_query($link, $query)) {
            echo "<table border = '1'>
                    <tr>
                        <td>ID</td>
                        <td>Descripcion</td>
                        <td>Cantidad</td>
                    </tr>"; 
            if ($result->num_rows>0){
                while ($row=mysqli_fetch_array($result)){
                    echo "<tr>
                            <td>".$row["id"]."</td>
                            <td>".$row["descripcion"]."</td>
                            <td>".$row["cantidad"]."</td>
                          </tr>"; 
                }
            } else {
                echo "<tr>
                        <td colspan='3'>No se ha encontrado ningún registro</td>
                      </tr>";
            }
            echo "</table>";
        }
    }
}

在mho中看起來更清潔。 您還在字段“ id”上進行字符串搜索,這通常是類型為int的字段,但是在設計上可能有所不同。

希望能幫助到你。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM