sto cercando d'imparare il php .. ho trovato per casa un libro edito dalla jackson qualche annetto fa con gli esempi pratici !
purtroppo non riesco a capire xke alcuni esercizi ( tutti quelli che interaggiscono con un form in html ) non funzionano ... vi faccio un esempio queste sono 3 pagine che dovrebbero creare le tabelle dentro un db ...
form in html
Codice HTML:
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="AlterVista - Editor HTML">
<TITLE>creazione tabella</TITLE>
</HEAD>
<BODY>
<h1>fase1 nome tabella!</h1>
<form method="post" action:"test.php">
<p><strong>nome tabella:</strong><br>
<input type="text" name="nome_tabella" size=30></p>
<p><strong>numero campi</strong><br>
<input type="text" name="num_campi" size=5></strong></p>
<p><input type="submit" name="invio" value="passa alla fase2"></p>
</BODY>
</HTML>
pagina 1 in php
Codice PHP:
<?php
if ((!$nome_tabella) || (!$num_campi)) {
header("location: http://stest.altervista.org/test19/test.html");
exit;
}
$blocco_modulo = "
<form method=\"post\" action=\"test2.php\">
<input type\"hidden\" name=\"nome_tabella\" value=\"$nome_tabella\">
<table cellspacing=\"5\" cellpadding=\"5\">
<tr>
<th>nome campo</th><th>tipo</th><th>lunghezza</th></tr>
";
for($i = 0; $i < $num_campi; $i++ ) {
$blocco_modulo .= "
<tr>
<td align=center><imput type=\"text\" name=\"nome_campo[]\" size=\"30\"></td>
<td align=center>
<select name=\"tipo_campo[]\">
<option value=\"char\">char</option>
<option value=\"date\">date</option>
<option value=\"float\">float</option>
<option value=\"int\">int</option>
<option value=\"text\">text</option>
<option value=\"varchar\">varchar</option>
</select>
</td>
<td align=center><input type=\"text\" name=\"lunghezza_campo[]\" size=\"5\"></td>
<tr>
";
}
$blocco_modulo .= "
<tr>
<td align=\"center\" colspan=\"3\"><input type=\"submit\"
value=\"crea tabella\"</td>
</tr>
</table>
</form>
";
?>
<h1>definizione dei campi di <?php echo "$nome_tabella"; ?></h1>
<?php echo "$blocco_modulo"; ?>
pagina 2 in php
Codice PHP:
<?php
$db_name = "my_stest";
$connessione = @mysql_connect("localhost", "stest")
or die("impossibile connettersi");
$db = @mysql_select_db($db_nome, $connessione)
or die("impossible selezionare db");
$sql = "CREATE TABLE $nome_tabella (";
for ($i = 0; $i < count($nome_campo); $i++) {
$sql .= "$nome_campo[$i] $tipo_campo[$i]";
if ($lunghezza_campo[$i] != "") {
$sql .= " ($lunghezza_campo[$i]).";
} else {
$sql .= ",";
}
}
$sql = substr($sql, 0, -1);
$sql .=")";
$risultato = @mysql_query($sql, $connessione)
or die("impossibile fare la query");
if ($risultato) {
$msg = "<p>ta tabella $nome e stata creata! </p>"; ?>
<?php echo "$db_name"; ?>
<?php echo "$msg"; ?>
e come se il form html non passasse i dati alla pagina in php e questa non riuscisse a processarli .. la domanda e se e cosi xke ? e cosa manca (calcolando che sono alle prime armi ) ? e in quale pagina se c'e l'errore sta ?
grazie !!