deaMedlem sedan dec. 2002348 inlägg
Jag undrar vad det är jag inte ser?
Detta formulär ska skicka in ett värde till min databas..
Men den skickar ett värde även om man uppdaterar sidan, när man går in på sidan.
varför?
<form action="" method="post" name="frm" target="_self">
<br>
<br>
<?php
$text=$_POST['text'];
$query_ins ="INSERT INTO tbl (text) VALUES ('$text')";
$results = mysql_query($query_ins);
if($results)
{
echo("Du har lagt till ");
}
else
{
echo("Det gick inte att lägga till!");
}
?>
Lägg till ny typ: <input name="text" type="text" size="20">
<input type="submit" value="ny">
</form>
The_HulkMedlem sedan juni 20031 937 inlägg
Du kontrollerar aldrig om använder kommer till sidan eller om den har klickat på submit-knappen.
du skulle kunna lägga en kontroll på $text;
<form action="" method="post" name="frm" target="_self">
<br>
<br>
<?php
$text=$_POST['text'];
if($text != "")
{
$query_ins ="INSERT INTO tbl (text) VALUES ('$text')";
$results = mysql_query($query_ins);
if($results)
{
echo("Du har lagt till ");
}
else
{
echo("Det gick inte att lägga till!");
}
}
?>
Lägg till ny typ: <input name="text" type="text" size="20">
<input type="submit" value="ny">
</form>
deaMedlem sedan dec. 2002348 inlägg
The_Hulk skrev
Du kontrollerar aldrig om använder kommer till sidan eller om den har klickat på submit-knappen.du skulle kunna lägga en kontroll på $text;
<form action="" method="post" name="frm" target="_self">
<br>
<br>
<?php
$text=$_POST['text'];
if($text != "")
{
$query_ins ="INSERT INTO tbl (text) VALUES ('$text')";
$results = mysql_query($query_ins);
if($results)
{
echo("Du har lagt till ");
}
else
{
echo("Det gick inte att lägga till!");
}
}
?>
Lägg till ny typ: <input name="text" type="text" size="20">
<input type="submit" value="ny">
</form>
då gick det tyvärr inte att skicka alls!
The_HulkMedlem sedan juni 20031 937 inlägg
Säker på att du får något i $text?
<form action="" method="post" name="frm" target="_self">
<br>
<br>
<?php
$text=$_POST['text'];
if($text != "")
{
$query_ins ="INSERT INTO tbl (text) VALUES ('$text')";
$results = mysql_query($query_ins);
if($results)
{
echo("Du har lagt till ");
}
else
{
echo("Det gick inte att lägga till!");
}
}
else
{
echo "\$text is empty";
}
?>
Lägg till ny typ: <input name="text" type="text" size="20">
<input type="submit" value="ny">
</form>
deaMedlem sedan dec. 2002348 inlägg
Ja, det kom in data i min databas innan jag la till
if($text != "")
The_HulkMedlem sedan juni 20031 937 inlägg
testa att byta ut det mot
if(strlen($text) > 0)
The_HulkMedlem sedan juni 20031 937 inlägg
Ett annat sätt skulle vara
<form action="" method="post" name="frm" target="_self">
<input type="hidden" name="action" value="add">
<br>
<br>
<?php
$text=$_POST['text'];
if(isset($_POST['action']) && $_POST['action']=='add')
{
$query_ins ="INSERT INTO tbl (text) VALUES ('$text')";
$results = mysql_query($query_ins);
if($results)
{
echo("Du har lagt till ");
}
else
{
echo("Det gick inte att lägga till!");
}
}
?>
Lägg till ny typ: <input name="text" type="text" size="20">
<input type="submit" value="ny">
</form>
deaMedlem sedan dec. 2002348 inlägg
tyvärr fungerade inte någon av dessa två sätt!
hm
The_HulkMedlem sedan juni 20031 937 inlägg
har du något annat i PHP-filen?
Visa gärna exakt vad du har, svårt att försöka felsöka annars.
Har du någon konstig inställning i PHP?
du får ta och lägga in lite debug-utskrifter.
skriv ut vad $_POST['action'] $_POST['text'] innehåller.
deaMedlem sedan dec. 2002348 inlägg
ursäkta mig!
Det funkade visst med - if($text != "")
jag hade ändrat tabellnamnet - mitt spånhuvud!
tackar så mycket The_Hulk
The_HulkMedlem sedan juni 20031 937 inlägg
markera gärna tråden som löst.