Archief - PHP: bewerken van database

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Sprits

Legacy Member
PHP:
<?php session_start(); ?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>
</head>

<body bgcolor="999999">
<div align="right"><a href="admin.php" target="_blank">Administratie Paneel</a></div>
<?php 
if (isset($_SESSION["username"])) 
{
	echo("<div align='left'>Klik <a href='logout.php'>hier</a> om u uit te loggen.</div>");
}
?>
<?php
	
	include ('connect.php');
	
	$query = "SELECT * FROM newses ORDER BY id desc limit 5"; 
	$result = mysql_query($query) or die(mysql_error()); 

	while(list($id,$titel,$nieuws)= mysql_fetch_row($result))
	{
?>
    	<table width=100% border="0" bgcolor="#999999">
			<tr>
				<td width="100" valign="top">ID: </td>
				<td align="left" valign="top"><?php echo("$id");?> </td>
				<?php  if (isset($_SESSION["username"]))
				{
					echo('<td align="right" width="50" valign="top"><a href="bewerken.php?id=[$id]"><img src="button_edit.png"></a></td>');
				}
				?>
			</tr>
        	<tr>
				<td width="100" valign="top">Titel : </td>
				<td align="left" valign="top"><?php echo("$titel");?></td>
			</tr> 
        	<tr>
								 <?php $bericht=nl2br($nieuws); ?>
				<td width="100" height="100" valign="top">Bericht : </td>
				<td align="left" valign="top"><?php echo("$bericht");?></td>
			</tr>
			<tr>
				<td colspan="3"><hr align="center" width=90%></td>
			</tr>
		</table>
<?php	
	}
?>
</body>
</html>

bij <a href="bewerken.php?id=[$id]"> vult die in plaats van een nummer gewoon [$id]... is er mss iets verkeerd in de code ofzo?
Ik ben nog ma juist bezig me PHP en het is de bedoeling een nieuwscriptje te make... Als ik het linkje zelf aanpas in mijn browser naar een ID dan kan ik het bewerken en gaat alles goed!

dit is mijn bewerken.php
PHP:
<?php
	include("connect.php");
	
	if (isset($_POST["bevestiging"]))
	{
		$query = "Update newses SET
			titel = '". $_POST["titel"] ."',
			nieuws = '". $_POST["nieuws"] ."',
			where id='" .$_POST["id"] ."'";
		$res = mysql_query($query) or die (mysql_error());
		if ($res)
		{
			echo("Het nieuws is aangepast<br>");
			echo("<a href='index.php'>Ga terug</a>");
		}
	}
	else
	{
		$query = "Select * from newses where id='" . $_GET["id"]."'";
		$res = mysql_query($query) or die (mysql_error());		
?>
<html>
<head><title>Bewerken</title></head>
<body>

<h2>Bewerken</h2>
<?php
	while (list($id, $titel, $nieuws) = mysql_fetch_row($res))
	{
		$ti=$titel;
		$ni=$nieuws;
	}
?>
<form action="<?php echo($SERVER["PHP_SELF"]);?>" method="post">
	<input type="hidden" name="bevestiging" value="1">
	<input type="hidden" name="nummer" value="<?php echo($_GET["id"]);?>">
	Titel:<input type ="text" name="titel" value="<?php echo($ti);?>" size="30"><br>
	Bericht:<TEXTAREA NAME="nieuws" ROWS="4" COLS="50" wrap="hard"><?php echo($ni);?></TEXTAREA><br>
	<hr>
	<input type="Submit" value="Bijwerken">
	<input type="button" value="Terug" onClick="javascript:history.back();">
</form>
<?php
}
?>
</body>
</html>

[ImpacT]

