2015-10-12 2 views
0

Im только новый и все еще изучающий PHP.Определение переменной Получить в PHP

Я пытаюсь сделать простой PHP для подключения и выполнения базового синтаксиса, вставить, удалить, выбрать и обновить, но я столкнулся с ошибкой Undefined Variable: Get in C:/wamp/www/sql. Я что-то пропустил?

Вот что я получил:

<?php 
$servername = "localhost"; 
$username = "root"; 
$password = ""; 
$port = "3306"; 
$dbname = "student"; 



$conn = mysqli_connect($servername, $username, $password, $dbname, $port); 

if (!$conn) { 
die("Connection failed: " . mysqli_connect_error()); 
} 

$sql = "SELECT * FROM info"; 
$result = mysqli_query($conn, $sql); 

if (mysqli_num_rows($result) > 0) { 
// output data of each row 
while($row = mysqli_fetch_assoc($result)) { 
     echo "ID: " . $row["studentid"]. " Name: " . $row["fname"]. " " .   $row["lname"]." <a href = delete.php? uid=".$row["studentid"]."> Delete</a> | 
    <a href = test.php?  euid=".$row['studentid']."&elname".$row['lname']."&efname".$row['fname']."> Edit  </a> <br/>" ; 
} 
} else { 
echo "0 results"; 
} 
?> 
<form action ="insert.php" method="POST"> 
<input type ="text" name="fname"> 
<input type ="text" name="lname"> 
<input type ="submit"value="Submit"> 
</form> 

<form action ="update.php" method="POST"> 
<input type ="hidden" name="ID"<?php echo"value=".$GET["studentid"];?>> //I get the error from here 
<input type ="text" name="fname"<?php echo"value=".$GET['fname'];?>> 
<input type ="text"name="lname"<?php echo"value=".$GET['lname'];?>>. // until here 
<input type ="submit"value="Update"> 
</form> 



<?php 
mysqli_close($conn); 
?> 

Edit: Вот другой им возникли проблемы with.I попасть ошибка Parse error: syntax error, unexpected '<' in Как это исправить ?. В этой части кода:

<?php 
if(isset($_GET['xID'])) 
{ 
<form action ="update.php" method="POST"> 
<input type ="hidden" name="ID"<?php echo"value=".$_GET['xID'];?>> 
<input type ="text" name="fname"<?php echo"value=".$_GET['xfname'];?>> 
<input type ="text"name="lname"<?php echo"value=".$_GET['xlname'];?>>. 
<input type ="submit"value="Update"> 
} 
else 
{ 
} 
</form> 
?> 
+2

Там нет переменной '$ GET' может быть, вы имели в виду' $ _GET'. – AbraCadaver

ответ

3

вы используете получить как неправильно, его не $GET, его $_GET, Chenge код, как это.

<form action ="update.php" method="GET"> 
    <input type ="hidden" name="ID"<?php echo"value=".$_GET["studentid"];?>> //I get the error from here 
    <input type ="text" name="fname"<?php echo"value=".$_GET['fname'];?>> 
    <input type ="text"name="lname"<?php echo"value=".$_GET['lname'];?>>. // until here 
    <input type ="submit"value="Update"> 
</form> 
+0

Если вам нужно, вы можете изменить 'GET' на' POST'. –

+1

Обратите внимание, что если форма еще не отправлена, она все равно выдает предупреждение. – x13

+1

@ThisNameBetterBeAvailable он должен проверить с помощью 'if (isset())'. –

0

В дополнении к синтаксической ошибке (это $_GET и не $GET), вы также используете POST как метод для передачи данных, не забудьте узнать разницу между GET и POST методами.

Вы также должны знать, что вы можете использовать $_REQUEST для извлечения данных, отправленных как с GET, так и с POST.

Следующая должно быть правильным:

<form action ="update.php" method="GET"> 
    <input type ="hidden" name="ID"<?php echo"value=".$_REQUEST["studentid"];?>> 
    <input type ="text" name="fname"<?php echo"value=".$_REQUEST['fname'];?>> 
    <input type ="text"name="lname"<?php echo"value=".$_REQUEST['lname'];?>>. 
    <input type ="submit"value="Update"> 
</form>