merianos Δημοσ. 22 Αυγούστου 2012 Δημοσ. 22 Αυγούστου 2012 Τώρα, αν κάποιος ισχυρίζεται ότι τον βολεύει καλύτερα το debugging σε τέτοια σύνταξη, τί να πω, άβυσσος η ψυχή του ανθρώπου. xaxaxaxaxa !!!! +1 για τον Thanocaster. Βασικά είναι καλό να ακολουθείς κάποιους κανόνες όταν γράφεις κώδικα και σαφώς είναι ακόμα καλύτερο να μπορείς να έχεις στη διάθεση σου κάποιο IDE όπου σχεδόν επιβάλει τη σωστή μορφοποίηση του κώδικα σου. Αν θέλεις να διαβάσεις περισσότερα μπορείς να ακολουθήσεις τα παρακάτω άρθρα σχετικά με μορφοποίηση κώδικα και κανόνες που είναι καλό να ακολουθείς : http://ace.apache.or...-standards.html http://en.wikipedia....ogramming_style http://queue.acm.org....cfm?id=2063168 http://en.wikipedia.org/wiki/Comparison_of_programming_languages_(syntax)
bella89 Δημοσ. 22 Αυγούστου 2012 Μέλος Δημοσ. 22 Αυγούστου 2012 Στο συννημενο εχω την εικονα της αναζητησης.Σας παραθετω τους κωδικες απο τρεις σελιδες γιατι κατι δε παει καλα... search.php > <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/> <link rel="stylesheet" type="text/css" href="movies.css"/> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.js"></script> <script type="text/javascript" src="javascript.js"> </script> <link href='ms.ico' rel='SHORTCUT ICON'/> </head> <body> <h1>Αναζήτηση</h1> <form action="searching.php" method="get"> <?php include "menu.php" ?> <br/> <br/><input type="text" name="username" class="txtClass" defaultVal="όνομα χρήστη"/> <input type="text" defaultVal="όνομα" name="fname"class="txtClass"/> <input type="text" defaultVal="Επώνυμο" name="lname"class="txtClass"/> <input type="submit" value="Αναζήτηση" /> </p></form> </body> </html> [\code] searching.php [code] <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/> <link rel="stylesheet" type="text/css" href="movies.css"/> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.js"></script> <script type="text/javascript" src="javascript.js"> </script> <link href='ms.ico' rel='SHORTCUT ICON'/> </head> <body> <h1>Αποτελέσματα αναζήτησης</h1> <?php include "menu.php"; session_start(); $name=$_GET['fname']; $surname=$_GET['lname']; $username=$_GET['username']; IF(($username=="") && ($name=="") &&($surname="")){echo "Παρακαλω εισαγετε κάτι για αναζήτηση";exit;} if(!isset($username)){echo"Δεν υπάρχει καποιο όρισμα";exit;} $con=mysql_connect("localhost","root",""); mysql_select_db('users', $con); $query= "SELECT * FROM users WHERE NAME='$name' or SURNAME='$surname' or username='$username'"; $result=mysql_query($query); echo"<FORM><table> <thead> <tr> <td>";?> <input type='checkbox'name='check'/> <?echo"</td> <td>ΟΝΟΜΑ</td> <td>ΕΠΩΝΥΜΟ</td> <td>E-MAIL</td> <td>ΦΥΛΟ</td> <td>ΟΝΟΜΑ ΧΡΗΣΤΗ</td> </tr> </thead>"; while($rows=mysql_fetch_array($result)){ echo" <tr><td width='10'>"; echo"<input type='checkbox'name='check[]'/>"; echo"</td> <td>". $rows['NAME'] . "</td> <td>". $rows['SURNAME']." </td> <td width='50'>". $rows['EMAIL']." </td> <td>" .$rows['GENDER']. "</td> <td>" .$rows['USERNAME']." </td> </tr>"; } echo"</table></FORM>"; ?> <input type="submit" value="ΔΙΑΓΡΑΦΗ" method="POST" onclick='document.location.href="delete.php"';/> <input type="submit" value="ΕΠΕΞΕΡΓΑΣΙΑ" method="get" onclick='document.location.href="edit.php"';/> </body> </html> delete.php
thanocaster Δημοσ. 22 Αυγούστου 2012 Δημοσ. 22 Αυγούστου 2012 Για editor χρησιμοποιω το Notepad++ απο οταν εγραψα κωδικα πρωτη φορα σε html...οσο για τη στοιχιση και μενα με διευκολυνει να ειναι στην ευθεια απο εκει που ανοιξε μια αγκυλη δηλαδη if{ }. κ τωρα που καταλαβα πως πρεπει να ειναι ο κωδικας γτ πριν δεν ηξερα ποια απο τις δυο γραμμες βγαζει array(0){}. Εφόσον σου δείχνει τον τύπο και το μέγεθος (length) της μεταβλητής, είναι η var_dump. Γενικά διάβαζε το documentation για το τί κάνει η κάθε συνάρτηση που χρησιμοποιείς. ετσι εμφανιζεται αφου γινει η αναζητηση: Δεν φαίνεται κάτι...
dewn735 Δημοσ. 22 Αυγούστου 2012 Δημοσ. 22 Αυγούστου 2012 Τώρα, αν κάποιος ισχυρίζεται ότι τον βολεύει καλύτερα το debugging σε τέτοια σύνταξη, τί να πω, άβυσσος η ψυχή του ανθρώπου. Γεγονός είναι ότι σπάνια φτάνω σε τέτοιο βάθος και όταν φτάνω, ή που θα χρησιμοποιήσω το highlighting των παρενθέσεων από το ide, ή που θα το σπάσω σε γραμμές ><?php echo function(function(function(function())));?> <?php echo function( function( function( function() ) ) );?> <?php echo function( function( function( function() )));?> Θα το δοκιμάσω αυτό που λες σαν γενικότερο κανόνα και θα δω πως θα με βολέψει
thanocaster Δημοσ. 22 Αυγούστου 2012 Δημοσ. 22 Αυγούστου 2012 Πέρα από το αισθητικό, τί δεν πάει καλά;
bella89 Δημοσ. 22 Αυγούστου 2012 Μέλος Δημοσ. 22 Αυγούστου 2012 δεν λειτουργει η διαγραφη και τα αποτελεσματα της αναζητησης δεν ειναι σωστα...Θελω ακομα κ αν σε ενα μονο πεδιο μπει τιμη αναζητησης να ψαξει συμφωνα μ αυτο και τα αλλα να μην το νοιαζει τι τιμες εχουν.
thanocaster Δημοσ. 22 Αυγούστου 2012 Δημοσ. 22 Αυγούστου 2012 Συνοπτικά, πρέπει στο searching.php να βλέπεις τί έχει δώσει ο χρήστης: > <?php $query = "SELECT * FROM `users` WHERE "; if ( isset($_POST['username'] ) { $filters['username'] = "'username' = '" . $_POST['username'] . "'"; } if ( isset($_POST['fname'] ) { $filters['fname'] = "'fname' = '" . $_POST['fname'] . "'"; } if ( isset($_POST['username'] ) { $filters['lname'] = "'lname' = '" . $_POST['lname'] . "'"; } $filters = implode ( " AND ", $filters ); $query .= $filters; $result = mysql_query ( $query ); ?> Ομοίως, για τη διαγραφή πρέπει να έχεις κάποιο φίλτρο για να ξέρει τί να διαγράψει. Πχ κάποιο radio button ή κάποιο checkbox (αν θες να μπορείς να διαγράφεις πολλαπλά αποτελέσματα ταυτόχρονα). Κάνεις κάτι αντίστοιχο και παίζει. ΥΓ> Για μια τελευταία φορά θα σου προτείνω να αλλάξεις, όσο είναι νωρίς, τα mysql commands που έχεις και να δεις το PDO και γενικότερα τα prepared statements. Είναι 99.9% σίγουρο ότι όπως είναι τώρα ο κώδικάς σου, πολύ εύκολα μπορεί κάποιος να αποκτήσει πρόσβαση σε ευαίσθητες πληροφορίες στη βάση σου, ή, ακόμα χειρότερα, να σβήσει ολόκληρους πίνακες.
bella89 Δημοσ. 22 Αυγούστου 2012 Μέλος Δημοσ. 22 Αυγούστου 2012 το εχω κοιταξει αλλα ακομα δεν εχω καταφερι να μπω στο τρυπακι να γραφω ετσι...εμενω στην sql που με διδαξανε..
thanocaster Δημοσ. 22 Αυγούστου 2012 Δημοσ. 22 Αυγούστου 2012 Καλώς, απλά έχε υπ' όψιν πως ο κώδικας που γράφεις τώρα, αργά ή γρήγορα (και μάλλον γρήγορα) θα είναι deprecated και ίσως στις καινούργιες εκδόσεις της PHP να μην τρέχει καν.
bella89 Δημοσ. 22 Αυγούστου 2012 Μέλος Δημοσ. 22 Αυγούστου 2012 αν μπορεις εξηγησε μ λιγο το κωδικα....ευχαριστω
thanocaster Δημοσ. 22 Αυγούστου 2012 Δημοσ. 22 Αυγούστου 2012 Παραδείγματα. Πιο αναλυτικά: > // Connect to database using PDO layer $dbh = new PDO ( 'mysql:host=localhost;dbname=<your_database>', $db_user, $db_pass ); // Prepare the statement $stmt = $dbh->prepare ( "SELECT * FROM `users` WHERE 'username' = ?" ); // Execute the statement, replacing the ? with the actual values $result = $stmt->execute ( array($username) ); var_dump ( $result );
bella89 Δημοσ. 22 Αυγούστου 2012 Μέλος Δημοσ. 22 Αυγούστου 2012 εννοουσα το κωδικα που μου χες γραψει για να μπορεσω να το διαμορφωσω παροτι το αντεγραψα βγαζει λαθος
thanocaster Δημοσ. 22 Αυγούστου 2012 Δημοσ. 22 Αυγούστου 2012 Μη στα βγάζουμε με το τσιγγέλι, τί μήνυμα λάθος βγάζει;
bella89 Δημοσ. 23 Αυγούστου 2012 Μέλος Δημοσ. 23 Αυγούστου 2012 εχοντας αντιγραψει ακριβως το κωδικα σ και υπαρχει στο αρχειο μονο το δικο σ αποσπασμα κωδικα βγάζει:Parse error: syntax error, unexpected '{' in C:\xampp\htdocs\practice\searching.php on line 3
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα