PDA

Volledige versie bekijken : [...plaatst niets in DB] Nieuw probleem: Fout in PHP bestand (niet opgelost)


ikkefc3
%Europe/Berlin %570 %2005, 14:41
Hallo mede flashers,

Nieuw probleem: Ik heb een PHP bestand om de bestanden te bewerken (uit de turtorial):
(MySQL connect staat in een ander PHP bestand, het gaat om deze):
<?
include ("algemeen.php");
$link = dbConnect();

$pos = isset($_GET['pos'])==0 ? 0 : $_GET['pos'];
$count = 10;
if (isset($_POST['go'])) $go = $_POST['go'];

?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<title>Database onderhoud</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<lnk rel="stylesheet" href="mijnstijl.css" type="text/css">
// verander de * hierboven in een i. De * was nodig voor correcte weergave op FlashFocus.
</head>


<body bgcolor="#FFFFFF">
<div align="center">
<div style="font-size: 20px; font-weight: bold; border: 1px solid #000000; background: #ffcc00; text-align:center; width:90%; height:25">Beheren Gastenboek</div>

<table border="0" width="100%" cellpadding="0" cellspacing="0">
<form action="onderhoud.php" method="POST">
<input type="hidden" name="go" value="1">

<?
/*
Controleer of we gaan muteren ($rec > 0), dan velden inlezen uit tabel
en het veld 'rec' in het formulier als $_POST variabele opnemen
*/

if (isset($_GET['rec']) > 0) {
$sql = "SELECT * from gastenboek where id='".$_GET['rec']."'";
$an_id = @mysql_query($sql);
$regel = mysql_fetch_array($an_id);
$dagnaam = $_POST['dagnaam'];
$dag = $_POST['dag'];
$maand= $_POST['maand'];
$jaar= $_POST['jaar'];
$onderwerp = $_POST['onderwerp'];
$bericht = $_POST['bericht'];
?>
<input type="hidden" name="rec" value="<? echo $_GET['rec'] ?>">
<?
} // rec > 0
else {
$dagnaam = '';
$dag = '';
$maand = '';
$jaar = '';
$onderwerp = '';
$bericht= '';
}

?>

<tr>
<td align="center">
<table class="rand" border="0" width="90%" >
<tr>
<td width="25%"> </td>
<td>DagnNaam: </td>
<td><input type="Text" name="name" value="<? echo $dagnaam?>" size="20"></td>
<td width="25%"> </td>
</tr>
<tr>
<td width="25%"> </td>
<td>dag: </td>
<td><input type="Text" name="email" value="<? echo $dag?>" size="20"></td>
<td width="25%"> </td>
</tr>
<tr>
<td width="25%"> </td>
<td valign="top">maand:</td>
<td><textarea name="melding" cols="60" rows="10"><? echo $maand?></textarea></td>
<td width="25%"> </td>
</tr>
<tr>
<td width="25%"> </td>
<td valign="top">jaar:</td>
<td><textarea name="melding" cols="60" rows="10"><? echo $jaar?></textarea></td>
<td width="25%"> </td>
</tr>
<tr>
<td width="25%"> </td>
<td valign="top">onderwerp:</td>
<td><textarea name="melding" cols="60" rows="10"><? echo $onderwerp?></textarea></td>
<td width="25%"> </td>
</tr>
<tr>
<td width="25%"> </td>
<td valign="top">Bericht:</td>
<td><textarea name="melding" cols="60" rows="10"><? echo $bericht?></textarea></td>
<td width="25%"> </td>
</tr>

<tr>

<td width="25%"> </td>
<td colspan="2" align="center">
<input class="submit" name="zenden" type="submit" value="Toevoegen">
<input class="submit" name="zenden" type="submit" value="Verwijderen">
<input class="submit" name="zenden" type="Submit" value="Opslaan">
</td>
<td width="25%"> </td>
</tr>
</table>
</td>
</tr>
</form>

<tr>
<td> </td>
</tr>
<tr>
<td> </td>
</tr>

<tr>
<td align="center">
<div style="font-size: 16px; font-weight: bold; border: 1px solid #000000; background: #b6bdd2; text-align:center; width:90%; height:25">Inhoud Gastenboek</div>
</td>
</tr>
<tr>
<td>

<table border="0" class="rand" align="center" width="90%">
<?
if (isset($go) == 1) {

if ($_POST['name']=="" || $_POST['onderwerp'] =="" || $_POST['bericht']=="") {
?>
<script language="Javascript">
window.alert("Alle velden invullen");
</script>
<?
} else if ($_POST['zenden'] == "Verwijderen") {
$sql = "DELETE from nieuws where id='".$_POST['rec']."'";
@mysql_query($sql);
} else if ($_POST['zenden'] == "Opslaan" && isset($_POST['rec']) > 0) {
$sql = "UPDATE nieuws set dagnaam='".$_POST['dagnaam']."', bericht='".$_POST['bericht']."', onderwerp='".$_POST['onderwerp']."', dag='".$_POST['dag']."', jaar='".$_POST['jaar']."' where id='".$_POST['rec']."'";
@mysql_query($sql);
}
else {

$dagnaam = $_POST['dagnaam'];
$dag = $_POST['dag'];
$maand = $_POST['maand'];
$jaar = $_POST['jaar'];
$onderwerp = $_POST['onderwerp'];
$bericht= $_POST['bericht'];
@mysql_query ("INSERT INTO gastenboek (dagnaam, dag, maand ,jaar ,onderwerp, bericht) VALUES('$name','$email','$datum','$melding')");
}
}
?>
<tr class="coll"><th>Muteren</th><th>dagNaam</th><th>dag</th><th>maand</th><th>jaar</th><th>onderwerp</th><th>Bericht</th></tr>
<?
$an_id = mysql_query ("SELECT id,dagnaam, dag, maand ,jaar ,onderwerp, bericht FROM nieuws ORDER BY dag DESC LIMIT $pos,$count");
$regnum = 0;
while ($regel=mysql_fetch_array($an_id)) {
$bericht=htmlspecialchars ($regel['bericht']);
$onderwerp=htmlspecialchars ($regel['onderwerp']);
$dag= strftime("%d", $regel['dag']);
$maand= strftime("%m", $regel['maand']);
$maand= strftime(%y",$regel['jaar']
$bericht = $regel["bericht"];
$bericht = nl2br($bericht);
if (strlen($bericht) > 20) $bericht = substr($bericht,0,20) . "...";
$tr = ($regnum % 2) == 0 ? "col1": "col2";
$regnum++;

?>
<tr class=<?echo $tr?> onMouseOver=this.style.backgroundColor='#ffdcb9' onMouseOut=this.style.backgroundColor=''>
<td width=50 valign="top"><a href="onderhoud.php?pos=<? echo $pos?>&edit=1&rec=<? echo $regel['id']?>">::::</td>

<td width=150 valign="top"><a href="onderhoud.php?pos=<? echo $pos?>&edit=1&rec=<? echo $regel['id']?>"><? echo $onderwerp?></td>
<td width=75 valign="top"><?echo $dag?></td>
<td valign="top"><a href="mailto:<?echo $jaar?>"><?echo $jaar?></a></td>
<td valign="top"><? echo $bericht?>
</td>
</tr>
<? } ?>
<tr>
<td colspan=3 align ="left">
<?
if ($pos>0) {
?> <a class="navigatie" href="onderhoud.php?pos=<? echo $pos - $count ?>">Vorige</a>
<? } ?>
</td>
<td colspan=2 align="right">
<? $totrecs = mysql_query("SELECT * FROM nieuws");
if (mysql_num_rows($totrecs)>$pos+$count) {
?> <a class="navigatie" href="onderhoud.php?pos=<? echo $pos+$count ?>">Volgende</a>
<?} ?>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</body
</html>
<!-- verwijder reclame kop lycos -->
<title>


Orgineel:
<?
include ("algemeen.php");
$link = dbConnect();

$pos = isset($_GET['pos'])==0 ? 0 : $_GET['pos'];
$count = 10;
if (isset($_POST['go'])) $go = $_POST['go'];

?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<title>Database onderhoud</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="mijnstijl.css">
</head>


<body bgcolor="#FFFFFF">
<div align="center">
<div style="font-size: 20px; font-weight: bold; border: 1px solid #000000; background: #ffcc00; text-align:center; width:90%; height:25">Beheren Gastenboek</div>

<table border="0" width="100%" cellpadding="0" cellspacing="0">
<form action="onderhoud.php" method="POST">
<input type="hidden" name="go" value="1">

<?
/*
Controleer of we gaan muteren ($rec > 0), dan velden inlezen uit tabel
*/

if (isset($_GET['rec']) > 0) {
$sql = "SELECT * from gastenboek where id='".$_GET['rec']."'";
$an_id = @mysql_query($sql);
$regel = mysql_fetch_array($an_id);
$naam = $regel['naam'];
$email = $regel['email'];
$melding = htmlspecialchars($regel['melding']);
$datum = $regel['datum'];
?>
<input type="hidden" name="rec" value="<? echo $_GET['rec'] ?>">
<?
} // rec > 0
else {
$naam = '';
$email = '';
$melding = '';
}

?>

<tr>
<td align="center">
<table class="rand" border="0" width="90%" >
<tr>
<td width="25%">&nbsp;</td>
<td>Naam: </td>
<td><input type="Text" name="name" value="<? echo $naam?>" size="20"></td>
<td width="25%">&nbsp;</td>
</tr>
<tr>
<td width="25%">&nbsp;</td>
<td>Email: </td>
<td><input type="Text" name="email" value="<? echo $email?>" size="20"></td>
<td width="25%">&nbsp;</td>
</tr>
<tr>
<td width="25%">&nbsp;</td>
<td valign="top">Melding:</td>
<td><textarea name="melding" cols="60" rows="10"><? echo $melding ?></textarea></td>
<td width="25%">&nbsp;</td>
</tr>
<tr>
<td width="25%">&nbsp;</td>
<td colspan="2" align="center">
<input class="submit" name="zenden" type="submit" value="Toevoegen">&nbsp;&nbsp;&nbsp;
<input class="submit" name="zenden" type="submit" value="Verwijderen">&nbsp;&nbsp;&nbsp;
<input class="submit" name="zenden" type="Submit" value="Opslaan">
</td>
<td width="25%">&nbsp;</td>
</tr>
</table>
</td>
</tr>
</form>

<tr>
<td>&nbsp; </td>
</tr>
<tr>
<td>&nbsp; </td>
</tr>

<tr>
<td align="center">
<div style="font-size: 16px; font-weight: bold; border: 1px solid #000000; background: #b6bdd2; text-align:center; width:90%; height:25">Inhoud Gastenboek</div>
</td>
</tr>
<tr>
<td>

<table border="0" class="rand" align="center" width="90%">
<?
if (isset($go) == 1) {

if ($_POST['name']=="" || $_POST['email'] =="" || $_POST['melding']=="") {
?>
<script language="Javascript">
window.alert("Alle velden invullen");
</script>
<?
} else if ($_POST['zenden'] == "Verwijderen") {
$sql = "DELETE from gastenboek where id='".$_POST['rec']."'";
@mysql_query($sql);
} else if ($_POST['zenden'] == "Opslaan" && isset($_POST['rec']) > 0) {
$sql = "UPDATE gastenboek set naam='".$_POST['name']."', email='".$_POST['email']."', melding='".$_POST['melding']."' where id='".$_POST['rec']."'";
@mysql_query($sql);
}
else {
$datum = time();
$name = $_POST['name'];
$email = $_POST['email'];
$melding = $_POST['melding'];
@mysql_query ("INSERT INTO gastenboek (naam, email, datum,melding) VALUES('$name','$email','$datum','$melding')");
}
}
?>
<tr class="coll"><th>Muteren</th><th>Naam</th><th>Datum</th><th>Email</th><th>Bericht</th></tr>
<?
$an_id = mysql_query ("SELECT id,naam, email, datum, melding FROM gastenboek ORDER BY datum DESC LIMIT $pos,$count");
$regnum = 0;
while ($regel=mysql_fetch_array($an_id)) {
$name=htmlspecialchars ($regel['naam']);
$email=htmlspecialchars ($regel['email']);
$datum = strftime("%d-%m-%Y", $regel['datum']);
$melding = $regel["melding"];
$melding = nl2br($melding);
if (strlen($melding) > 20) $melding = substr($melding,0,20) . "...";
$tr = ($regnum % 2) == 0 ? "col1": "col2";
$regnum++;

?>
<tr class=<?echo $tr?> onMouseOver=this.style.backgroundColor='#ffdcb9' onMouseOut=this.style.backgroundColor=''>
<td width=50 valign="top"><a href="onderhoud.php?pos=<? echo $pos?>&edit=1&rec=<? echo $regel['id']?>">::::</td>

<td width=150 valign="top"><a href="onderhoud.php?pos=<? echo $pos?>&edit=1&rec=<? echo $regel['id']?>"><? echo $name?></td>
<td width=75 valign="top"><?echo $datum?></td>
<td valign="top"><a href="mailto:<?echo $email ?>"><?echo $email ?></a></td>
<td valign="top"><? echo $melding ?>
</td>
</tr>
<? } ?>
<tr>
<td colspan=3 align ="left"> &nbsp;
<?
if ($pos>0) {
?> <a class="navigatie" href="onderhoud.php?pos=<? echo $pos - $count ?>">Vorige</a>
<? } ?>
</td>
<td colspan=2 align="right">&nbsp;
<? $totrecs = mysql_query("SELECT * FROM gastenboek");
if (mysql_num_rows($totrecs)>$pos+$count) {
?> <a class="navigatie" href="onderhoud.php?pos=<? echo $pos+$count ?>">Volgende</a>
<?} ?>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</body
</html>
<!-- verwijder reclame kop lycos -->
<title>
Ik kan het probleem niet vinden (mischien zie ik wel iets stoms over het hoofd ofzo). Even voor de duidelijkheid: er wordt een andere tabel opgevraagd in het orgineel, de nieuwe heeft Nieus met de velden: dagnaam, dag, maand, jaar, onderwerp, bericht.

Roenes
%Europe/Berlin %615 %2005, 15:45
Toon even de relevante AS en PHP codes. Want ik denk dat de fout zit in het overhevelen van de AS vars naar PHP vars :)

