Primero que nada quiero aclarar que las respuestas que te dieron son totalmente erróneas; la anotación que te da no es por usar comillas dobles en vez de simples, ni por usar and en vez de && (notese que también es válido).
Lo que realmente sucede es que PHP, por seguridad y por debug te advierte que estas intentando acceder a una variable que no existe, es decir, que aún no ha sido creada; suele suceder mucho en scripts con versiones de PHP recientes. Sin embargo, es solo una "nota", no es un error ni hace que el script funcione incorrectamente.
En tu caso, estas intentado usar dos keys del array COOKIE, pero al no estar definidas anteriormente, te advierte que probablemente sea un fallo.
Para solucionar ésto tenemos dos opciones:
La correcta (usando la función isset()):
<?php
if(isset($_COOKIE["usuario"]) and isset($_COOKIE['contrasena'])){
echo "Hola";
}else{
?>
<form method="POST" action="entrador.php">
<p>Usuario:<br>
<input type="text" name="usuario" size="20"><br>
Contraseña:<br>
<input type="password" name="contrasena" size="20"><br>
<input type="submit" value="OK" name="OK"></p>
</form><br>
<a href="registrador.php">¡Registrate!</a>
<?php
}
?>
La informal pero válida (usando operadores terniarios):
<?php
$_COOKIE['usuario'] = (isset($_COOKIE['usuario'])) ? $_COOKIE['usuario'] : '';
$_COOKIE['contrasena'] = (isset($_COOKIE['contrasena'])) ? $_COOKIE['contrasena'] : '';
if($_COOKIE["usuario"] and $_COOKIE['contrasena']){
echo "Hola";
}else{
?>
<form method="POST" action="entrador.php">
<p>Usuario:<br>
<input type="text" name="usuario" size="20"><br>
Contraseña:<br>
<input type="password" name="contrasena" size="20"><br>
<input type="submit" value="OK" name="OK"></p>
</form><br>
<a href="registrador.php">¡Registrate!</a>
<?php
}
?>
¿Qué hacemos en ésta última?, declaramos que si los valores del array existen, los deje igual, sino cree la variable con cualquier texto (puede usarse null).
Saludos,
Xt3mP.