PHP-通过获取和发布无法从文本框中获取文本

时间:2019-07-16 19:25:30

标签: php get

我有3个文本框,使用$_GET$_POST选项无法获得它的值。我需要这样的东西: -我用文本填充文本框 -我点击按钮 -点击按钮时激活功能 -在此功能中,我从文本框中接收文本 -我将其保存到文件中(保存到文件中;))

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>One Hit Point</title>
<link href="Bez_nazwy1.css" rel="stylesheet">
<link href="test.css" rel="stylesheet">
</head>
<body>
<form action="<?php $_PHP_SELF ?>" method="GET">
<label for="" id="Label1" style="position:absolute;left:67px;top:16px;width:194px;height:31px;line-height:31px;z-index:0;">Imię</label>
<input type="text" id="x11" name="x1" style="position:absolute;left:158px;top:23px;width:196px;height:16px;z-index:1;" value="">
<label for="" id="Label2" style="position:absolute;left:67px;top:63px;width:289px;height:31px;line-height:31px;z-index:2;">Nazwisko</label>
<input type="text" id="x22" name="x2" style="position:absolute;left:158px;top:70px;width:196px;height:16px;z-index:3;" value="">

<label for="" id="Label3" style="position:absolute;left:67px;top:111px;width:194px;height:31px;line-height:31px;z-index:5;">Telefon</label>
<input type="text" id="x33" name="x3" style="position:absolute;left:158px;top:118px;width:196px;height:16px;z-index:6;" value="+48 ">
<input type="button" id="Button1" onclick="<?php costam() ?>;" name="" value="Zatwierdź" style="position:absolute;left:194px;top:164px;width:96px;height:25px;z-index:7;">
</form>
</body>

<body>
<?php
//window.location.href='./niespodzianka.html';return false;
function costam(){
    $imie= $_GET['x1'];
    $Nazwisko=$_GET['x2'];
    $Numer= $_GET['x3'];
    //łączenie
    $dane=$imie.", ".$Nazwisko.", ".$Numer;
    //dodawanie nowej linii
    $popr=$dane." k\n";
    //otwieranie, zapisanie, zamknięcie
    $plik=fopen("zap.txt", "a");
    fputs($plik, $popr);
    fclose($plik);
}
?>
</body>
</html>

编辑:

新代码(现在有2个文件): 文件1(dz.php):

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>One Hit Point</title>
<link href="Bez_nazwy1.css" rel="stylesheet">
<link href="test.css" rel="stylesheet">
</head>
<body>
<form action="pliki.php" method="GET">
<label for="" id="Label1" style="position:absolute;left:67px;top:16px;width:194px;height:31px;line-height:31px;z-index:0;">Imię</label>
<input type="text" id="x11" name="x1" style="position:absolute;left:158px;top:23px;width:196px;height:16px;z-index:1;" value="">
<label for="" id="Label2" style="position:absolute;left:67px;top:63px;width:289px;height:31px;line-height:31px;z-index:2;">Nazwisko</label>
<input type="text" id="x22" name="x2" style="position:absolute;left:158px;top:70px;width:196px;height:16px;z-index:3;" value="">
<label for="" id="Label3" style="position:absolute;left:67px;top:111px;width:194px;height:31px;line-height:31px;z-index:5;">Telefon</label>
<input type="text" id="x33" name="x3" style="position:absolute;left:158px;top:118px;width:196px;height:16px;z-index:6;" value="+48 ">
<input type="button" id="Button1" onclick="location.href='pliki.php'" name="" value="Zatwierdź" style="position:absolute;left:194px;top:164px;width:96px;height:25px;z-index:7;">
</form>
</body>
</html>

文件2(pliki.php):

<?php
//window.location.href='./niespodzianka.html';return false;

$imie= $_GET['x1'];
$Nazwisko=$_GET['x2'];
$Numer= $_GET['x3'];
//łączenie
$dane=$imie.", ".$Nazwisko.", ".$Numer;
//dodawanie nowej linii
$popr=$dane." k\n";
//otwieranie, zapisanie, zamknięcie
$plik=fopen("zap.txt", "a");
fputs($plik, $popr);
fclose($plik);
?>

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Bez nazwy</title>
<meta name="generator" content="WYSIWYG Web Builder 14 - http://www.wysiwygwebbuilder.com">
<link href="Bez_nazwy1.css" rel="stylesheet">
<link href="niespodzianka.css" rel="stylesheet">
</head>
<body>
<div id="wb_TextArt1" style="position:absolute;left:16px;top:13px;width:867px;height:470px;z-index:0;">
<img src="images/img0001.png" id="TextArt1" alt="Bede dzowni&#263; xd" title="Bede dzowni&#263; xd" style="width:867px;height:470px;"></div>
</body>
</html>

1 个答案:

答案 0 :(得分:0)

该代码无效。您无法使用PHP javascript来调用onclick函数。 为澄清起见,每次加载页面时,此代码都会执行costam()函数。

尝试通过以下方式更改Button1

<input type="submit" id="Button1" name="submit" value="Zatwierdź" style="position:absolute;left:194px;top:164px;width:96px;height:25px;z-index:7;">

然后在以下位置更改php代码:

<?php
if($_GET['submit']){
    $imie= $_GET['x1'];
    $Nazwisko=$_GET['x2'];
    $Numer= $_GET['x3'];
    //łączenie
    $dane=$imie.", ".$Nazwisko.", ".$Numer;
    //dodawanie nowej linii
    $popr=$dane." k\n";
    //otwieranie, zapisanie, zamknięcie
    $plik=fopen("zap.txt", "a");
    fputs($plik, $popr);
    fclose($plik);
}

这应该可以,但是不是一个好方法。页面也会刷新。


如果您熟悉jQuery

jQuery.ajax({
type: "POST",
url: 'your_functions_address.php',
dataType: 'json',
data: {functionname: 'add', arguments: [1, 2]},

success: function (obj, textstatus) {
              if( !('error' in obj) ) {
                  yourVariable = obj.result;
              }
              else {
                  console.log(obj.error);
              }
        }
});

这可能会帮助您:Call php function from JavaScript