' geeft lege input
Code (php)
1
<input class= \"textfield\" type=\"text\" name=\"tekst1\" size =\"40\" value=\"".htmlspecialchars($editactie_titel['tekst'])."\">
Wat kan ik hier aan doen?
Toevoeging op 03/08/2012 16:24:00:
Sorry, het veld veranderd niet zie ik nu. Als hij leeg is, blijft hij leeg. Als er een waarde aanwezig was, blijft deze waarde staan. Met een ' wordt er niet geüpdatet.
Ik vermoed dat je dit wilt:
als je goed kijkt staat het php stuk tussen PHP tags ;)
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
echo "<form id=\"editactie_form\" action=\"".$_SERVER['PHP_SELF']."\" method=\"post\">
<table id=\"editactie\">
<tr>
<td class=\"editactie\">
Titel
</td>
<td>
<input class= \"textfield\" type=\"text\" name=\"tekst1\" size =\"40\" value=\"".htmlspecialchars($editactie_titel['tekst'])."\">
</td>
<table id=\"editactie\">
<tr>
<td class=\"editactie\">
Titel
</td>
<td>
<input class= \"textfield\" type=\"text\" name=\"tekst1\" size =\"40\" value=\"".htmlspecialchars($editactie_titel['tekst'])."\">
</td>
Toevoeging op 03/08/2012 16:35:42:
Waarom werkt het niet, is de functie alleen niet voldoende?
$_SERVER['PHP_SELF'] is onveilig. Gebruik liever ""
Ik vermoed dat het fout gaat bij de actie naar/vanuit de database.
Hoe ziet je update-query er uit?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
if ($_POST['submit'] == "Opslaan" && $editactie_titel > 0)
{
$query = "UPDATE $tab_teksten SET tekst='$tekst1' WHERE beschrijving = 'actie_titel'";
$result = mysql_query($query);
$query = "UPDATE $tab_teksten SET tekst='$tekst2' WHERE beschrijving = 'actie_tekst'";
$result = mysql_query($query);
$query = "UPDATE $tab_teksten SET tekst='$tekst3' WHERE beschrijving = 'actie_datum'";
$result = mysql_query($query);
$query = "UPDATE $tab_teksten SET tekst='$tekst4' WHERE beschrijving = 'actie_volgende'";
$result = mysql_query($query);
echo "<script language=\"javascript\">location.href='editactie.php';</script>";
}
{
$query = "UPDATE $tab_teksten SET tekst='$tekst1' WHERE beschrijving = 'actie_titel'";
$result = mysql_query($query);
$query = "UPDATE $tab_teksten SET tekst='$tekst2' WHERE beschrijving = 'actie_tekst'";
$result = mysql_query($query);
$query = "UPDATE $tab_teksten SET tekst='$tekst3' WHERE beschrijving = 'actie_datum'";
$result = mysql_query($query);
$query = "UPDATE $tab_teksten SET tekst='$tekst4' WHERE beschrijving = 'actie_volgende'";
$result = mysql_query($query);
echo "<script language=\"javascript\">location.href='editactie.php';</script>";
}
Toevoeging op 03/08/2012 16:50:14:
Als ik het goed begrijp maakt de functie van alle speciale tekens een code toch? Maar dit gebeurt niet?
Toevoeging op 03/08/2012 16:51:58:
Of juist andersom? Maakt hij van de codes weer de tekens?
Ferdi Verbeek op 03/08/2012 16:38:40:
Ik hoop dat we ons alleen kunnen richten op dit specifieke probleem.
Ik denk niet dat veel mensen zo zin hebben om te reageren.
Iedereen doet zijn best je te helpen en je verder op weg te helpen, het zijn allemaal bruikbare tips!
Ik wil graag dit ene punt oplossen zodat ik me daarna kan richten op me 'studie'. En dit bedoel ik niet verkeerd. Ik waardeer jullie tips, maar hoop we degene die mij willen helpen kunnen kijken naar dit specialchars gebeuren.
Ferdi Verbeek op 03/08/2012 16:38:40:
Ik hoop dat we ons alleen kunnen richten op dit specifieke probleem.
Struisvogelpolitiek. Doe het goed, zodat je fouten voorkomt.
Je script lijkt overigens erg veel op wat staat in http://www.phphulp.nl/php/forum/topic/1-knop-voor-2-queries/85939/
Kopieer dan ook maar mijn reactie:
Obelix en Idefix op 01/08/2012 16:39:30:
Even wat praktische tips: gebruik variabelen buiten quotes.
Regel 1 t/m 3 is kopiëren van variabelen. Speciale reden voor?
Gebruik binnen php ' en in html " --> scheelt je een heleboel keren \
$_SERVER['PHP_SELF'] is onveilig.
Een formulier maak je tegenwoordig liever niet meer met een tabel-opmaak, maar met css. inline stylen is eigenlijk ook niet meer echt van deze tijd.
Gebruik geen * maar geef de velden op die je wilt.
Mis in je query's foutafhandeling.
Laat het hier maar even bij ;-)
Regel 1 t/m 3 is kopiëren van variabelen. Speciale reden voor?
Gebruik binnen php ' en in html " --> scheelt je een heleboel keren \
$_SERVER['PHP_SELF'] is onveilig.
Een formulier maak je tegenwoordig liever niet meer met een tabel-opmaak, maar met css. inline stylen is eigenlijk ook niet meer echt van deze tijd.
Gebruik geen * maar geef de velden op die je wilt.
Mis in je query's foutafhandeling.
Laat het hier maar even bij ;-)
En als 'bonus' : je script is lek.
Debuggen: kijk wat je querys laten zien. Gaat dat goed?
Vervelende kerel.
Ik zoek mijn antwoord zelf wel.
Toevoeging op 03/08/2012 19:51:04:
Ik ben op vrijwillige basis voor iemand een website aan het maken. Ik weet dat er veel fout aan is en heb dat ook meerdere malen herhaalt. Ik wil deze graag afronden, omdat hij zeer ver is en ik dan zelf wil studeren naar PHP (ik heb daar spullen voor gekocht) etc. Ik kan deze niet laten wachten.
Ik kom hier met een probleem, maar vervolgens ga je opnoemen (en meerdere lui hier) wat er nog meer fout aan is. Daar heb ik toch geen ene reet aan?
Geef dan even waar de professionele/deskundige om vraagt.
Jouw probleem zit ergens anders dan in de HTML.
Obelix vraagt daar naar, maar jij geeft geen (volledig) antwoord.
In dit geval is het spreekwoord: "Eigen schuld, dikke bult" denk ik wel van toepassing.
Eddy Erkelens op 03/08/2012 19:51:13:
Jouw probleem zit ergens anders dan in de HTML.
Obelix vraagt daar naar, maar jij geeft geen (volledig) antwoord.
Obelix vraagt daar naar, maar jij geeft geen (volledig) antwoord.
Daar vraagt hij zeker niet naar. Wat hebben de css, *, / of de variabelen daar nou mee te maken?
Gewijzigd op 03/08/2012 19:53:37 door Ferdi Verbeek
Maar met al die boeken ga je het vast zelf vinden hoor...... Luisteren naar ervaren mensen moet je vooral niet doen.
Kortom: ik zal Obelix maar even citeren... Blijkbaar lees je er strak overheen en/of wil je het niet zien.
Obelix en Idefix op 03/08/2012 16:37:12:
Hoe ziet je update-query er uit?
Ferdi Verbeek op 03/08/2012 19:45:50:
Vervelende kerel.
Toevoeging op 03/08/2012 19:51:04:
Ik ben op vrijwillige basis voor iemand een website aan het maken.
Toevoeging op 03/08/2012 19:51:04:
Ik ben op vrijwillige basis voor iemand een website aan het maken.
Ferdi Verbeek op 03/08/2012 19:45:50:
Toevoeging op 03/08/2012 19:51:04:
Ik kan deze niet laten wachten.
Ik kan deze niet laten wachten.
Doe het wel. Laat je opdrachtgever (even) wachten en lever iets wat goed is.
Noem mij een vervelende kerel; ik wil je alleen maar duidelijk maken dat je script niet goed is. Als je het gebruikt voor jezelf om te testen/leren, vind ik het nog tot daar aan toe, maar je gaat dit toch niet echt als website publiceren. Al doe je het vrijwillig. Dit moet je een ander niet willen aandoen.
Ferdi Verbeek op 03/08/2012 19:45:50:
Toevoeging op 03/08/2012 19:51:04:
ik dan zelf wil studeren naar PHP (ik heb daar spullen voor gekocht) etc.
ik dan zelf wil studeren naar PHP (ik heb daar spullen voor gekocht) etc.
De meeste boeken zullen je zaken verkeerd aanleren. Doorgaans wordt er niet gesproken over foutafhandeling, wordt geselecteerd met *, etc. Juist allemaal zaken waar je op dit forum (al meerdere malen) op gewezen bent.
@Eddy: in zijn post van 03/08/2012 16:38:40 staat een update-query.
Maar, zoals eerder aangegeven, op die code (en query) is het nodige aan te merken.
Ferdi Verbeek wil echter alleen maar iets klaar hebben. Of het goed en veilig is, maakt (kennelijk) niets uit.
In mijn post van 03/08/2012 18:17:45 geef ik o.a. aan: foutafhandeling en een tip om te debuggen. Zolang je niets doet met de tips die gegeven worden, zie ik niet echt veel nut om je verder te helpen.
Ferdi Verbeek op 03/08/2012 19:45:50:
...
Vervelende kerel.
Ik zoek mijn antwoord zelf wel.
Toevoeging op 03/08/2012 19:51:04:
Ik kom hier met een probleem, maar vervolgens ga je opnoemen (en meerdere lui hier) wat er nog meer fout aan is. Daar heb ik toch geen ene reet aan?
Vervelende kerel.
Ik zoek mijn antwoord zelf wel.
Toevoeging op 03/08/2012 19:51:04:
Ik kom hier met een probleem, maar vervolgens ga je opnoemen (en meerdere lui hier) wat er nog meer fout aan is. Daar heb ik toch geen ene reet aan?
Kom op mensen, ga hier toch niet zoveel aandacht aan besteden. Iemand die op deze manier zijn mede forumgenoten te woord staat ("Vervelende kerel.") daar ga je toch niet zoveel tijd en energie in steken. Laat het hem gewoon lekker zelf uitzoeken als ie dat zo graag wil. Iemand die zo praat is de tijd en moeite niet waard.
Obelix en Idefix op 03/08/2012 20:10:59:
maar je gaat dit toch niet echt als website publiceren. Al doe je het vrijwillig. Dit moet je een ander niet willen aandoen.
Waarom niet? De website werkt verder prima en ziet er goed uit. Je moet niet overdrijven. Jammer dat er zo wordt gereageerd weer. In de toekomst zal ik hem aanpassen en beter maken. Ik maak er een goede backup van en erg gecompliceerd is de website niet.
De website geeft ook alleen enkele notices (door definities van variabelen, wat ik nog niet begrijp) en geen echte foutmeldingen. Natuurlijk is de coding niet netjes, maar hij werkt en doet wat hij moet doen. In de toekomst wil ik niet zo verder natuurlijk.
En dat gezeur over boeken en hoe goed jullie wel niet zijn, is nu wel duidelijk hoor. Maar ik ga graag mijn eigen weg.
Toevoeging op 03/08/2012 23:07:49:
Goed even voor de mensen met hetzelfde probleem:
Ik heb dit opgelost door gebruik te maken van mysql_real_escape_string. Iets wat je blijkbaar beter altijd moet gebruiken.
Gewijzigd op 03/08/2012 22:39:02 door Ferdi Verbeek
Prima, maar kom niet klagen als het problemen oplevert door een upgrade op de server of wat dan ook. Vroeger bouwden we plaggenhutjes maar tegenwoordig kan dit niet meer. Dit voorbeeld geldt ook bij programmeren. Als je het doet, doe het dan liever goed.
Ja precies, en dat realiseerde ik me ook en hierna zou ik toch gaan 'studeren' om dit in de toekomst wel goed te doen? Of heb je me andere 5 posts ook al gemist.
En in eerdere posts wordt ook al uitgelegd dat je vaak beter geen boeken moet gebruiken om het te leren aangezien het daar vaar verkeerd in staat