ikkefc3
%Europe/Berlin %734 %2005, 18:37
PHP Code: (admin.php):
<?

//nieuws lezen
//connecten
$dbname = "vanzwol";
$dbuser = "<weg gelaten>";
$dbpw = "<ook even weg gelaten>";
$dbhost = "localhost";

$open = mysql_connect($dbhost, $dbuser, $dbpw) or die(mysql_error());
mysql_select_db($dbname) or die(mysql_error());

//in database zetten
$sql = mysql_query("INSERT INTO nieuws (dagnaam, dag, maand, jaar, onderwerp, bericht) VALUES ('$dagnaam','$dag','$maand','$jaar','$onderwerp',' $bericht')") or die (mysql_error());


?>
Nieuws.php:
<?
//Begin nieuws.php
//nieuws lezen
//connecten
$dbname = "vanzwol"; //de naam van je database
$dbuser = "johannes"; //je inlognaam
$dbpw = "hoinet"; //je wachtwoord
$dbhost = "localhost"; //de locatie van de database

$open = mysql_connect($dbhost, $dbuser, $dbpw) or die(mysql_error());
mysql_select_db($dbname) or die(mysql_error());

//lezen
$output = "&nieuws=";
/*maak de variabele output aan voordat! de while loop begint als je dat niet doet, zal flash maar 1 ding (het laastst geselecteerde uit de db) laten zien*/