Legacy Member
Zet die $id eens niet tussen haakjes. Heb nog nooit een URL geweten waar de meegegeven variabele tussen [ - haaken stond.

Nog iets. 't Zijn misschien maar details. Maar zet bij je img de height, width en alt zo krijg je nergens problemen.

[ImpacT]

Legacy Member
Hmm, ofwel wede nie wa ge doet ofwel hebt ge 2 verschillende dingen. Maar vanboven doet ge ne echo("uwe html dan bij die waar uw fout zit doet ge dit
echo(' .. nu

enkele aanhalingsteken of dubbele bij ne echo is da wel een groot verschil eh jongen :).
Zo zou het moeten werken denk ik

PHP:
<?php if (isset($_SESSION["username"]))
                {
                    echo("<td align='right' width='50' valign='top'><a href='bewerken.php?id=$id'><img src='button_edit.png'></a></td>");
                }
?>

killer bel

Legacy Member
in bewerken.php moet je ergens bovenaan dit nog zetten

<input type="hidden" name="controle" value="<?php echo($_get["id"]); ?>">

Sprits

Legacy Member
[ImpacT] zei:
Hmm, ofwel wede nie wa ge doet ofwel hebt ge 2 verschillende dingen. Maar vanboven doet ge ne echo("uwe html dan bij die waar uw fout zit doet ge dit
echo(' .. nu

enkele aanhalingsteken of dubbele bij ne echo is da wel een groot verschil eh jongen :).
Zo zou het moeten werken denk ik

PHP:
<?php if (isset($_SESSION["username"]))
                {
                    echo("<td align='right' width='50' valign='top'><a href='bewerken.php?id=$id'><img src='button_edit.png'></a></td>");
                }
?>
amai... wa een dikke fout! merci

kwist ni da het een verschil was!

Sprits

Legacy Member
ik kan het nu wel bewerke! ma als ik op de knop bewerken druk krijg ik nu deze fout!

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'where id='25'' at line 4

BTW: ik gebruik WAMP server (php5) dus

[ImpacT]

Legacy Member
Wel, uw fout zit dus in uw SQL syntax, zoek daar eens. In je PHP zit het dus niet.

Soms kan nen var_dump($result); wel handig zijn soms.

Hmm, ge copy paste blijkbaar uw SQL uit MySQL ofzo heb ik den indruk. Want in uw PHP zitten echt veel fouten.

id='25'' ... de fout moet je toch zelf zien.
Het moet id=25 zijn eh. Al die rommel wat ervoor komt, da's niet goed.
Want ik denk niet dat jij een id hebt dat '25'' noemt eh.

[ImpacT]

Legacy Member
Ik heb wat verandert, want ik denk dat je veel syntax fouten maakt.

PHP:
<?php
    include("connect.php");
    
    if (isset($_POST["bevestiging"]))
    {
        $titel = $_POST["titel"];
        $nieuws = $_POST["nieuws"];
        $id = $_POST["id"];
    	
        $query = "Update newses SET
            titel = $titel,
            nieuws = $nieuws
            where id= $id";
        $res = mysql_query($query) or die (mysql_error());
        if ($res)
        {
            echo("Het nieuws is aangepast<br>");
            echo("<a href='index.php'>Ga terug</a>");
        }
    }
    else
    {
        $query = "Select * from newses where id='" . $_GET["id"]."'";
        $res = mysql_query($query) or die (mysql_error());
    }    
?>

Soms eens een bezoekje brengen aan www.php.net kan soms wonderen doen.  En misschien eens overwegen van een goed PHP boek te kopen.

Ook gooit ge enkele en dubbele aanhanlingstekens constant door elkaar. In PHP is dit wel vragen om problemen. Ik weet niet welk programma je gebruikt voor PHP, maar ik kan je Zend Studo aanraden. Te vinden op www.zend.com
Zend Studio de enige IDE is voor PHP en beschikt over ALLE updates etc, werkt close samen met PHP.net en zit in de development van PHP.

orez

Legacy Member
Impact... no offence eh, ge probeert te helpen ma ge slaag er ook veel naast

id='25" zal idd ni werken -- Enkel & Dubbel quote

mor id='25', id="25" of id=25, werkt evengoed in een mysql...
plz, informeer uzelf eerst nog wa beter ;)

orez

Legacy Member
PHP:
<?php
    include("connect.php");
    
    if (isset($_POST["bevestiging"]))
    {
        $titel = $_POST['titel'];
        $nieuws = $_POST['nieuws'];
        $id = $_POST['id'];
    	
        $query = "UPDATE 
                          newses 
                      SET
                          titel='" . $titel . "',
                          nieuws='" . $nieuws . "'
                      WHERE 
                           id='" . $id . "'";

        if ($result = mysql_query($query))
        {
            echo("Het nieuws is aangepast<br>");
            echo("<a href='index.php'>Ga terug</a>");
        }
    }
    else
    {
        $query = "SELECT * FROM newses WHERE id='" . $_GET['id']. "'";
        if($result = mysql_query($query)) {
             html met php
        }
    }    
?>

nogwa overzichterlijker, en als ge uwen dbconnect nog in ne variabele steekt kunde iet meer OOB gon programmeren ;)

[ImpacT]

Legacy Member
ru`orez zei:
Impact... no offence eh, ge probeert te helpen ma ge slaag er ook veel naast

id='25" zal idd ni werken -- Enkel & Dubbel quote

mor id='25', id="25" of id=25, werkt evengoed in een mysql...
plz, informeer uzelf eerst nog wa beter ;)

Ermm in uwe MySQL zal dat wel lezen. Maar voor uw query op te stellen moet uw syntax fatsoenlijk zijn en niet zitten knoeien met '' " ' etc... Daarom dat ik variabele werk en niet direct doorgeef, minder gezeik met dat soort syntaxen.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan