Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

<?php

 $servername = "localhost";
 $user = "root";
 $pass = "";
 $dbname = "site";
 
 $name = $_POST['name'];
 $lname = $_POST['lname'];
 $email = $_POST['email'];
 
 $conn = mysqli_connect($servername, $user,$pass,$dbname);

if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}

$insert = "INSERT INTO eggrafh VALUES($name,$lname,$email)";
mysql_query($insert);

echo "record has been successfully";

mysql_close();


?>
 
<form action="dbsent.php" method="POST">
      FirstName:<br>
      <input type="text" name="name"><br><br>
      LastName:<br>
      <input type="text" name="lname"><br><br>
      Email:<br>
      <input type="text" name="email"><br><br>
      <input type="submit" value="Submit">
</form>

 

 

Παιδια το προβλημα μου ειναι οτι οταν βαζω ονομα επωνυμο και email παταω submit μου εμφανηζει το μυνημα οτι εγινε η εγγραφη αλλα δεν πανε στον πινακα... τι προβλημα υπαρχει?

Δημοσ.

Έχεις κάνει καμπόσα μικρολαθάκια. Για να μην στα λέω ένα ένα ο κώδικας πρέπει να είναι κάπως έτσι 

<?php
if (isset($_POST['submit'])){
 $servername = "localhost";
 $user = "root";
 $pass = "";
 $dbname = "site";
 
 $name = $_POST['name'];
 $lname = $_POST['lname'];
 $email = $_POST['email'];
 
 $conn = mysqli_connect($servername, $user,$pass,$dbname);

if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}

$insert = "INSERT INTO eggrafi (name, lastname, email)  VALUES('".$name."','".$lname."','".$email."')";
//τα name lastname και email πρέπει να είναι τα αντίστοιχα columns στην database σου.

$result=mysqli_query($conn, $insert);
if ($result){
echo "record has been successfully";
}
mysqli_close($conn);
}

?>
 
<form action="" method="POST">
      FirstName:<br>
      <input type="text" name="name"><br><br>
      LastName:<br>
      <input type="text" name="lname"><br><br>
      Email:<br>
      <input type="text" name="email"><br><br>
      <input type="submit" name="submit" value="Submit">
</form>
Δημοσ.

σε ευχαριστω αδερφε..το εφτιαξα να σε καλα για την βοηθεια σου...παντως ειναι πολυ ωραια γλωσσα η php

Δημοσ.

Φίλε έτσι όπως είναι φτιαγμένη είναι ευάλωτη σε mysql injection. Δηλαδή μπορείς ακόμη και από την φόρμα να τρέξεις DELETE FROM etc.

Καλύτερα έτσι.

<?php
if (isset($_POST['submit'])){
 $servername = "localhost";
 $user = "root";
 $pass = "";
 $dbname = "site";
 
 $name = $_POST['name'];
 $lname = $_POST['lname'];
 $email = $_POST['email'];
 
$escaped_name = mysql_real_escape_string($name);
$escaped_lname = mysql_real_escape_string($lname);
$escaped_email = mysql_real_escape_string($email);
 
 $conn = mysqli_connect($servername, $user,$pass,$dbname);
 
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}
 
$insert = "INSERT INTO eggrafi (name, lastname, email)  VALUES('".$escaped_name"','".$escaped_lname."','".$escaped_email."')";
//τα name lastname και email πρέπει να είναι τα αντίστοιχα columns στην database σου.
 
$result=mysqli_query($conn, $insert);
if ($result){
echo "record has been successfully";
}
mysqli_close($conn);
}
 
?>
 
<form action="" method="POST">
      FirstName:<br>
      <input type="text" name="name"><br><br>
      LastName:<br>
      <input type="text" name="lname"><br><br>
      Email:<br>
      <input type="text" name="email"><br><br>
      <input type="submit" name="submit" value="Submit">
</form>
  • Like 1
Δημοσ.

Chris σχετικα με τις γλωσσες που ανεφερες δεν μου αρεσουν και τοσο σε συγκριση με την PHP ειναι ποιο διαδεδομενη ετσι πιστευω μπορει να κανω και λαθος...

Δημοσ.

Επίσης παράτα τη mysql και χρησιμοποίησε καλύτερα mysqli, καθώς και prepared statement που είπαν κ τα παιδιά. Καλή χρυσή αλλά θέλει πολύ προσοχή για τα θέματα ασφάλειας(sql injection, xss κλπ).

