Jesús Arias Fisteus
Curso 2007/2008
<!-- directamente con el elemento script
(en la cabecera o en el cuerpo del documento) -->
<script type="text/javascript">
var d = new Date();
document.write(d.toLocaleString());
</script>
<!-- desde un recurso externo -->
<script src="scripts/util.js" type="text/javascript" />
<!-- desde un manejador de eventos de (X)HTML -->
<input type="button" value="Change" onclick="changeName()" />
<p onmouseover="showHelp('p1')">...</p>
var n = document.documentElement; // objeto Node
var children = n.childNodes; // objeto NodeList
var head = children[0];
var body = children[1];
// contar el número de tablas
var tables = document.getElementsByTagName("table");
alert("El documento contiene " + tables.length + " tablas.");
// acceso a un párrafo <p id="specialParagraph">...</p>
var paragraph = document.getElementById("specialParagraph");
// modificar un atributo de un elemento
var headline = document.getElementById("headline");
// alternativa genérica:
headline.setAttribute("align", "center");
// alternativa para atributos estándar del elemento
headline.align = "center";
// añadir un elemento
var p = document.getElementById("headline");
var i = document.createElement("i");
i.class = "resaltado";
i.appendChild(document.createTextNode("Texto en cursiva"));
p.appendChild(i);
// creación de un objeto XMLHttpRequest (no portable)
var request = new XMLHttpRequest();
// especificación de método, URL y petición síncrona
request.open("GET", url, false);
// envío (sin cuerpo de la petición por ser GET)
request.send(null);
// obtención de la respuesta síncrona
if (request.status == 200) {
var response = request.responseText;
// como alternativa, si es una respuesta XML
var responseXML = request.responseXML;
} else {
// manejar el error
...
}
// creación de un objeto XMLHttpRequest (no portable)
var request = new XMLHttpRequest();
// establecimiento de una función de callback
request.onreadystatechange = function()
{
if(request.readyState == 4) {
if(request.status == 200) {
alert("Received: " + req.responseText);
} else { {
alert("Error: returned status code " + request.status
+ " " + request.statusText);
}
}
};
// especificación de método, URL y petición asíncrona
request.open("GET", url, true);
// envío (sin cuerpo de la petición por ser GET)
request.send(null);
var request = null;
try {
request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (b) {
try {
request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (c) {
request = null;
}
}
if(!request && typeof XMLHttpRequest!="undefined") {
request = new XMLHttpRequest;
}
<html> <head> <title>PHP Test</title> </head> <body> <?php echo '<p>Hello World</p>'; ?> </body> </html>
<html> <head> <title>PHP Test</title> </head> <body> <p>Hello World</p> </body> </html>
\n, etc.
$txt="Juan"; /* La siguiente línea vuelca "Yo me llamo Juan :)" */ echo "Yo me llamo $txt :)"; /* Pero esta línea vuelca "Yo me llamo $txt :)" echo 'Yo me llamo $txt :)';
<html>
<body>
<?php
/* asigna valores a dos variables */
$txt1="Hello World";
$txt2="1234";
/* escribe la concatenación de las variables */
echo $txt1 . " " . $txt2 ;
/* equivalente a: */
echo "$txt1 $txt2";
?>
</body>
</html>
<html>
<body>
<?php
$d=date("D");
if ($d=="Fri") {
echo "Hello!<br />";
echo "Have a nice weekend!";
echo "See you on Monday!";
} else
echo "Have a nice day!";
?>
</body>
</html>
<?php
/* una forma de inicializar el array */
$names = array('Peter','Quagmire','Joe');
/* otra forma equivalente de hacerlo */
$names[0] = 'Peter';
$names[1] = 'Quagmire';
$names[2] = 'Joe';
/* acceso a posiciones del array */
echo $names[1] . " and " . $names[2] . " are
". $names[0] . "'s neighbors";
?>
<?php
/* una forma de inicializar el array */
$ages = array('Peter'=>32, 'Quagmire'=>30, 'Joe'=>34);
/* otra forma equivalente de hacerlo */
$ages['Peter'] = 32;
$ages['Quagmire'] = 30;
$ages['Joe'] = 34;
/* acceso a una posición del array */
echo "Peter is " . $ages['Peter'] . " years old.";
?>
<?php
$arr=array("one", "two", "three");
foreach ($arr as $value)
{
echo "Value: " . $value . "<br />";
}
?>
<?php
function writeMyName($fname,$punctuation)
{
echo $fname . " Refsnes" . $punctuation . "<br />";
}
echo "My name is ";
writeMyName("Kai Jim",".");
echo "My name is ";
writeMyName("Hege","!");
echo "My name is ";
writeMyName("Ståle","...");
?>
My name is Kai Jim Refsnes. My name is Hege Refsnes! My name is Ståle Refsnes...
<?php
function add($x,$y)
{
$total = $x + $y;
return $total;
}
echo "1 + 16 = " . add(1,16)
?>
<!-- HTML del formulario --> <html> <body> <form action="welcome.php" method="post"> Name: <input type="text" name="name" /> Age: <input type="text" name="age" /> <input type="submit" /> </form> </body> </html>
<!-- welcome.php --> <html> <body> Welcome <?php echo $_POST["name"]; ?>.<br /> You are <?php echo $_POST["age"]; ?> years old. </body> </html>
<?php session_start(); if(isset($_SESSION['views'])) $_SESSION['views']=$_SESSION['views']+1; else $_SESSION['views']=1; echo "Views=". $_SESSION['views']; ?>
Ejemplo: acceso a MySQL (I)
<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("my_db", $con);
$sql="INSERT INTO person (FirstName, LastName, Age)
VALUES
('$_POST[firstname]','$_POST[lastname]','$_POST[age]')";
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo "1 record added";
mysql_close($con);
?>
<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("my_db", $con);
$result = mysql_query("SELECT * FROM person");
/* continúa en la siguiente transparencia */
/* continuación de la transparencia anterior */
echo "<table border='1'>
<tr>
<th>Firstname</th>
<th>Lastname</th>
</tr>";
while($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['FirstName'] . "</td>";
echo "<td>" . $row['LastName'] . "</td>";
echo "</tr>";
}
echo "</table>";
mysql_close($con);
?>