AionMuster1988 Δημοσ. 17 Οκτωβρίου 2013 Δημοσ. 17 Οκτωβρίου 2013 Καλήμερα σε όλουςΈχω το έξεις θέμα πειραματίζομαι με php, js, ajax και jQuery. Έχω φτιάξει μια εφαρμογή οπού καταχωρώ προσωπικό έχω καταφέρει να κάνω καταχώρηση(μέσα από μια φόρμα που συμπληρώνω πεδία) και να τους διαγράφω άλλα δεν μπορώ να βρω πως να βάλω ένα κουμπί για να μπορώ να τους κάνω επεξεργασία (δηλαδή αν έχω γράψει το όνομα λάθος να μπορώ να το αλλάξω)
Mika Δημοσ. 17 Οκτωβρίου 2013 Δημοσ. 17 Οκτωβρίου 2013 δεν καταλαβα καλα τι ρωτας! αν θες βοηθεια με την εφαρμογη σου θα πρεπει να μας παραθεσεις τον κωδικα σου. αν θες βοηθεια για το πως να κανεις τα πρωτα βηματα εκει που λες μπορεις να πας στο http://www.codecademy.com/learn
Moderators Praetorian Δημοσ. 17 Οκτωβρίου 2013 Moderators Δημοσ. 17 Οκτωβρίου 2013 Καλήμερα σε όλους Έχω το έξεις θέμα πειραματίζομαι με php, js, ajax και jQuery. Έχω φτιάξει μια εφαρμογή οπού καταχωρώ προσωπικό έχω καταφέρει να κάνω καταχώρηση(μέσα από μια φόρμα που συμπληρώνω πεδία) και να τους διαγράφω άλλα δεν μπορώ να βρω πως να βάλω ένα κουμπί για να μπορώ να τους κάνω επεξεργασία (δηλαδή αν έχω γράψει το όνομα λάθος να μπορώ να το αλλάξω) Γιατί δυσκολεύεσαι εκεί; Προσθέτεις ένα κουμπί, το ονομάζεις "edit" ή επεξεργασία, και όταν το πατάει ο χρήστης χρησιμοποιείς javascript για να μπεις σε "edit mode", ενεργοποιείς τα πεδία που θέλεις να μπορεί να αλλάξει ο χρήστης, και εμφανίζεις δύο κουμπιά Update και Cancel. Το Update με ajax θα κάνει update στη βάση σου (αν η εγγραφή όντως υπάρχει/ακόμα υπάρχει κλπ) και σε βγάζει από το edit mode. Το Cancel φέρνει από τη βάση (ajax) ότι υπάρχει αποθηκευμένο στα σχετικά πεδία και σε βγάζει από το edit mode.
AionMuster1988 Δημοσ. 17 Οκτωβρίου 2013 Μέλος Δημοσ. 17 Οκτωβρίου 2013 Χίλια συγνώμη θα γίνω πιο αναλυτικώςΚωδικός καταχώρησης προσωπικού <?php include_once("inc/global.php"); define("UPLOAD_DIR", "resumes/"); define("PROFILE_DIR","images/"); $name=$_POST['name']; $phone=$_POST['phone']; $mobile=$_POST['mobile']; $address=$_POST['address']; $email=$_POST['email']; $website=$_POST['website']; $language= $_POST['language']; $contact_date=$_POST['contact_date']; $experiance=$_POST['experiance']; $job=$_POST['job']; $comment = $_POST['comment']; // process file upload if ($_SERVER["REQUEST_METHOD"] == "POST" && !empty($_FILES["resume"])) { $myFile = $_FILES["resume"]; if ($myFile["error"] !== UPLOAD_ERR_OK) { echo "<p>An error occurred.</p>"; exit; } // ensure a safe filename $fname = preg_replace("/[^A-Z0-9._-]/i", "_", $myFile["name"]); // don't overwrite an existing file $i = 0; $parts = pathinfo($fname); while (file_exists(UPLOAD_DIR . $fname)) { $i++; $fname = $parts["filename"] . "-" . $i . "." . $parts["extension"]; } // preserve file from temporary directory $success = move_uploaded_file($myFile["tmp_name"], UPLOAD_DIR . $fname); if (!$success) { echo "<p>Unable to save file.</p>"; exit; } // set proper permissions on the new file chmod(UPLOAD_DIR . $fname, 0644); echo "<p>Uploaded file saved as " . $fname . ".</p>"; } //image upload if ($_SERVER["REQUEST_METHOD"] == "POST" && !empty($_FILES["profile_image"])) { $myImage = $_FILES["profile_image"]; if ($myImage["error"] !== UPLOAD_ERR_OK) { echo "<p>An error occurred.</p>"; exit; } // verify the file type $fileType = exif_imagetype($_FILES["profile_image"]["tmp_name"]); $allowed = array(IMAGETYPE_GIF, IMAGETYPE_JPEG, IMAGETYPE_PNG); if (!in_array($fileType, $allowed)) { echo "<p>File type is not permitted.</p>"; exit; } // ensure a safe filename $iname = preg_replace("/[^A-Z0-9._-]/i", "_", $myImage["name"]); // don't overwrite an existing file $i = 0; $iparts = pathinfo($iname); while (file_exists(PROFILE_DIR . $iname)) { $i++; $iname = $iparts["filename"] . "-" . $i . "." . $iparts["extension"]; } // preserve file from temporary directory $success = move_uploaded_file($myImage["tmp_name"], PROFILE_DIR . $iname); if (!$success) { echo "<p>Unable to save file.</p>"; exit; } // set proper permissions on the new file chmod(PROFILE_DIR . $iname, 0644); echo "<p>Uploaded file saved as " . $iname . ".</p>"; } $ipath= PROFILE_DIR .$iname; $path = UPLOAD_DIR . $fname; if(mysql_query("INSERT INTO staff(name, phone, mobile, address, email, website, language,contact_date, exp,job_id, resume, profile_image, comment) VALUES ('$name','$phone','$mobile','$address','$email','$website','$language','$contact_date','$experiance','$job','$path','$ipath','$comment')")){ echo "<span style=\"background-color:#00B3FF; color: #FFF;\" >Staff added </span>"; } else{ echo "Error"; } ?> Κώδικας Διαγραφής <?php include_once('inc/global.php'); $id = $_POST['id']; if(isset($_POST['id'])){ mysql_query("UPDATE staff SET active='0' WHERE id=$id")or die("Query error"); echo "<span style=\" color: #FFF;\" >Staf deleted. </span>"; } else{ echo "Error"; } ?> Κώδικας Εμφάνισης Προσωπικού <?php include_once('inc/global.php'); $data = mysql_query(" SELECT * FROM staff WHERE active='1' ")or die("Query error"); echo "<table id='staff_table'>"; while ($info = mysql_fetch_array( $data )) { $id = $info['id']; $job_id=$info['job_id']; $dato=mysql_query(" SELECT * FROM jobs WHERE job_id='$job_id' ")or die("Query error"); $job=mysql_fetch_array( $dato ); echo "<tr><td><a href='#' id='".$id."' class='show_profile'> ".$info['name']."</a></td><td>".$job['job_name']."</td><td><button class='staff_delete' id='".$id."'>Delete</button></td><td><button class='staff_test' id='".$id."'>test</button></td></tr>"; } echo "</table>"; ?> Άπλα όπως φαίνεται στην εικόνα διπλά στο κουμπί delete το κουμπί test θέλω να μου επιστρέφει την φόρμα εισαγωγείς για συγκεκριμένο άτομο να αλάζω καπιο από τα πεδία και με το submit ου πατάω να αλλάζουν και στην βάσηΕλπίζω να έγινα πιο κατανοητός από πριν
παπι Δημοσ. 17 Οκτωβρίου 2013 Δημοσ. 17 Οκτωβρίου 2013 Για αρχη θες ενα κομματι php που να κανει "εδιτ", δηλαδη ενα update sql query. α, δες και αυτο http://php.net/manual/en/function.mysql-real-escape-string.php
Moderators Praetorian Δημοσ. 17 Οκτωβρίου 2013 Moderators Δημοσ. 17 Οκτωβρίου 2013 Τυπικά, και αν καταλαβαίνω καλά, αυτό που θέλεις είναι μια νέα σελίδα που να σου παραθέτει όλες τις καταχωρήσεις προσωπικού που έχουν γίνει (πχ ένας πίνακας /gridview/whatever που το συμπληρώνεις από το select στη βάση σου). Θέλεις ένα τρόπο να κάνεις αναζήτηση στις καταχωρήσεις αυτές (κάποιο filter πάνω στο Table ή κάποιο search module που θα φτιάξεις). Και τέλος θέλεις να επιλέγεις μια καταχώρηση από αυτές και να την κάνεις edit (είτε in-place στον πίνακα ή σε νέα σελίδα με φόρμα παρόμοια του insert). Γενικά, αυτό πρέπει να υπάρχει και έτοιμο (ξέρω πακέτα σε .Net που το κάνουν (πχ DevExpress), λογικά θα υπάρχει κάτι και σε php), και συνήθως αυτά τα πακέτα έχουν και πρόσθετες λειτουργίες, όπως ταξινόμηση των καταχωρήσεων, σελιδοποίηση, filters ανά στήλη, δυνατότητα edit/delete/custom command ανά γραμμή καταχώρησης κλπ.
PC_MAGAS Δημοσ. 17 Οκτωβρίου 2013 Δημοσ. 17 Οκτωβρίου 2013 Χίλια συγνώμη θα γίνω πιο αναλυτικώς Κωδικός καταχώρησης προσωπικού <?php include_once("inc/global.php"); define("UPLOAD_DIR", "resumes/"); define("PROFILE_DIR","images/"); $name=$_POST['name']; $phone=$_POST['phone']; $mobile=$_POST['mobile']; $address=$_POST['address']; $email=$_POST['email']; $website=$_POST['website']; $language= $_POST['language']; $contact_date=$_POST['contact_date']; $experiance=$_POST['experiance']; $job=$_POST['job']; $comment = $_POST['comment']; // process file upload if ($_SERVER["REQUEST_METHOD"] == "POST" && !empty($_FILES["resume"])) { $myFile = $_FILES["resume"]; if ($myFile["error"] !== UPLOAD_ERR_OK) { echo "<p>An error occurred.</p>"; exit; } // ensure a safe filename $fname = preg_replace("/[^A-Z0-9._-]/i", "_", $myFile["name"]); // don't overwrite an existing file $i = 0; $parts = pathinfo($fname); while (file_exists(UPLOAD_DIR . $fname)) { $i++; $fname = $parts["filename"] . "-" . $i . "." . $parts["extension"]; } // preserve file from temporary directory $success = move_uploaded_file($myFile["tmp_name"], UPLOAD_DIR . $fname); if (!$success) { echo "<p>Unable to save file.</p>"; exit; } // set proper permissions on the new file chmod(UPLOAD_DIR . $fname, 0644); echo "<p>Uploaded file saved as " . $fname . ".</p>"; } //image upload if ($_SERVER["REQUEST_METHOD"] == "POST" && !empty($_FILES["profile_image"])) { $myImage = $_FILES["profile_image"]; if ($myImage["error"] !== UPLOAD_ERR_OK) { echo "<p>An error occurred.</p>"; exit; } // verify the file type $fileType = exif_imagetype($_FILES["profile_image"]["tmp_name"]); $allowed = array(IMAGETYPE_GIF, IMAGETYPE_JPEG, IMAGETYPE_PNG); if (!in_array($fileType, $allowed)) { echo "<p>File type is not permitted.</p>"; exit; } // ensure a safe filename $iname = preg_replace("/[^A-Z0-9._-]/i", "_", $myImage["name"]); // don't overwrite an existing file $i = 0; $iparts = pathinfo($iname); while (file_exists(PROFILE_DIR . $iname)) { $i++; $iname = $iparts["filename"] . "-" . $i . "." . $iparts["extension"]; } // preserve file from temporary directory $success = move_uploaded_file($myImage["tmp_name"], PROFILE_DIR . $iname); if (!$success) { echo "<p>Unable to save file.</p>"; exit; } // set proper permissions on the new file chmod(PROFILE_DIR . $iname, 0644); echo "<p>Uploaded file saved as " . $iname . ".</p>"; } $ipath= PROFILE_DIR .$iname; $path = UPLOAD_DIR . $fname; if(mysql_query("INSERT INTO staff(name, phone, mobile, address, email, website, language,contact_date, exp,job_id, resume, profile_image, comment) VALUES ('$name','$phone','$mobile','$address','$email','$website','$language','$contact_date','$experiance','$job','$path','$ipath','$comment')")){ echo "<span style=\"background-color:#00B3FF; color: #FFF;\" >Staff added </span>"; } else{ echo "Error"; } ?> Κώδικας Διαγραφής <?php include_once('inc/global.php'); $id = $_POST['id']; if(isset($_POST['id'])){ mysql_query("UPDATE staff SET active='0' WHERE id=$id")or die("Query error"); echo "<span style=\" color: #FFF;\" >Staf deleted. </span>"; } else{ echo "Error"; } ?> Κώδικας Εμφάνισης Προσωπικού <?php include_once('inc/global.php'); $data = mysql_query(" SELECT * FROM staff WHERE active='1' ")or die("Query error"); echo "<table id='staff_table'>"; while ($info = mysql_fetch_array( $data )) { $id = $info['id']; $job_id=$info['job_id']; $dato=mysql_query(" SELECT * FROM jobs WHERE job_id='$job_id' ")or die("Query error"); $job=mysql_fetch_array( $dato ); echo "<tr><td><a href='#' id='".$id."' class='show_profile'> ".$info['name']."</a></td><td>".$job['job_name']."</td><td><button class='staff_delete' id='".$id."'>Delete</button></td><td><button class='staff_test' id='".$id."'>test</button></td></tr>"; } echo "</table>"; ?> Άπλα όπως φαίνεται στην εικόνα διπλά στο κουμπί delete το κουμπί test θέλω να μου επιστρέφει την φόρμα εισαγωγείς για συγκεκριμένο άτομο να αλάζω καπιο από τα πεδία και με το submit ου πατάω να αλλάζουν και στην βάση Ελπίζω να έγινα πιο κατανοητός από πριν Σημείωση: Πρίν κάνεις το mysql query ότι variable θα μπεί σε στο query string κάντην mysql_real_escape_string η ακόμη αξιοποίησε το PDO και prepared Statements ειδάλλως είναι ευάλωτη σε mysql injection η εφαρμογή σου. Για το PDO: http://php.net/manual/en/book.pdo.php
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα