PHP- Eingabe Prüfen

gmspace

Grünschnabel
Hallo,

Ich schreibe grade an einer kleinen <form> herum und implemetiere diese in PHP.
Nun möchte ich abfragen, ob die beiden inputs ausgefüllt worden sind.
Hier ein Snippet aus meinem Code :

PHP:
<?php

$data_ins = mysql_fetch_array(mysql_query("SELECT * from instanz where ins_id = '".$usr['ins_id']."' LIMIT 1"));
$ts3 = new ts3admin($data_ins['ip'], $data_ins['query']);
  if ($ts3->getElement('success',$ts3->connect())){
   $ts3->login($data_ins['user'], $data_ins['pw']);
	$ts3->selectserver($mst['port']);
	$data = $ts3->serverinfo();
   

?>
<h1>MSG-Bot</h1>
<h2>Um Nachrichten an den Server zu senden...</h2>

<form action="" method="POST">
        <table style="width:100%;">

<tr><td>Nachricht zum senden:<br></td></tr>
<tr><td><textarea name="message" cols="40" rows="5"></textarea></td></tr>
<tr><td>Nickname (z.B Webinterface): <input type="text" name="nick" size="14"></td></tr>
<tr><td><input type="submit" name="senden" value="Jetzt Senden!"></td></tr>



        </table>
</form>

<?php
If($_POST['senden']){





$msg = $_POST['message'];
$newName = $_POST['nick'];
$ssid = $data['data']['virtualserver_id'];
$mode = '3';
$target = $ssid;
$ts3->setName($newName);
$ts3->sendMessage($mode, $target, $msg);
echo '<tr><td><b>Die Nachricht wurde <font color="green">erfolgreich</font> Gesendet.!<b></td></tr><meta http-equiv="refresh" content="2">';
}
?>








<?php
}


Senden tut er die Nachricht an den TS3 Server in diesem Falle.
Ich möchte nur, dass er erst Prüft, ob Nickname(nick) und die Nachricht(msg) ausgefüllt worden sind.

Vielen Dank
 
Zuletzt bearbeitet:
Am saubersten gleich eine Prüfung mit filter_input(). Damit prüfst du auch gleich den Datentyp etc.

PHP:
if($nick=filter_input(INPUT_POST, 'nick', FILTER_SANITIZE_STRING)){
    //Nick ist ein String
    echo $nick;
}else{
    echo 'Kein Nick abgefüllt';
}
 
Eine einfache AND-Verknüpfung
PHP:
if($nick=filter_input(INPUT_POST, 'nick', FILTER_SANITIZE_STRING) && $msg=filter_input(INPUT_POST, 'msg', FILTER_SANITIZE_STRING)){
   var_dump($nick, $msg);
}
 
MNit isset prüfst du nur ob $_POST['nick'] da ist. Das ist aber auch war wenn der Nick nicht abgefüllt ist
PHP:
if(isset($_POST['nick']) && $_POST['nick'] != ''){
    $nick = $_POST['nick'];
}
Nunja, das ist erst der nick. die msg kommt dann auch noch dazu.
 
Zurück