får det inte riktigt att fungera som jag vill. :( Jag har bara hunnit bekanta mig med mysql i nja... något halvt dygn eller så, så det har väl inte hunnit bli så avancerad kod än. Ja, ja så här har jag skrivit iaf:
<html>
<head>
</head>
<body >
<?
function storedata(){
global $temp;
$conn = mysql_connect() or die("could not connect to database");
$database = mysql_select_db("forum");
$sql = "INSERT INTO user('name') VALUES ('$temp')";
mysql_query("$sql");
mysql_close($conn);
}
function wievdata(){
$conn = @mysql_connect() or die("could not connect to database");
$database = mysql_select_db("forum");
$sql = "SELECT * FROM user";
$result = mysql_query("$sql");
while($row = mysql_fetch_array($result)){
echo "name: ".$row['name']."<br>";
}
mysql_close($conn);
}
if(!empty($temp)){
storedata();
}
?>
<form method="post" action="<?=$PHP_SELF?>">
Enter new name to store: <input type="text" name="temp"> <input type="submit">
</form>
<? wievdata(); ?>
</body>
</html>
sedan får jag ett (för de flesta) välkänt felmeddelande: sidan kan inte visas (den vita sidan som ibland kan komma upp när man är ute o surfar) och i adressfältet står det: http://localhost/php/\<br%20/><b>Notice</b>:%20%20Undefined%20variable:%20%20PHP_SELF%20in%20<b>c:/inetpub/wwwroot/php/index.php</b>%20on%20line%20<b>33</b><br%20/>
vore tacksam för någon lösning på problemet.
ViktorMedlem sedan aug. 20021 752 inlägg Variablen PHP_SELF finns inte om du inte har globals on i din php.ini. Antagligen har du inte det (den är satt till off på nya versioner), byt ut PHP_SELF mot $_SERVER['PHP_SELF'] .
/Viktor
LarsGMedlem sedan dec. 200012 464 inlägg $sql = "INSERT INTO user(name) VALUES ('$temp')";
fungerar ändå inte riktigt..
har nu ändrat som tipsat (tagit bort fnuttarna och ändrat i php.ini-filen). Inga felmeddelanden men inga nya namn läggs till i databasen. Är det något ytterligare fel?
<?
function storedata(){
global $temp;
$conn = mysql_connect() or die("could not connect to database");
$database = mysql_select_db("forum");
$sql = "INSERT INTO user(name) VALUES ('$temp')";
mysql_query("$sql");
mysql_close($conn);
}
function wievdata(){
$conn = @mysql_connect() or die("could not connect to database");
$database = mysql_select_db("forum");
$sql = "SELECT * FROM user";
$result = mysql_query("$sql");
while($row = mysql_fetch_array($result)){
echo "name: ".$row["name"]."<br>";
}
mysql_close($conn);
}
if(!empty($temp)){
storedata();
}
?>
<form method="post" action="<?=$_SERVER['PHP_SELF']?>">
Enter new name to store:
<input type="text" name="temp"> <input type="submit" value="Submit">
</form>
<? wievdata(); ?>
namnet som skrivs i formuläret lagras iaf i variabeln temp, det kollade jag, men den lagras som sagt inte i databasen.
LarsGMedlem sedan dec. 200012 464 inlägg $sql = "INSERT INTO user (name) VALUES ('$temp')" or die(mysql_error());
Jag har för mig att Mysql hanterar user speciellt, det är i vanliga fall en funktion men för att den ska förstå att det är ett tabellnamn så får man lägga in en blank innan parentesen. (Korkat av Mysql? Jo.) Det bästa är nog att byta namn på tabellen.
tackar LarsG :)
tänk så stor skillnad ett mellanslag kan göra ibland...
Jo, ja bytte namn på tabellen också