Hey mensjes, ik heb een script om iets om te slaan in een database, echter werkt deze niet.

<?php

if (!isset($_SESSION['id'])) {

echo '<div id="error">You must be logged on to see this page!</div>';
} else {

$uQuery = mysql_query("SELECT * FROM users WHERE id = '" . $_SESSION['id'] . "'") or die(mysql_error());
$uFetch = mysql_fetch_assoc($uQuery);

if (isset($_POST['submit']))
$test = htmlspecialchars($_POST['test']);
mysql_query("UPDATE users SET test = '" . mysql_real_escape_string($test) . "'") or die(mysql_error());
echo '<div id="succes">Your information has been successfully updated! <a href="index.php">Click here</a></div>';
}

?>

<form method="post" action="profielaanpassen.php" enctype="multipart/form-data">
<textarea id="test" name="test" style="width: 350px; height: 190px;"><?php
echo str_replace('<br />', '', $uFetch['test']);
?></textarea>
<input type="submit" name="submit" value="Opslaan" />
</form>


Het probleem is: Ik krijg gelijk al:
Your information has been successfully updated! Click here, en ik krijg een notice:
Notice: Undefined variable: test in /home/pepijar28/domains/pepijnvanderstap.eu/public_html/pages/pages.php on line 15

Wat ik zelf al begreep was, ik roep die echo te vroeg uit,
en " test " is niet gedefineerd, maar ik krijg het niet voorelkaar om dit goed te krijgen.
Mvg,
@ozzie : never mind.
(met google had je kunnen vinden haha )
@Ozzie NeVerMind.

@Ivo
Al gedaan, viel me meteen al op, had geen tijd wegens vakantie :-), zal wel raar zijn als iedereens descriptie aangepast wordt naar "Worst" nietwaar?.

[size=xsmall]Toevoeging op 23/04/2014 16:53:13:[/size]

Haha, Wouter was me voor.
Ik vind de term 'te veel gedoe' best kort door de bocht, en behoorlijk overbodig.
Het klinkt een beetje alsof je gedwongen wordt om te programmeren tegen je wil in.

We leven gelukkig in een wereld waarin alles makkelijker wordt gemaakt:
- Grote monitoren om je werkvlakken te verdelen (database, programeercode, live-view)
- Snelkoppelingstoetsen
- Kopiëren-plakken
- Automatisch FTP-upload functies als je iets opslaat, een knop om iets via SVN/GIT te committen
- Automatische tabs
- Autocomplete met functies en beschikbare variabelen

En ja, dankzij enkele van deze tools heb ik al een reeks layouts in HTML werkt voor samenwerking in mijn eigen CMS-systeem.
@above
True.

Echter, moet ik gewoon een header plaatsen naar changed.php, en daar zetten dat het aangepast is?

[size=xsmall]Toevoeging op 23/04/2014 17:02:04:[/size]

Nu krijg ik de zoals gewoonlijke header output already send.

<h1>My profile</h1>

<?php

if (!isset($_SESSION['id'])) {
    
    echo '<div id="error">You must be logged on to see this page!</div>';
} else {
    
    $uQuery = mysql_query("SELECT * FROM users WHERE id = '" . $_SESSION['id'] . "'") or die(mysql_error());
    $uFetch = mysql_fetch_assoc($uQuery);
    
    if (isset($_POST['submit'])) {
        $test = htmlspecialchars($_POST['test']);
        mysql_query("UPDATE users SET test='" . mysql_real_escape_string($test) . "' WHERE id='" . mysql_real_escape_string($_SESSION['id']) . "'") or die(mysql_error());
        header("location: ?p=changed.php");
        exit;
    }
}
?>
<form method="post" action="?p=pages" enctype="multipart/form-data">
<textarea id="test" name="test" style="width: 350px; height: 190px;"><?php
echo str_replace('<br />', '', $uFetch['test']);
?></textarea><br>
<input type="submit" name="submit" value="Save" />
</form>


[size=xsmall]Toevoeging op 23/04/2014 17:02:57:[/size]

Ik weet dat je een header voor echo's en dingen moet plaatsen, maar die staan hier niet in.

[size=xsmall]Toevoeging op 23/04/2014 17:08:51:[/size]

Ik begrijp dat het om mijn formulier gaat, maar die kan ik moeilijk weglaten ;)
Pepijn --- op 23/04/2014 16:59:19

Ik weet dat je een header voor echo's en dingen moet plaatsen, maar die staan hier niet in.

Kijk eens op lijn 1..... ;-)

het leuke van header() foutmeldingen is dat ze ook netjes verwijzen (bla.php:13) naar waar de output staat. In dit voorbeeld dus bla.php op regel 13.

Ik het echte geval zie ik die heading op de eerste regel staan, wat uiteraard niet mag.
Ja, maar dat kan ik moeilijk weghalen ;) Of wel soms.
Je kan ook zelf wat beter proberen je best te doen om een probleem op te lossen. Je kan die regel toch ook ONDER het PHP blok zetten?

Reageren