$sql=mysql_query("SELECT * FROM nieuws ORDER BY id DESC") or die (mysql_error());
/*selecteer de info uit de database, sorteer op ID aflopend (de laatste eerst)*/
while($row=mysql_fetch_array($sql))
/*maak een while loop om alles in een array te zetten*/
{ $bericht=$row["bericht"];
$onderwerp=$row["onderwerp"];
$dagnaam=$row["dagnaam"];
$dag=$row["dag"];
$maand=$row["maand"];
$jaar=$row["jaar"];


$output.="<b>$onderwerp</b><br><i>$dagnaam $dag/$maand/$jaar</i><br>$bericht<br>
_____________________________<br>
";
/*laat elke keer de tekst goed zien, onderwerp vet gedrukt,
datum eronder schuingedrukt en dan het bericht...
en eindigen met een lange streep tussen de berichten*/
}
echo $output;
//en echo dan alles naar flash

$headlines = "&headlines=";
/*maak weer de variabele aan om de headlines neer te zetten*/

$sql=mysql_query("SELECT onderwerp, dag, maand, jaar FROM nieuws ORDER BY id DESC LIMIT 6") or die (mysql_error());
/*selecteer nu alleen de dingen die we nodig hebben voor de headlines limiet staat op 6, zodat je alleen de laatste 6 berichten ziet,
dit past precies in tekstveld van ons... als je die groter wilt hebben moet je het tekstveld ook groter maken of er een scrollbar bij maken*/

while($row=mysql_fetch_array($sql))
//en een leuke array voor
{
$onderwerp=$row["onderwerp"];
$dag=$row["dag"];
$maand=$row["maand"];
$jaar=$row["jaar"];



$headlines.="<b>$onderwerp</b>(<i>$dagnaam $dag/$maand/$jaar</i>)<br>";

/*dit wordt weer elke keer toegevoegt (zie de .=) aan de variabele headlines*/
}
echo $headlines;
//en laat alles zien in flash
// eind nieuws.php
?>



DE AS code:
Op de verstuur button:
on(release){
loadVariables("admin.php", this, "POST")
play()
} Dat play in deze code gaat naar een OK scherm
De frame code:
nieuws = "loading data...";
loadVariables("nieuws.php?"+Math.random()*600000, this)
stop()

Roenes
%Europe/Berlin %754 %2005, 19:06
Volgens mij moet je in je admin.php eerst je vars declareren:

<?

//nieuws lezen
//connecten
$dbname = "vanzwol";
$dbuser = "<weg gelaten>";
$dbpw = "<ook even weg gelaten>";
$dbhost = "localhost";

$dagnaam = $_POST['dagnaam'];
$dag = $_POST['dag'];
$maand= $_POST['maand'];
$jaar= $_POST['jaar'];
$onderwerp = $_POST['onderwerp'];
$bericht = $_POST['bericht'];

$open = mysql_connect($dbhost, $dbuser, $dbpw) or die(mysql_error());
mysql_select_db($dbname) or die(mysql_error());

//in database zetten
$sql = mysql_query("INSERT INTO nieuws (dagnaam, dag, maand, jaar, onderwerp, bericht) VALUES ('$dagnaam','$dag','$maand','$jaar','$onderwerp',' $bericht')") or die (mysql_error());


?>

ikkefc3
%Europe/Berlin %809 %2005, 20:26
Bedankt, nu werkt het wel :D (maar het 2e probleem is nog niet opgelost)