login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Ontdek ID van variabele (Opgelost)

Offline Waflix - 02/09/2011 23:59 (laatste wijziging 02/09/2011 23:59)
Avatar van WaflixLid (Ik raad aan eerst dit topic te lezen. Dit bericht is daar namelijk op gebasseerd)

Het is mij dus gelukt om een hele rij weer te geven met alle rijen van een tabel, maar nu is er iets anders wat mij totaal niet lukt.
Ik ben bezig met een systeem waarmee je kunt bloggen, en jouw geplaatste blogs worden opgeslagen in een database. Het maken van blogs werkt gewoon, maar het aanpassen hiervan niet. Ik had het vorige topic nodig om een lijst weer te geven van al geplaatste blogs, zodat de gebruiker dan kon selecteren welke hij wilde aanpassen. Daarna dient er een form te verschijnen waarin de gebruiker de nieuwe, aangepaste data kan invoeren.
Het probleem is nu dat de gebruiker wel kan klikken op welke hij wilt openen, maar daarna gebeurd er niets.

De code die ik tot nu toe heb geschreven kun je vinden op plaatscode.be.
  Tot nu toe geschreven code

3 antwoorden

Gesponsorde links
Offline Ontani - 03/09/2011 01:36
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
je gebruikt buiten je while nog je $row variabele wat nergens op slaat. Op regel 24 doe je $row['id'] terwijl je niet meer binnen while($row = ...) zit. Dus die gaat niets terug geven.
Offline Dlol - 03/09/2011 01:47 (laatste wijziging 03/09/2011 01:49)
Avatar van Dlol Lid
  1. if( isset($_POST['blog_edit_submit'])) {
  2. $sql2 = mysql_query("SELECT title, name, content, date FROM blog WHERE id='".$row['id']."'") or die(mysql_error());
  3.  
  4. ...


Je gebruikt hier $row['id']. Opletten hiermee, dit is gewoon het id van je laatste row opgehaald in de while lus net daarboven! En volgens mij is het de bedoeling dat je het id ophaalt van de blog die iemand wil bewerken.

Verder zit je eigenlijk volgens mij gewoon compleet fout met je code/denkwijze. Als ik het goed begrijp is dit de bedoeling:
Je geeft enkele buttons weer met daarop "Edit (titel)". Wanneer daar op geklikt wordt moet er een form verschijnen waarin men aanpassingen kan doen. Hierna moeten de aanpassingen gewoon opgeslagen worden als de invoer correct was, anders worden er foutmeldingen gegeven.

In PHP werkt formulieren submitten als volgt:
In je <form> tag plaats je de "action" en "method". Dit is wat de browser moet doen om de info te verzenden. Let wel op dat enkel de info binnen <form></form> veronden wordt met hun respectievelijke action en method. Een voorbeeld is bijvoorbeeld:

  1. <form name="form1" action="page1.php" method="post">
  2. <input type="text" name="naam1" />
  3. <input type="password" name="naam2" />
  4. <input type="submit" name="submitbutton" value="Submit!" />
  5. </form>
  6.  
  7. <form name="form2" action="page2.php" method="get">
  8. <textarea name="text"></textarea>
  9. <input type="submit" name="submitbutton" value="Submit!" />
  10. </form>


Wanneer je nu form1 gaat submitten gaat-ie naar page1.php waar je zal beschikken over $_POST['naam1'] met als waarde de waarde van <input type="text" name="naam1" />, $_POST['naam2'] met als waarde de waarde van <input type="text" name="naam2" /> en over $_POST['submitbutton'] met als waarde "Submit!". Je weet niets van form2.
Ga je nu form2 submitten dan gaat-ie naar page2.php waar je zal beschikken over $_GET['text'] met als waarde etc. etc.

Wat jij dus moet doen is op een of andere manier via een form het id meegeven van het bericht dat moet aangepast worden. Dit kan bijvoorbeeld via:

  1. <form method="post" action="submit_form.php">
  2. <input type="hidden" name="id" value="<?php echo $row['id']; ?>" />
  3. <input type="submit" value="bewerk blablabla" />
  4. </form>


Dan beschik je in $_POST['id'] dus over het juiste id zodat je in je query die ik daarstraks aanhaalde $row['id'] vervangt door $_POST['id']. Pas dit dan ook toe op de rest van de code en het zou al een pak beter moeten gaan.

In ieder geval, als je een blog systeem wilt maken en dus veel met forms in contact zult kommen raad ik je echt wel aan forms nog eens goed te bekijken, http://www.site...ormulieren hier bijvoorbeeld.
Bedankt door: Waflix
Offline Waflix - 03/09/2011 09:41 (laatste wijziging 04/09/2011 00:54)
Avatar van Waflix Lid @Ontani: Ik weet dat dat niet kan, maar ik heb gewoon enorm veel rare dingen gedaan met de code in de hoop dat het zou werken...

@Dlol:
Bedank, ik zal het proberen!

----
EDIT: Het werkt nu. Ik heb nog 1 klein probleempje, maar dat kan ik waarschijnlijk nog wel oplossen. En zo niet, dan open ik hier wel een nieuw topic!
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.177s