Gebruikers iets aan pagina toe laten voegen

Status
Niet open voor verdere reacties.
Toen ik dat had veranderd zei hij

Code:
Table 'crankyslap_request.queries' doesn't exist

Toen heb ik een tabel genaamd ''queries'' aangemaakt met precies hetzelfde erin als in de tabel ''quotes'' Toen ik daarna een quote toevoegde zei hij wel:

Code:
De volgende quote is toegevoegd: Hoera

klik hier om terug te keren.

maar toen ik iets uit de database opvroeg met

Code:
$selectQuery = "SELECT quote FROM quotes ORDER BY quote ASC'";

kreeg ik een witte pagina te zien, en ook in phpmyadmin zijn in de databse geen toegevoegde quotes te zien. Moet er nog iets gebeuren of gaat er iets mis? :thumb:
 
Hoe ziet het totale script er nu uit? (Formulier.php en verwerk.php)
 
formulier.php
PHP:
<?php

///////////////////////////////////DATABASE GEGEVENS///////////////////////////////////

// Database gegevens staan dus hier, even eraf gehaald zodat 
// niemand wachtwoord etc. kan zien.

// Verbinding maken met de server
$dbconnect =  mysql_connect($host, $gebruikersnaam, $wachtwoord) or die (mysql_error());
// De juiste database selecteren
$dbselect =  mysql_select_db($database) or die (mysql_error());

///////////////////////////////////END DB GEGEVENS///////////////////////////////////

//Wil je eerst de quotes laten zien of het formulier?
$formFirst = "False"; // Voor eerst de quotes kun je deze op FALSE zetten

//De quotes uit de database halen maar nog niet weergeven.
$quoteQuery = "SELECT quote FROM quotes ORDER BY quote ASC";
$quoteResult = mysql_query($quoteQuery) or die (mysql_error());


if($formFirst == "True")
{
  // Het formulier tevoorschijn toveren
  echo'
  <html>
   <head><title>dimitri-korsakov.com</title></head>
   <body>
    <form action="verwerk.php" method="POST">
     Quote:<input type="text" name="quote" /><br />
     <input type="submit" value="Verzenden" name="submit" /><br /><br />
    </form>';
    // Nu laten we de quotes zien
    while($quoteRow = mysql_fetch_array($quoteResult))
    {
      echo "$quoteRow[quote] <br />"; 
      //In het vorige voorbeeld was er een foutje met de ' ', moet nu verholpen zijn
    }
   echo'
   </body>
  </html>';
}
else
{
  echo'
  <html>
   <head><title>dimitri-korsakov.com</title></head>
   <body>'; 
    // Nu laten we eerst de quotes zien
    while($quoteRow = mysql_fetch_array($quoteResult))
    {
      echo "$quoteRow[quote] <br />"; 
    }
    // En nu pas het formulier
  echo'
      <form action="verwerk.php" method="POST">
     Quote:<input type="text" name="quote" /><br />
     <input type="submit" value="Verzenden" name="submit" /><br /><br />
    </form>
   </body>
  </html>';
}  

?>
verwerk.php
PHP:
<?php

///////////////////////////////////DATABASE GEGEVENS///////////////////////////////////

// Database gegevens staan dus hier, even eraf gehaald zodat 
// niemand wachtwoord etc. kan zien.

// Verbinding maken met de server
$dbconnect =  mysql_connect($host, $gebruikersnaam, $wachtwoord) or die (mysql_error());
// De juiste database selecteren
$dbselect =  mysql_select_db($database) or die (mysql_error());

///////////////////////////////////END DB GEGEVENS///////////////////////////////////

// Deze if statement controleert of er wel op de knop is gedruk en
// of er wel een waarde is ingevoerd.
if(isset($_POST['submit']) && isset($_POST['quote']))
{

  $invoegQuery = "INSERT INTO queries SET quote='$_POST[quote]'";
  $invoegResult = mysql_query($invoegQuery) or die (mysql_error());
  echo "De volgende quote is toegevoegd: <b>$_POST[quote]</b><br /><br />
            klik <a href='formulier.php' >hier</a> om terug te keren.";
}
else
{
  echo "<b>FOUT: U heeft waarschijnlijk geen quote ingevuld, klik <a href='javascript:history.go(-1)' >hier</a> om terug te keren.</b>";
}
?>
 
Laatst bewerkt:
Ik zie al waar ik de fout heb gemaakt.

Ik heb het de hele tijd over de tabel quotes maar vervolgens heb ik bij de INSERT INTO de tabel queries genoemd :o

Als je dus in verwerk.php de $invoegQuery wijzigt in deze:
PHP:
$invoegQuery = "INSERT INTO quotes SET quote='$_POST[quote]'";

Het spijt me dat ik dit niet eerder door had :(

Je moet dus een tabel hebben die quotes heet en de tabel queries kun je wel weggooien.
 
Fantastisch! Het werkt nu naar behoren :thumb:

Is er een mogelijkheid een soort van simpel admin-paneel te maken waar ik quotes kan verwijderen? Anders moet het allemaal handmatig :shocked:

Echt heel erg bedankt :D
 
Dit is wat ik heb
admin.php
PHP:
<?
session_start();
///////////////////////////////////DATABASE GEGEVENS///////////////////////////////////

$host = "localhost"; // Adres naar MySQL server (Meestal localhost)
$gebruikersnaam = "root"; // Gebruikersnaam voor de database
$wachtwoord = ""; // Wachtwoord voor gebruiker
$database = "quoteDB"; // Database naam (Dus niet die van de tabel)

// Verbinding maken met de server
$dbconnect =  mysql_connect($host, $gebruikersnaam, $wachtwoord) or die (mysql_error());
// De juiste database selecteren
$dbselect =  mysql_select_db($database) or die (mysql_error());

///////////////////////////////////END DB GEGEVENS///////////////////////////////////

$inlogNaam = "test";
$inlogPass = "test";

//Inloggen
if(isset($_POST['login']))
{
  if($_POST['uname'] == $inlogNaam && $_POST['pass'] == $inlogPass)
	{
	  //Sessie aanmaken
	  $_SESSION['login'] = "ja";
		echo "<meta http-equiv='Refresh' content='2; url=admin.php'>
           <center>Succesvol ingelogd!</center>";
	}
	else
	{
	  //Foutmelding bij verkeerde gegevens
	  echo "<meta http-equiv='Refresh' content='2; url=admin.php'>
           <center>Inloggen mislukt.!</center>";
	}
}
else
{
  if($_SESSION['login'] != "ja")
	{
	  //Inlog formulier weergeven
	  echo'<form action="admin.php" method="POST">
		      Gebruikersnaam: <input type="text" name="uname" /><br />
					Wachtwoord: <input type="password" name="pass" /><br /><br />
					<input type="submit" name="login" value="Inloggen" />';
	}
	else
	{
	  if(isset($_POST['delete']))
		{
		  //Quotes verwijderen
		  $deleted_items = join(', ', $_POST["list"]); 					
			$deleteQuery = "DELETE FROM quotes WHERE quoteID IN ($deleted_items)"; 
			mysql_query($deleteQuery) or die(mysql_errno() . ": " . mysql_error());
      echo "<meta http-equiv='Refresh' content='2; url=admin.php'>
             <center>Quote(s) verwijderd!</center>";
		}				
		elseif(isset($_GET['id']) && is_numeric($_GET['id']))
		{
		  //Quote wijzigen
			if(isset($_POST['submit']))
			{
				extract($_POST);
				$wijzigQuery = "UPDATE quotes SET
									quote='$quote'
									WHERE quoteID='$_GET[id]'";
				mysql_query($wijzigQuery) or die(mysql_errno() . ": " . mysql_error());
        echo "<meta http-equiv='Refresh' content='2; url=admin.php'>
               <center>Quote gewijzigd!</div></center>";
			}
			else
			{
			  //Wijzig formulier weergeven
				$detailQuery = "SELECT * FROM quotes WHERE quoteID='$_GET[id]'";
				$detailResult = mysql_query($detailQuery);
				$detailRow = mysql_fetch_array($detailResult);
				extract($detailRow);
				echo'
						<center>
							<form action="admin.php?id='. $quoteID .'" method="post">
							Quote:<input type="text" size="100" name="quote" value="'.$quote.'">
							<input type="submit" name="submit" value="Wijzig">
							</form>
						</center>';
			}
		}
		else
		{
		  //Volledige lijst met quotes weergeven
		  $quoteQuery = "SELECT * FROM quotes";
      $quoteResult = mysql_query($quoteQuery) or die(mysql_errno() . ": " . mysql_error());
      echo'<form action="admin.php" method="POST">';
			if (mysql_num_rows($quoteResult) == "0")
			{
			  //Melding bij geen quotes in database
			  echo"<center><b>Geen quotes aanwezig!</b></center>";
			}
			else
			{
			  //Alle quotes weergeven
        while ($quoteRow = mysql_fetch_array($quoteResult))
        {
          extract($quoteRow);
          echo '<input name="list[]" type="checkbox" value="'. $quoteID .'">
					       <a href="admin.php?id='. $quoteID . '">'. $quote .'</a><br />';
        }
				echo'<br /><input type="submit" value="Verwijder selectie" name="delete">';
      }
      echo '</form>';
		}
	}
}
?>
Als het niet werkt dan komt het omdat je een andere database structuur hebt gebruikt, ik heb die van dit topic aangehouden.
---------------------
Databasenaam: quoteDB
Tabel: quotes
Velden: quoteID en quote
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan