未定义的变量:X行中的yourName?

时间:2019-05-15 17:44:47

标签: php html css post

所以我总是会收到此错误,我不知道是什么原因,我一直都在尝试

Array([inputName] => [inputEmail] => [inputNumber] => 43235432532 [inputTitle] => [inputText] => sadasdas [submit] => Postavi besplatan Oglas) 注意:未定义变量:第56行的C:\ xampp \ htdocs \ oglasi \ add_script.php中的yourName

注意:未定义的变量:第56行的C:\ xampp \ htdocs \ oglasi \ add_script.php中的yourEmail

注意:未定义的变量:第56行的C:\ xampp \ htdocs \ oglasi \ add_script.php中的yourTitle

警告:mysqli_error()期望恰好1个参数,第59行的C:\ xampp \ htdocs \ oglasi \ add_script.php中给出的参数为0 nije mogucce postaviti dadoteke u db:

add.html

                <form  method="post" action="add_script.php">

                    <h2 ></h2> <!-- ueberschrift -->

                    Ime (vaše Ime neće pisati u Oglasu):
                    <input type="text" name="inputName"  placeholder="Ime"><!--class="form-control"-->
                    <br>

                    E-Mail (neće biti objavljena, za eventualna Pitanja):
                    <input type="text" name="inputEmail"  placeholder="E-Mail"><!--class="form-control"-->
                    <br>

                    *Broj Telefona (Na primer 0631110000, kako bih vas zainteresovani ljudi kontaktirali):
                    <input type="number" name="inputNumber"  placeholder="Broj telefona" size="20"required><!--class="form-control"-->
                    <br>

                    Naslov Oglasa (Maksimalno 50 reči):
                    <input type="text" name="inputTitle"  placeholder="Naslov Oglasa" width="48" height="48"><!--class="form-control"-->


                    *Tekst Oglasa (Maksimalno 200 reči, opišite šta kupujete, prodajete, menjate, tražite, ...):
                    <input type="text" name="inputText"  placeholder="Tekst Oglasa" width="48" height="48"required> <!--class="form-control"-->


                            <div class="checkbox">
                                <label>
                                    <input type="checkbox" value="remember-me" required>*Pročitao sam <a href="legal.html">prava koriščenja</a>, razumeo sam sve i prihvatam sve.
                                </label>
                                <!-- kontakt button -->
                                <div class="pull-right">
                                    <a href="kontakt.html"></a>
                                </div>
                            </div>
                        *Markirana polja se moraju ispuniti
                    <br>

                    <input type="submit" name="submit" value="Postavi besplatan Oglas">
                </form>

add_script.php

<?php
// Datenbank-Verbindung herstellen
require_once ('conf.php');

 $sql = "SELECT * FROM oglasi";
// MySQL-Befehl der Variablen $sql zuweisen     ..... OGLASI bzw. ADRESSEN 
//$sql = "
//    CREATE TABLE `oglasi` ( 
//    `id` INT( 10 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
//   `name` VARCHAR( 150 ) NOT NULL ,
//    `email` VARCHAR( 150 ) NOT NULL ,
//    `number` INT( 20 ) NOT NULL ,
//    `text` VARCHAR( 1500 ) NOT NULL ,
//    ) ENGINE = MYISAM ;
//    ";

// MySQL-Anweisung ausführen lassen
$db_erg = mysqli_query($db_link, $sql) 
  or die("nije moguce postaviti vezu sa scriptadd: " . mysqli_error());



    if (isset($_POST['yourName'])){
        $inputName = $_POST['inputName'];
    }

    if (isset($_POST['yourEmail'])){
        $inputEmail = $_POST['inputEmail'];
    }

    if (isset($_POST['yourName'])){
        $inputTitle = $_POST['inputTitle'];
    }

    $inputNumber = $_POST['inputNumber'];
    $inputText = $_POST['inputText'];

    print_r($_POST); // zeigt alles an was in der FORM drinnen ist von add.html !!!

if ( !empty($inputNumber) ){

} else {
        echo "Morate napisati svoj broj telefona";
        die();
}

if ( !empty($inputText) ){

} else {
        echo "Morate napisati tekst svog oglasa";
        die();
}

  $sql = "
  INSERT INTO oglasi(name , email , number, title , text) 
  VALUES(inputName, inputEmail, inputNumber, inputTitle, inputText) 
";
$db_erg = mysqli_query($db_link, $sql) 
   or die("nije mogucce postaviti dadoteke u db:  " . mysqli_error($mysqli));

   mysqli_close($db_link);
?>

<!--  

INSERT INTO oglasi(date , name , email , number, title , text) 
VALUES(curdate(), $yourName, $yourEmail, $yourNumber, $yourTitle, $yourText)

  -->

conf.php

<?php
// die Konstanten auslagern in eigene Datei
// die dann per require_once ('konfiguration.php'); 
// geladen wird.

// Damit alle Fehler angezeigt werden
error_reporting(E_ALL);

// Zum Aufbau der Verbindung zur Datenbank
// die Daten erhalten Sie von Ihrem Provider
define ( 'MYSQL_HOST', 'localhost' );

// bei XAMPP ist der MYSQL_Benutzer: root
define ( 'MYSQL_BENUTZER',  'root' );
define ( 'MYSQL_KENNWORT',  '' );

define ( 'MYSQL_DATENBANK', 'oglasi' );         // für unser Bsp. nennen wir die DB oglasi

$db_link = mysqli_connect (MYSQL_HOST, 
                           MYSQL_BENUTZER, 
                           MYSQL_KENNWORT, 
                           MYSQL_DATENBANK);
if ( $db_link )
{
    //echo 'Veza uspesno postavljena sa Serverom: ';
    //print_r( $db_link);

}
else
{
    // hier sollte dann später dem Programmierer eine
    // E-Mail mit dem Problem zukommen gelassen werden
    die('nije mogucce postaviti vezu sa Serverom: ' . mysqli_error());
}

//damit sprska slova nicht vorkommen 
mysqli_set_charset($db_link, 'utf8');
?>

我希望它可以将文本插入到我的数据库中,但是它说的是:

Array([inputName] => [inputEmail] => [inputNumber] => 43235432532 [inputTitle] => [inputText] => sadasdas [submit] => Postavi besplatan Oglas) 注意:未定义变量:第56行的C:\ xampp \ htdocs \ oglasi \ add_script.php中的yourName

注意:未定义的变量:第56行的C:\ xampp \ htdocs \ oglasi \ add_script.php中的yourEmail

注意:未定义的变量:第56行的C:\ xampp \ htdocs \ oglasi \ add_script.php中的yourTitle

警告:mysqli_error()期望恰好1个参数,第59行的C:\ xampp \ htdocs \ oglasi \ add_script.php中给出的参数为0 nije mogucce postaviti dadoteke u db:

1 个答案:

答案 0 :(得分:0)

这部分代码正在寻找不存在的元素:

if (isset($_POST['yourName'])){
    $yourName = $_POST['inputName'];
}

if (isset($_POST['yourEmail'])){
    $yourEmail = $_POST['inputEmail'];
}

if (isset($_POST['yourName'])){
    $yourTitle = $_POST['inputTitle'];
}

您可能希望将$_POST['yourName']更改为$_POST['inputName'],并对后续的其他更改进行类似的更改。