login  Naam:   Wachtwoord: 
Registreer je!
 Forum

toevoegen lukt niet ?

Offline jeronald - 16/11/2007 11:42
Avatar van jeronaldNieuw lid Hallo,

Ik heb geprobeerd een gastenboek om te zetten in een productpagina. Ik hoop dat jullie even willen kijken waarom het toevoegen van producten het niet doet. dit is de sql tabel:
Veld Type Collatie Attributen Null Standaardwaarde Extra Foto text ascii_bin Nee
Productomschrijving text ascii_bin Nee
Prijs text ascii_bin Nee
Plaatscode: 4035
Ik heb zelf al veel geprobeerd, ook opnieuw het toevoeg gedeelte uit het oorspronkelijke gastenboek halen en opnieuw omzetten. Verder weet ik zo\'nbeetje NULL van msq en php dus ik hoop dat jullie er ff naar willen kijken. Met mijn NULL kennis is al wel veel gelukt bijvoorbeeld dat je alleen dingen kan toevoegen als je bent ingelogd. Ik hoop dat jullie voor het laatste stukje ff willen helpen.
mvg Jeroen Hubert

13 antwoorden

Gesponsorde links
Offline DMM - 16/11/2007 19:14
Avatar van DMM PHP beginner - Inloggen en toevoegen van content gaat zeg je. Staat die content dan ook werkelijk in je database?
- Welke error krijg je precies?
Offline jeronald - 19/11/2007 10:38
Avatar van jeronald Nieuw lid Ik krijg geen error, het komt niet in de database te staan, daar gaat het dus fout. Als ik handmatig iets in de database zet wordt het gewoon zoals het moet op de pagina geprint.

ik hoop dat u mij kunt helpen want ik weet echt niet waar het aan ligt

mvg jeroen
Offline Mad_Mike - 19/11/2007 10:44 (laatste wijziging 19/11/2007 10:45)
Avatar van Mad_Mike PHP beginner plaats eens achter de mysql_query() een 'or die(mysql_error());' net zoals je bij het verbinden naar de database doet.

en zet error_reporting(E_ALL); bovenaan je pagina om zeker te zijn dat je alle foutmeldingen krijgt!

edit:
en haal ook de @ bij het maken van de database verbinding even weg... zo krijg je geen foutmelding te zien mocht deze daar optreden.
Offline Bart - 19/11/2007 10:45
Avatar van Bart PHP expert Verander dit:
  1. mysql_query("INSERT INTO Gastenboek VALUES('".htmlspecialchars(trim($Foto),ENT_QUOTES)."','".nl2br(htmlspecialchars(trim($Productomschrijving),ENT_QUOTES)."','".htmlspecialchars(trim($Prijs),ENT_QUOTES))."','$REMOTE_ADDR')");

Eens in dit:
  1. INSERT INTO
  2. Gastenboek
  3. VALUES("
  4. '".htmlspecialchars(trim($Foto),ENT_QUOTES)."',
  5. '".nl2br(htmlspecialchars(trim($Productomschrijving),ENT_QUOTES)."',
  6. '".htmlspecialchars(trim($Prijs),ENT_QUOTES))."',
  7. '".$_SERVER['REMOTE_ADDR']."')") or die(mysql_error());
Offline jeronald - 19/11/2007 15:44
Avatar van jeronald Nieuw lid Bedankt voor jullie reacties, hij geeft bij het toevoegen van het stukje van Quicky een fout in regel 5:

'".htmlspecialchars(trim($Foto),ENT_QUOTES)."',

mvg jeroen
Offline ranco - 19/11/2007 23:30 (laatste wijziging 19/11/2007 23:32)
Avatar van ranco PHP gevorderde Ja, volgens mij laat php5 zoveel bewerkingen niet in 1 keer toe.
Doe het zoals dit:
  1. $Foto = trim($Foto);
  2. $Foto = htmlspecialchars($foto, ENT_QUOTES);


Heel vreemd, maar trip en htmlspecialchars werken bij mij in ieder geval niet samen. Ik weet niet of php dit express heeft gedaan of het een bug is.
Dit zou in ieder geval wel moeten werken.

@quicky: Omg, wat ziet jouw query er onoverzichtelijk uit. Als het om leesbaarheid gaat is jouw script een ware ramp. Beter zet je dit eerst uiteen in strings, en dan pas in een insertquery
Offline jeronald - 23/11/2007 14:00
Avatar van jeronald Nieuw lid heey,

