Archief - PHP: Niet in database :s

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

koebeest

Legacy Member
Hij wil hem niet tonen in de database

PHP:
<?php 
if($_POST['submit']){ 
    $insert = "INSERT INTO $_POST[menu] (id,bericht,datum,titel) VALUES ('','".$_POST[bericht]."','".date('Y-m-d H:i:s')."','".$_POST[titel]."')"; 
        mysql_query($insert) or die(mysql_error()); 
        header("Location: http://www.ikbenjens.com/eigen_admin.php"); 
        exit; 
} 
?> 
<form name="form1" method="post" action=""> 
  <font color="#FFFFFF" size="2" face="Geneva, Arial, Helvetica, sans-serif">Titel: 
  <input type="text" name="titel"> 
  </font><br> 
  <font color="#FFFFFF" size="2" face="Geneva, Arial, Helvetica, sans-serif">Plaats: </font> 
  <select name="lijst" id="lijst"> 
    <option>-Wo2</option> 
    <option>Algemeen</option> 
    <option>Plaatsen</option> 
    <option>Infantery</option> 
    <option>Voertuigen</option> 
  </select> 
  <br> 
  <font color="#FFFFFF" size="2" face="Geneva, Arial, Helvetica, sans-serif">Bericht</font> 
  <textarea name="bericht" cols="50" rows="10"></textarea> 
  <br> 
  <input type="submit" name="Submit" value="Plaatsen"> 
</form> 
</body> 
</html>

Rombo

Legacy Member
Een paar dingen die me opvallen:

de action van uwe form moet toch ingevuld zijn normaal?
dus: action="paginanaam.php"

als ge uw vars ophaalt
$_POST[menu] => $_POST['menu'] ofzo dacht ik?, kan ook zijn da ik wa achter zit en dat da ook zonder ' gaat

wordt er ne error gereturned ofzo?

ps: uw id, indien da auto increment staat ofzo moede da nie noodzakelijk opnemen in uwe insert, dus ge zou (id, ..) id kunnen laten wegvallen dus bericht,datum,titel overhouden en dan bij uw values moede niks leeg zitten te inserten dan

koebeest

Legacy Member
Doet het nog niet en die menu tussen ' ' geeft alleen maar string errors en is niet verplicht

PHP:
<?php include("config.php"); ?>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>

<body bgcolor="#393939">
<?php
if(isset($_POST[submit])){  
$insert = "INSERT INTO $_POST['menu'] (id,bericht,datum,titel) VALUES ('','".$_POST[bericht]."','".date('Y-m-d H:i:s')."','".$_POST[titel]."')"; 
 		mysql_query($insert) or die(mysql_error());
		header("Location: http://www.ikbenjens.com/");
		exit;
}
?>
<form name="form1" method="post" action="admin.php" >
  <font color="#FFFFFF" size="2" face="Geneva, Arial, Helvetica, sans-serif">Titel: 
  <input type="text" name="titel">
  </font><br>
  <font color="#FFFFFF" size="2" face="Geneva, Arial, Helvetica, sans-serif">Plaats: </font>
  <select name="menu" id="menu">
    <option>-Wo2</option>
    <option>Algemeen</option>
    <option>Plaatsen</option>
    <option>Infantery</option>
    <option>Voertuigen</option>
  </select>
  <br>
  <font color="#FFFFFF" size="2" face="Geneva, Arial, Helvetica, sans-serif">Bericht</font> 
  <textarea name="bericht" cols="50" rows="10"></textarea>
  <br>
  <input type="submit" name="Submit" value="Plaatsen">
</form>
</body>
</html>

Col.Kurtz

Legacy Member
$insert = "INSERT INTO $_POST['menu'] (id,bericht,datum,titel) VALUES ('','".$_POST[bericht]."','".date('Y-m-d H:i:s')."','".$_POST[titel]."')";

Maak hier eens van

$insert = "INSERT INTO $_POST['menu'] (id,bericht,datum,titel) VALUES ('','".$_POST[bericht]."','".date('Y-m-d H:i:s')."','".$_POST[titel]."')";
die($insert);

En post dan die output eens

koebeest

Legacy Member
Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/vhost/ljdclmaster.com/root/battlefield/admin.php on line 12

killer bel

Legacy Member
heb je bij config.php je database geselecteerd?
bv:
PHP:
$db = mysql_connect("connectie", "usersnaam", "paswoord") or die(mysql_error());
	mysql_select_db("naam van de database", $db) or die(mysql_error());


in dan moet je mysql_query($query) vervangen door

PHP:
mysql_query($query, $db)

die $db moet er nog dus bij

als dat niet werkt moet je deze query eens invoeren:

$query = "INSERT INTO $_POST["menu"} (id, bericht, datum, titel)";
$query .= "VALUES('";
$query .= $_POST["bericht"]."','";
$query .= date('Y-m-d H:i:s')."','";
$query .= $_POST["datum"]."','";
$query .= $_POST["titel"]."');";

koebeest

Legacy Member
??? Ik snap het niet en ik denk niet dat dat zal werken

orez

Legacy Member
INSERT INTO tabel SET id='', titel='" . titel . "', bericht = '" . bericht . "'

ook iets overzichterlijker. :)

killer bel

Legacy Member
mag ook :)

maar ik denk dat je achter , values er niet mag zijn

koebeest

Legacy Member
:cry: Ik snap het niet :cry: zouden jullie mss gewoon mijn code eens kunnen editten. Ben een beginner en leer alles met een boek maar niet alles staat in die boek :)

orez

Legacy Member
koebeest zei:
??? Ik snap het niet en ik denk niet dat dat zal werken

Tis ni omdajt ni snapt dat ni gaat werken eh :ironic:

mysql_query(QUERY, CONNECTION STRING);

das mysql_query functie...

PHP:
<?php
//Inserting info into database
$username = $_POST['username'];
$pass = sha1($passw);
$mail = $_POST['mail'];

$link = mysql_connect($db_host, $db_user, $db_pass);

if (!$link) {
	printf(mysql_error());
} else {
	mysql_select_db('jsdp', $link);

	//query definiëren
	$query = "INSERT INTO tbllogin SET username='" . $username. "', pass='" . $pass . "', email='" . $mail . "', seclvl=3, activated='Y', crew='Y', banned='N'";
	$profile = "INSERT INTO tblprofile SET username='" . $username . "', name='" . $_POST['name'] . "', surname='" . $_POST['surname'] . "'";

	if (mysql_query($query, $link) === TRUE) {
		if (mysql_query($profile, $link) === TRUE) {
			printf("Succesfully added " . $username . "<br />
				<a href=\"cpanel.php?c=crewlist&menu=crew\">click here</a> if you aren't redirected within 3 seconds");
			printf("<meta http-equiv=\"refresh\" content=\"3;url=cpanel.php?c=crewlist&menu=crew\">");
		} else {
			printf(mysql_error($link));
		}
	} else {
		printf(mysql_error($link));
	}
mysql_close($link);
}
?>

mijne insert van 1 van me scriptjes.

orez

Legacy Member
copy/paste mijne code en past de variabelen aan naar uwen settings... kun da ni rieken eh

koebeest

Legacy Member
maar euh tprobleem is met die dropdownmenu en de code staat in men eerste post

orez

Legacy Member
<select name="test">
<option value="bla">bla</option>
</select>

$_POST['test']

dan haalt em de value op van geselecteerde waarde.

Wa ik ook doe is ne form maken in 1 pagina, en de action in een andere pagina steken.

Dus form.php
<form action="insert.php"></form>

en in insert.php, enkel en alleen maar php code.
Kvin dit ietwat overzichtelijker werken (wel mijn smaak natuurlijk morja..)

koebeest

Legacy Member
euh zero tis al lang goe kem het gewoon eens opnieuw gescript en nu werkt het
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan