mboost-dp1
Hjælp til PHP
- Forside
- ⟨
- Forum
- ⟨
- Tagwall
Jeg indrømmer blankt at jeg er PHP idiot >_<
Følgende virker IKKE
Følgende VIRKER
Tabellen er selvfølgelig oprettet - jeg synes at have dobbelttjekket det hele, nærmest skrevet af bit - by - bit, men den øverste returnerer hele tiden i "ERROR" >_<
Følgende virker IKKE
<?php
$host="Newz"; // Host name
$username="Newz"; // Mysql username
$password="Newz"; // Mysql password
$db_name="Newz"; // Database name
$tbl_name="e-mail"; // Table name
// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
// Get values from form
$username=$_POST['1'];
$password=$_POST['2'];
$email=$_POST['3'];
$text=$_POST['4'];
// Insert data into mysql
$sql="INSERT INTO $tbl_name(name, email, subject, text)VALUES('$username', '$password', '$email', '$text')";
$result=mysql_query($sql);
// if successfully insert data into database, displays message "Successful".
if($result){
echo "YAY";
}
else {
echo "ERROR";
}
?>
<?php
// close connection
mysql_close();
?>
Følgende VIRKER
<?php
$host="Newz"; // Host name
$username="Newz"; // Mysql username
$password="Newz"; // Mysql password
$db_name="Newz"; // Database name
$tbl_name="web_members"; // Table name
// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
// Get values from form
$username=$_POST['1'];
$password=$_POST['password'];
$email=$_POST['email'];
// Insert data into mysql
$sql="INSERT INTO $tbl_name(username, password, email)VALUES('$username', '$password', '$email')";
$result=mysql_query($sql);
// if successfully insert data into database, displays message "Successful".
if($result){
echo "Successful";
echo "<BR>";
echo "<a href='insert.php'>Back to main page</a>";
}
else {
echo "ERROR";
}
?>
<?php
// close connection
mysql_close();
?>
Tabellen er selvfølgelig oprettet - jeg synes at have dobbelttjekket det hele, nærmest skrevet af bit - by - bit, men den øverste returnerer hele tiden i "ERROR" >_<
Bonusinfo:
Hvis jeg tager <form></form> i den der ikke virker, og sætter den ind på en blank side, og bruger den der virker, så får jeg "success" - selvfølgelig uden data, men stadig?
tl;dr
Min <form> virker fint nok o_O
Hvis jeg tager <form></form> i den der ikke virker, og sætter den ind på en blank side, og bruger den der virker, så får jeg "success" - selvfølgelig uden data, men stadig?
tl;dr
Min <form> virker fint nok o_O
Thoroughbreed (1) skrev:Jeg indrømmer blankt at jeg er PHP idiot >_<
Følgende virker IKKE<?php
$host="Newz"; // Host name
$username="Newz"; // Mysql username
$password="Newz"; // Mysql password
$db_name="Newz"; // Database name
$tbl_name="e-mail"; // Table name
// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
// Get values from form
$username=$_POST['1'];
$password=$_POST['2'];
$email=$_POST['3'];
$text=$_POST['4'];
// Insert data into mysql
$sql="INSERT INTO $tbl_name(name, email, subject, text)VALUES('$username', '$password', '$email', '$text')";
$result=mysql_query($sql);
// if successfully insert data into database, displays message "Successful".
if($result){
echo "YAY";
}
else {
echo "ERROR";
}
?>
<?php
// close connection
mysql_close();
?>
Følgende VIRKER
<?php
$host="Newz"; // Host name
$username="Newz"; // Mysql username
$password="Newz"; // Mysql password
$db_name="Newz"; // Database name
$tbl_name="web_members"; // Table name
// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
// Get values from form
$username=$_POST['1'];
$password=$_POST['password'];
$email=$_POST['email'];
// Insert data into mysql
$sql="INSERT INTO $tbl_name(username, password, email)VALUES('$username', '$password', '$email')";
$result=mysql_query($sql);
// if successfully insert data into database, displays message "Successful".
if($result){
echo "Successful";
echo "<BR>";
echo "<a href='insert.php'>Back to main page</a>";
}
else {
echo "ERROR";
}
?>
<?php
// close connection
mysql_close();
?>
Tabellen er selvfølgelig oprettet - jeg synes at have dobbelttjekket det hele, nærmest skrevet af bit - by - bit, men den øverste returnerer hele tiden i "ERROR" >_<
Prøv at ændre e-mail i $tbl_name="e-mail"; // Table name til email og prøv.
link
Edit:
php kan ikke lide "-".
Barkane (3) skrev:Prøv at ændre e-mail i $tbl_name="e-mail"; // Table name til email og prøv.
link
Edit:
php kan ikke lide "-".
Sådan noget lort ... Tusind tak :D
- ville dog mene at jeg burde få en fejl der, eller ikke have lov til at lave en db med en bindestreg >_<
Rookie mistake, jeg gi'r en bajer hvis du kommer i nærheden af Tønder!
Du skal bruge prepared statements: link
Ideen er at du først angiver dine værdier med ?-tegn, og så bagefter sætter du værdier ind. Dette gør at man ikke kan være kreativ med sit brugernavn (fx noget ala '; DROP TABLE ...)
Ideen er at du først angiver dine værdier med ?-tegn, og så bagefter sætter du værdier ind. Dette gør at man ikke kan være kreativ med sit brugernavn (fx noget ala '; DROP TABLE ...)
#7's løsning er sikkert korrekt, men virker lidt mere avanceret, hvis man ikke lige er super PHP/SQL haj.
Kan I bekræfte at man kunne beskytte koden tilstrækkeligt mod SQL injections vha følgende:
til
Edit: Newz nægter at smide det semikolon op på linjen før, men det er én linje.
Edit #2: Hver gang jeg bare trykker gem, uden at rette noget, så ændrer min post sig. Spændende - nu blev den vist rigtig?
Kan I bekræfte at man kunne beskytte koden tilstrækkeligt mod SQL injections vha følgende:
$username=$_POST['1'];
til
$username=mysql_real_escape_string($_POST['1']);
Edit: Newz nægter at smide det semikolon op på linjen før, men det er én linje.
Edit #2: Hver gang jeg bare trykker gem, uden at rette noget, så ændrer min post sig. Spændende - nu blev den vist rigtig?
Opret dig som bruger i dag
Det er gratis, og du binder dig ikke til noget.
Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.