wat is er fout met deze code?

<?php
if(isset($_POST['submit'])) {
mysql_connect("$hostname","$dbusername", "$dbpassword");
mysql_select_db($dbname);
$content = $_POST['content'];
$name = $_POST['name'];
$query1 = "INSERT INTO Pages VALUES ('$name','$content')";
mysql_query($query1);
}
?>

Hij zou de inhoud van tinymce moeten opplaan in mn database, maar dat doet ie niet. Ik weet zeker dat de config goed is, dus het komt zeker niet door de " mysql_connect("$hostname","$dbusername", "$dbpassword");
mysql_select_db($dbname);" die niet lukt
Tom, maak van regel 8 eens even dit:
<?php
mysql_query($query1) or die (mysql_error());
?>

En post de output dan hierzo
Gebruik in elk geval de juiste SQL-syntax, dat voorkomt een hoop problemen:

INSERT INTO
  tabelnaam (
    kolom,
    nog_een_kolom,
    en_de_laatste_kolom
  )
VALUES (
  'waarde 1',
  'waarde 2',
  'waarde 3'
)

Jouw syntax werkt ook wel, maar levert bij debuggen en onderhoud veel problemen op. En bugs ga je op deze manier echt wel krijgen...
@Jaws: nog steed nix, gewoon hetzelfde.
Hmm.. je hebt $hostname, $dbname, $dbusername en $dbpassword toch wel een waarde gegeven?

Oja.. wat pgFrank zegt moet je niet letterlijk overnemen (dat stukje code) Deze moet natuurlijk nog wel aangepast worden naar hoe het bij jou heet.
Ja dat weet ik, en de waarden van die vars zitten in config.php:

<?php
// ******************************
// MySQL Configuration
// ******************************

// The hostname to the server, it almost always is localhost
$hostname = "xxxxxx";

// Username for the database
$dbusername = "xxxxxx";

// Password for the database
$dbpassword = "xxxxxx";

// Name of the database, you should have created a database with this name
$dbname = "xxxxxx";

// Connects to the database

mysql_connect("$hostname","$dbusername", "$dbpassword");
mysql_select_db($dbname);

// ******************************
// Site Configuration
// ******************************

// Name of the site
$sitename = "xxxxxx"
?>

Uiteraard heb ik mijn eigen gegevens vervangen door "xxxxxx"

Dit is de volledige pagina:

<?
session_start();

include("../includes/config.php");

if($_SESSION['rank'] == "3") {
?>
<head>
<meta http-equiv="Content-Language" content="nl-be">
<style type="text/css">

body {
margin:0px;
background-image:url('images/bg.png');
background-repeat:repeat-x;
background-color:#FFFFFF;
}

</style>
<title>Admin Panel - <?php echo $sitename ?></title>
<script language="javascript" type="text/javascript" src="/tinymce/jscripts/tiny_mce/tiny_mce.js"></script>
<script language="javascript" type="text/javascript">
tinyMCE.init({
mode : "textareas",
theme : "advanced"
});
</script>
</head>
<body topmargin="0">

<table border="0" width="1133" id="table2" cellspacing="0" cellpadding="0">
<tr>
<td valign="top" width="607">
<img border="0" src="images/adminheader.png" width="600" height="150"> </td>
<td width="526">
<font face="Tahoma" size="2" color="#FFFFFF"><?php echo $sitename ?></font><p>
<font face="Tahoma" size="2" color="#FFFFFF">Loged in as <?php echo $_SESSION["username"] ?></font></td>
</tr>
</table>
<p>

</p>

<div align="center">
<table border="0" width="41%" id="table3" cellspacing="0" cellpadding="0">
<tr>
<td>
<form method="POST" action="admin2.php">
<table border="0" width="76%" id="table4" cellspacing="0" cellpadding="0">
<tr>
<td>Title: <input type="text" name="name" size="20"></td>
</tr>
<tr>
<td><textarea rows="18" name="content" cols="56"></textarea></td>
</tr>
<tr>
<td align="center">
<input type="submit" value="Save" name="B1"></td>
</tr>
</table>
</form>
</td>
</tr>
</table>

</div>
<?php
if(isset($_POST['submit'])) {
mysql_connect("$hostname","$dbusername", "$dbpassword");
mysql_select_db($dbname);
$content = $_POST['content'];
$name = $_POST['name'];
$query1 = "INSERT INTO Pages (Name, Content) VALUES ('$name','$content')";
mysql_query($query1) or die (mysql_error());
}
?>

<?php
}
else{
print "non-member content";
}
?>
Pas Franks tip ook toe, dan had je wellicht een nette foutcode gezien.

En maak van regel 5 en 6 eens.
<?php
$content = mysql_real_escape_string($_POST['content']);
$name = mysql_real_escape_string($_POST['name']);
?>

edit:
haal de quotes weg uit regel:
mysql_connect("$hostname","$dbusername", "$dbpassword");
Hij geeft dus EN geen error EN schrijft niets weg in de database, dat vind ik vreemd. Heb je error_reporting of zo ergens uitgezet?

Je zou op het einde van de code nog dit ff kunnen neerzetten:
<?php
echo $query1;
?>

Dan zie je of de form variabelen via de POST wel worden doorgegeven en hoe.
Waarom controleer je nergens of er wel een verbinding met de databaseserver is, of er wel een database is en of de query wel is gelukt? Dat zijn al 3 controles die schitteren door afwezigheid...
@Josh: Ik heb het toegepast (regel 5 en 6 en die mysql connect) maar het werkt nog steeds niet

@Jaws: Ik heb dat gedaan maar hij output niks oook niet met die mysql error. Oh en dit is mn tabel:

CREATE TABLE `Pages` (
`Name` VARCHAR( 30 ) NOT NULL ,
`Content` TEXT NOT NULL ,
PRIMARY KEY ( `Name` )
) TYPE = MYISAM ;

@frank: Ik weet dat het werkt, want met mn andere pagina werkt het uitstekend.
Als je die $query1 nog niet eens kan echo-en dan gaat er toch al heel vroeg in de code iets mis. Misschien met de sessie?

Reageren