bedankt voor jullie hulp, na het stukje script van ranco geeft hij nog steeds een fout.

  1. if($toevoegen) {
  2. INSERT INTO
  3. Gastenboek
  4. VALUES("
  5. $Foto = trim($Foto);
  6. $Foto = htmlspecialchars($Foto, ENT_QUOTES);
  7. $Productomschrijving = trim($Productomschrijving);
  8. $Productomschrijving = htmlspecialchars($Productomschrijving, ENT_QUOTES);
  9. $Prijs = trim($Prijs);
  10. $Prijs = htmlspecialchars($Prijs, ENT_QUOTES);
  11. ");
  12. echo("<b>Het product is succesvol toegevoegd!<br>


hierboven in regel 5

bvd
Offline marten - 23/11/2007 14:12
Avatar van marten Beheerder Misschien moet je de syntax van een query eens bekijken? Je kan geen variabelen toewijzen binnen een query.
Offline Giant - 23/11/2007 16:30 (laatste wijziging 23/11/2007 17:24)
Avatar van Giant PHP beginner en het moet zijn:
  1. if($toevoegen) {
  2. $Foto = trim($Foto);
  3. $Foto = htmlspecialchars($Foto, ENT_QUOTES);
  4. $Productomschrijving = trim($Productomschrijving);
  5. $Productomschrijving = htmlspecialchars($Productomschrijving, ENT_QUOTES);
  6. $Prijs = trim($Prijs);
  7. $Prijs = htmlspecialchars($Prijs, ENT_QUOTES);
  8. INSERT INTO
  9. Gastenboek
  10. VALUES(".
  11. $Foto;
  12. $Productomschrijving;
  13. $Prijs;
  14. .")");
  15. echo("<b>Het product is succesvol toegevoegd!<br>");
Offline jeronald - 29/11/2007 17:24
Avatar van jeronald Nieuw lid heey, bedankt voor jullie hulp
@Giant , hij gaf nog een foutmelding maar er moesten puntjes tussen de variabelen.

Hij geeft helemaal geen foutmeldingen meer maar als je iets hebt toegevoegd komt het er niet te staan :S

Als ik iets handmatig in SQL invoer komt het wel in de productenlijst te staan.

  1. if($toevoegen) {
  2. $Foto = trim($Foto);
  3. $Foto = htmlspecialchars($Foto, ENT_QUOTES);
  4. $Productomschrijving = trim($Productomschrijving);
  5. $Productomschrijving = htmlspecialchars($Productomschrijving, ENT_QUOTES);
  6. $Prijs = trim($Prijs);
  7. $Prijs = htmlspecialchars($Prijs, ENT_QUOTES);
  8. INSERT INTO
  9. Gastenboek
  10. VALUES(".
  11. $Foto .
  12. $Productomschrijving .
  13. $Prijs
  14. .")");
  15. echo("<b>Het product is succesvol toegevoegd!<br>


ik hoop dat jullie me kunnen helpen

gr. jeroen
Offline ranco - 29/11/2007 17:43
Avatar van ranco PHP gevorderde Een insertquery dient er zo uit te zien: (En let op de quotes!)

  1. INSERT INTO TABLE (veldnaam1, veldnaam2, enz)
  2. VALUES ('".$phpvariabele1."', '".$phpvariabele2."');


Bij VALUES begin je dus in deze volgorde: ' (enkele quote) en daarna een dubbele (wanneer je een phpvariabele wil gebruiken) " en dan een koppelteken voor php (De punt dus) . En sluit ook weer in de omgekeerde volgorde af. Dit bebruik je niet in jouw script. Daarom werkt het volgens mij niet
Offline jeronald - 30/11/2007 15:37 (laatste wijziging 30/11/2007 15:38)
Avatar van jeronald Nieuw lid
  1. INSERT INTO Gastenboek (Foto, Productomschrijving, Prijs)
  2. VALUES ('".$Foto."', '".$Productomschrijving."', '".$Prijs."');


Kheb nu dit maar hij geeft fout in eerste regel (98) 

hij geeft een unexpected t string
Offline ranco - 30/11/2007 15:45
Avatar van ranco PHP gevorderde Om misverstanden te voorkomen... heb je wel je volledige query laten uitvoeren? Dus je code moet er dan als volgt uitzien:

  1. mysql_query("INSERT INTO Gastenboek (Foto, Productomschrijving, Prijs)
  2. VALUES ('".$Foto."', '".$Productomschrijving."', '".$Prijs."')");


Dit zou gewoon moeten werken.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.256s