George X (Replay) Ответов: 1

Php - notice: неопределенные ошибки индекса


Здравствуйте, я пытаюсь получить некоторые переменные из формы в php-часть кода.
Я получаю эти ошибки:
Notice: Undefined index: number in C:\xampp\htdocs\sms\textmessage.php on line 10
Notice: Undefined index: message in C:\xampp\htdocs\sms\textmessage.php on line 11


Это мой код. кто-нибудь знает, почему я получаю эти ошибки? Я, кажется, не могу понять, почему это происходит, так как думаю, что делаю все правильно.

PS: все находится в одном файле.

HTML-код:
<pre><div class="container">
	<div class="row">
		<div class="col-md-6 col-md-offset-3 textForm">
			<h1>Message alert serivce</h1>
			 <?php echo $result; ?>
			<p class="lead">Fill all the required fields</p>

			<form method="POST">
                
				<div class="form-group">
                    <label for="number">Receiver's Number:</label><input type="number"  name="number" class="form-control" placeholder="Insert number here" /> 
				</div>				 
			
				<div class="form-group">
                    <label for="message">Your Message:</label>
                    <textarea class="form-control" name="message" placeholder="Enter your message here"></textarea>
				</div>
                
                <input type="submit" name="submit" class="btn btn-success btn-lg" value="Send"/>
                <input type="hidden" name="submitted" value="true">
				
			</form>			 
		</div>		 
	</div>	 
</div>

и это мой PHP код, где есть ошибки:
//Get form data

$number1 = $_POST['number']; //Line 10
$message = $_POST['message']; //Line 11
$message = urlencode($message); //Test that the message is encoded correctly. Php will use urlencode the message


Что я уже пробовал:

я не вижу ошибки, поэтому не знаю, что попробовать

[no name]

Подсказка: html - PHP неопределенный индекс - переполнение стека[^]. Google все еще работает.

1 Ответов

Рейтинг:
0

Peter Leow

Поскольку эти ошибки произошли в строках 10 и 11, они должны были быть помещены перед html-кодом, они не определены при первой загрузке, так как еще нет сообщения. Поэтому вы всегда должны проверять наличие любого поста с помощью

isset()
прежде чем получить к нему доступ, например
if(isset($_POST['number']) && isset($_POST['message'])){
  $number1 = $_POST['number']; //Line 10
  $message = $_POST['message']; //Line 11
  $message = urlencode($message); 
}