Δημοσ.

<?php

 if (isset($_POST['submit'])){

 $servername = "localhost";
 $user = "root";
 $pass = "";
 $dbname = "site";
 
 $name = $_POST['name'];
 $lname = $_POST['lastname'];
 $password = $_POST['password'];
 
 $conn = mysqli_connect($servername, $user,$pass,$dbname);

if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}

$insert = "INSERT INTO eggrafh (fistname, lastname, password)  VALUES('$name','$lname',$password.)";

$result=mysqli_query($conn, $insert);

if ($result){
echo "record has been successfully";
}

mysqli_close($conn);

}

 

?>

 

 

παιδια οταν τα στελνω στην βαση δεν μου εμφανιζει το μηνυμα τι λαθος υπαρχει?

αλλα κανονικα φενεται οτι τα στελνει χωρις τα εμφανιζει το μηνυμα χωρις κανενα λαθος

να υπαρχει!!!

Δημοσ. (επεξεργασμένο)

Έτσι δουλεύει? 

Υ.Γ. Όταν γράφεις κώδικα για να μας διευκολύνεις βάλτον μέσα σε [cοde] [/cοde]

<?php
 
 if (isset($_POST['submit'])){
 
 $servername = "localhost";
 $username = "root";
 $pass = "";
 $dbname = "site";
 
 $name = $_POST['name'];
 $lastname = $_POST['lastname'];
 $password = $_POST['password'];
 
$connect_mysql=mysql_connect($servername,$username,$password) or die ("Connection Failed!");
$mysql_db=mysql_select_db("site",$connect_mysql) or die ("Could not Connect to Database");
 
$query = "INSERT INTO eggrafh (name, lastname, password) VALUES ('" . name . "','" . lastname"','"password"')";
$result=mysql_query($query) or die("Query Failed : ".mysql_error());
$message="Το μήνυμα σου.";
}
?>
 
 
<?php
mysql_close($connect_mysql);
}
?>
Επεξ/σία από te0ne
Δημοσ.

Α) Έχεις ένα security hole τεράστιο και απο την "ιδιαίτερη" περιοχή της Τζούλιας στο Απαγορευμένο.

Απλά έχε σαν μπούσουλα ότι παίρνεις από $_POST ή $_GET και το περνάς σε Sql Query String το περνάς πρώτα από την:

mysql_real_escape_string();

Πριν το κάνεις στο Query String. H ευπάθεια ασφαλείας λέγεται Link.png Site: SQL Injection και είναι απλή στην αντιμετώπιση και εξίσου εύκολα (αν δεν το αντιμετοπίσεις) να σου κάνουν το site - εφαρμογή σαν προταγωνίστρια σε ταινία με το χ πάνω δεξιά  να φαίνεται στην οθόνη και να αναφέρει 18+ στην θήκη του DVD.

 

Ακόμη σου συνηστώ να μετακομίσεις σε PDO αργότερα και μετά να πας σε ένα framework (Codeigniter είναι εύκολο να το στήσεις και να μάθεις) για να κάνεις web εφαρμογές Like A Boss!!!!!

 

Β)Αν παίξεις έτσι (άνευ framework) Πρέπει να ελέγχεις πάντα αν έχει κάνει Submit. Το πετυχαίνεις βάζοντας στην φόρμα την στο submit button ένα name="ότινάναι" και ελέγχείς αν το isset($_POST['ότινάναι']) είναι true όπως λένε δια κώδικα οι άλλοι.

 

Αν είναι true εκτελείς το Query.

Δημοσ.

Mια παρατήρηση, αν χρησιμοποιήσει prepared statements νομίζω πως δε χρειάζεται το φιλτράρισμα με την real_escape_string, άσε που σου δίνει και πιο ταχύτητα τα prepared...

Δημοσ.

Mια παρατήρηση, αν χρησιμοποιήσει prepared statements νομίζω πως δε χρειάζεται το φιλτράρισμα με την real_escape_string, άσε που σου δίνει και πιο ταχύτητα τα prepared...

Ναι είναι αλήθεια. Αλλά από τον κώδικα καταλαβαίνω (διορθώστεμε αν κάνω λάθος) πως είναι αρχάριος έτσι τον πάμε low low.

 

Αν δεν μάθεις να μπουσουλάς πως θα μάθεις να περπατάς;

  • Like 3

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...