ugrás a tartalomhoz

PHP Mysql Eredmények feltöltése egy lapról más más táblázatba

aky22 · 2011. Május. 15. (V), 11.32
Hali van egy oldalam ahonnan eredményeket lehet feltölteni adatbázisba és onnan egy másik oldal kiírja egy jquerys táblába. Az a lényeg hogy meg szeretném azt csinálni hogy egy legördülő formmal ki lehessen választani az sql táblát mert egy suli honlapja és a felsős alsós eredmények külön vannak. Ott akadok el hogy késsza a form és amikor az sql- be akarom berakni az INSERT INTO után rakom be azt, hogy $_POST['adatbazis'] és nem jeleníti meg az oldalt. Így néz ki a kód

<?php
			if (isset($_SESSION['login']) and ($_SESSION['login']) && ($_SESSION['id']==1))
			{
				include("dbconnect.php");

				extract($_POST);
				if(!empty($title)) {
				$title = mysql_real_escape_string(stripslashes($title));
				$user = mysql_real_escape_string(stripslashes($user));
				$message = mysql_real_escape_string(stripslashes($message));

				 
				$date = mysql_real_escape_string(stripslashes($date));
				$date2 = mktime();
				 
				$sql = "INSERT INTO `$_POST['adatbazis']` (`id`, `verseny`, `user`, `eredmeny`, `date`) VALUES ('NULL', '$title','$user','$message','$date')";
				$query = mysql_query($sql) or die("Cannot query the database.<br>" . mysql_error());
				header ("location:2010_2011.php");
				} else {
				?>
				<script language="javascript" type="text/javascript" src="js/tiny_mce.js"></script>
				<script language="javascript" type="text/javascript">
				tinyMCE.init({
					mode : "textareas",
					theme : "advanced",
					theme_advanced_buttons3 : "",
					theme_advanced_toolbar_align : "center",
					theme_advanced_toolbar_location : "top",
					language : "en",

				});

				</script>  
				  <form class="iform" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<select name="adatbazis">
						<option value="eredmenyek">Felsős 2010-2011</option>
						<option value="alsos">Alsós 2010-2011</option>
					</select>
					Verseny:<br/>
					<input type="text" name="title" size="40"/><br/><br/>
					Név:<br/>
					<input type="text" name="user" size="50"><br />
					Eredmény:<br/>
					<textarea name="message" rows="15" cols="67"></textarea><br/>
					Dátum:<br/>
					<input type="text" name="date" size="50"><br />
					<center><input type="submit" name="submit" value="Létrehoz" /></center>
				  </form> <?php
				}
				}
				else
				{
					echo '<p>Rossz helyen jársz!</p>';
				}
				?>
				
 
1

Tábla

Poetro · 2011. Május. 15. (V), 16.38
Eleve nem jó, ha a felhasználótól jövő adatot mindenfajta ellenőrzés nélkül továbbítasz, valamint nem jól írtál vele a string-be.
$tabla = in_array($_POST['adatbazis'], array('eredmenyek', 'alsos')) ? 
  $_POST['adatbazis'] : 'eredmenyek';
$sql = "INSERT INTO `$tabla` 
  (`id`, `verseny`, `user`, `eredmeny`, `date`) VALUES 
  ('NULL', '$title','$user','$message','$date')";  
$query = mysql_query($sql) or 
  die("Cannot query the database.<br>" . mysql_error());  
2

már majdnem

aky22 · 2011. Május. 15. (V), 17.35
Már majdnem jó csak egy kis bökkenő : Cannot query the database.
Table 'siokvb.1' doesn't exist
3

siokvb.1

Poetro · 2011. Május. 15. (V), 20.07
Mivel eddig szó sem volt erről a tábláról, így azt se tudom, ez honnan jött neked. Valószínűleg a tábla nem létezik.
4

Nem vagy egyedül

aky22 · 2011. Május. 15. (V), 20.25
Hát azt énse. Na mind1 majd holnap utánanézek, hogy mi lehet a hiba
5

Megvan...

aky22 · 2011. Május. 19. (Cs), 14.25
Te én nem tom hogy mi a gázos de te írtál el valamit abba a kódba amit benyomtál mert ha kizedem az ellenőrzést és csak letárolom a postolt adatot egy változóban akkor működik. De amúgy meg köszi!