Απορίες για PHP & MySQL

Sarakinis | Κυρ, 01/13/2008 - 23:05 | 1' | 31

Στείλτε μας τις Απορίες Σας

Φόρουμ
Δώσε αστέρια!

MO: (ψήφοι: 0)

Σχόλια

J@gU@r_J@cK
$get_duties="select pos_en,fac_en,dept_en from pos where person_id=".$_POST["sel_id"];

Τα bold ειναι το πρόβλημα σου μια που δεν χρειάζονται στη $_POST

Μπορεις να την γράψεις και ως $_POST[""sel_id""];

Τρέχω ubuntu 7.0.4, o apache με ps -aux δείχνει ότι τρέχει πλην όμως όταν δίνω /localhost/myexambles/test.php τότε ο browser αντί να τυπώσει το αποτέλεσμα, δημιουργεί επαναλήψεις του αρχείου php στο Desktop και  μπορώ να το σταματήσω μόνο με επανεκίνηση του user (ctrl + alt + backspace). Πως μπορώ να το διορθώσω; Ακόμα και με php αρχεία του phpmyadmin μου κάνει το ίδιο.

 Θα ήθελα να μου πείτε αν υπάρχει τρόπος να κάνω μια εκτύπωση, σε custom σελίδα, μέσω php.

                                                                           Ευχαριστώ

Καλησπέρα, θα πρέπει να μου δώσεις περισσότερες πληροφορίες, τα πάντα γίνονται στην php φαντάσου την σαν την C του internet αν μου περιέγραφες το πρόβλημα θα μπορούσα να ρίξω μια ματιά

kamar] Θα ήθελα να μου πείτε αν υπάρχει τρόπος να κάνω μια εκτύπωση, σε custom σελίδα, μέσω php.

Αν κατάλαβα την ερώτηση,
κοίτα σκετικά με την κλάση fdpf της PHP5.

Παιδιά για να μην ανοίξω νέο 8ρεντ θα γράψω εδώ το πρόβλημα μου.Έκανα εγκαάσταση mysql αλλά όταν πάω να τρέξω ως root βγάζει το εξής μήνυμα:

[root@localhost ~]# mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

Τι μπορεί να φταίει άραγε ??? Αν κάνω το ίδιο σαν απλός χρήστης thanos μπαίνει κανονικά αλλά δε με αφήνει να κάνω τίποτα,αφού δεν έχω δικαιώματα,λέγοντας :

ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mydata'

σε ό,τι και αν πάω να κάνω :( .Μπορεί κάποιος να βοηθήσει ;;;

Κατεβάστε το Happy Linux

Se ti distro pairneis auto to error? kai bebaiwsou oti trexei o mysqld

thanos]Παιδιά για να μην ανοίξω νέο 8ρεντ θα γράψω εδώ το πρόβλημα μου.Έκανα εγκαάσταση mysql αλλά όταν πάω να τρέξω ως root βγάζει το εξής μήνυμα:

[root@localhost ~]# mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

Τι μπορεί να φταίει άραγε ??? Αν κάνω το ίδιο σαν απλός χρήστης thanos μπαίνει κανονικά αλλά δε με αφήνει να κάνω τίποτα,αφού δεν έχω δικαιώματα,λέγοντας :

ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mydata'

σε ό,τι και αν πάω να κάνω :( .Μπορεί κάποιος να βοηθήσει ;;;

Κατεβάστε το Happy Linux

[oprime@dexter]$uname -r|awk '{print $1}'

http://s2.battleknight.gr/index.php?loc=hire&ref=Mzc2MTE=

Ναι το mysqld το έκανα εκκίνηση εγώ χειροκίνητα και το μήνυμα το βγάζει σε Arch.Το ίδιο "λάθος" το βγάζει και στο phpmyadmin,αλλά ντάξει το ίδιο είναι.

Κατεβάστε το Happy Linux

To arch exei ena security option, kai otan dwseis nmap -p 3306 localhost 8a pareis oti einai kleistei eno o daemon trexei, sto /etc/my.cnf prepei na kaneis comment mia grammi pou anaferi network.

otan to kaneis comment kai reboot to Arch dwse nmap -p 3306 localhost kai prepei na einai open, otan einai open 8a sou doulepsei kai to mysql :D

[oprime@dexter]$uname -r|awk '{print $1}'

http://s2.battleknight.gr/index.php?loc=hire&ref=Mzc2MTE=

Πφφφ τι να πω...το έκανα αυτό που είπες μια χαρά φαίνεται και το port ανοιχτό αλλά πάλι το ίδιο πρόβλημα,με όλα να τρέχουν...και ναι πάλι το ίδιο μήνυμα.Δε με θέλει μάλλον :P

Κατεβάστε το Happy Linux

τσεκαρε αν o root,mysql και ο απλος user ανηκουν στο group mysql

[oprime@dexter]$uname -r|awk '{print $1}'

http://s2.battleknight.gr/index.php?loc=hire&ref=Mzc2MTE=

Χμ καλά λες υπάρχει μια ομάδα mysql αλλά είναι κενή και δεν υπάρχει κανείς μέσα :P .Δηλαδή βάζω root,mysql και thanos και ξαναδοκιμάζω ???

H ομάδα:

mysql:x:89:

και για να εισάγω users αυτήν** είναι η εντολή ???

**usermod -G mysql -a root klp....

Κατεβάστε το Happy Linux

εγω το κανο πιο απλα
vi /etc/group ή groups

mysql:x:89:root,mysql,thanos

αυτα

[oprime@dexter]$uname -r|awk '{print $1}'

http://s2.battleknight.gr/index.php?loc=hire&ref=Mzc2MTE=

axaxaxaxaxaax καλά λες και να φανταστείς έτσι είδα το group,α καλά ότι να ναι είμαι.

Tεσπα έβαλα users έκανα και ένα restart μπας και αλλά τίποτααααααααααααα.Πηγαίνοντας από phpmyadmin βγάζει error ότι δεν έχω δικαιώματα και δεν μπορώ να κάνω database,μα τι ^#$%% να φταίει ???

Κατεβάστε το Happy Linux

στο /var/lib πρεπει να εχεις φακελο mysql. σαν root δωσε chown mysql:mysql mysql
μπες μεσα στον φακελο και κανε το ιδιο.

αν δεν εχεισ τον φακελο τρεξε mysql_install_db ή κατι τέτοιο και μετα κάνε το παραπανω.
ο φακελος Mysql ισος να μην ειναι στο /var/lib οποτε ψαξτον.

[oprime@dexter]$uname -r|awk '{print $1}'

http://s2.battleknight.gr/index.php?loc=hire&ref=Mzc2MTE=

Σόρυ αλλά δεν κατάλαβα καλά τι πρέπει να κάνω.Με ls -al παίρνω στον φάκελο /var/lib/mysql τα παρακάτω:

drwxr-xr-x  4 mysql mysql     4096 2008-06-05 21:00 .
drwxr-xr-x 13 root  root      4096 2008-06-04 23:14 ..
-rw-rw----  1 mysql root     10900 2008-06-05 14:59 desktop.err
-rw-rw----  1 mysql mysql 10485760 2008-06-05 21:00 ibdata1
-rw-rw----  1 mysql mysql  5242880 2008-06-05 21:00 ib_logfile0
-rw-rw----  1 mysql mysql  5242880 2008-06-04 23:14 ib_logfile1
-rw-rw----  1 mysql root      5054 2008-06-05 21:00 localhost.err
drwx------  2 mysql mysql     4096 2008-06-04 23:14 mysql
drwx------  2 mysql mysql     4096 2008-06-04 23:14 test

Aν με την παραπάνω εντολή που είπες λογικά θα άλλαζε το file ownership,μια χαρά δεν είναι τώρα ??? Επίσης να σε ευχαριστήσω που ασχολείσαι και με βοηθάς γιατί δεν θα έκανα τίποτα :) .

Κατεβάστε το Happy Linux

-rw-rw---- 1 mysql root 5054 2008-06-05 21:00 localhost.err αλλαξε το ownership
-rw-rw---- 1 mysql root 10900 2008-06-05 14:59 desktop.err αλλαξε το ownership

drwx------ 2 mysql mysql 4096 2008-06-04 23:14 mysql μπες στο φακελο και αλλαξε το ownership σε ολα
drwx------ 2 mysql mysql 4096 2008-06-04 23:14 test το ιδιο με τον mysql φακελο

[oprime@dexter]$uname -r|awk '{print $1}'

http://s2.battleknight.gr/index.php?loc=hire&ref=Mzc2MTE=

Slack thanks για ακόμη μία φορά αλλά τίποτα.Μα καλά τι πείσμωσε και δεν θέλει να δουλέψει...Αν έχεις καμιά άλλη ιδέα πες την αλλιώς μη σκας το αφήνω,αφού δε μας θέλει !!!

Μπας και πρέπει να πειράξω τπτ από phpmyadmin αλλά να μου πεις δε λειτουργεί μέσω κονσόλα θα γίνει από εκεί ???

Εναλλακτική λύση ανεβαίνεις για μια βολτίτσα έρχεσαι και το κάνεις και μετά πάμε καφέ για κέρασμα :) :P :D ;) 8) }:) :) .

Κατεβάστε το Happy Linux

βολτιτσα ακουο... που εισαι? κοιτα κλεισε το pc και το βλεπουμε αυριο
ααα καλα που το θυμιθικα...

κοιτα τα logs sto /var/log/ πρεπει να εχει γραψει mysql.log

[oprime@dexter]$uname -r|awk '{print $1}'

http://s2.battleknight.gr/index.php?loc=hire&ref=Mzc2MTE=

Χεχε ναι βολτίτσα,Λάρισα είμαι,αλλά καλά λες επειδή το κουράσαμε το θεματάκι σήμερα οπότε-_-_-_-_-to be continued....αύριο.

btw υπάρχει το mysql.log αλλά είναι άδειο,Καληνύχτες.

Κατεβάστε το Happy Linux

thanos]Παιδιά για να μην ανοίξω νέο 8ρεντ θα γράψω εδώ το πρόβλημα μου.Έκανα εγκαάσταση mysql αλλά όταν πάω να τρέξω ως root βγάζει το εξής μήνυμα:

[root@localhost ~]# mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

Τι μπορεί να φταίει άραγε ??? Αν κάνω το ίδιο σαν απλός χρήστης thanos μπαίνει κανονικά αλλά δε με αφήνει να κάνω τίποτα,αφού δεν έχω δικαιώματα,λέγοντας :

ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mydata'

σε ό,τι και αν πάω να κάνω :( .Μπορεί κάποιος να βοηθήσει ;;;

Αντίστροφα:
Για το δεύτερο πρόβλημα, απλώς δεν έχεις κάνει GRANT PRIVILEGES στον χρήστη για την βάση που έφτιαξες ως root.

Για το πρώτο, βάλε το hostname σου στο /etc/rc.conf, με τη μορφή
HOSTNAME="myhost"

Πρόσθεσέ το στο /etc/hosts στο τέλος της γραμμής 127.0.0.1.

Κάνε reboot.

Διέγραψε το /var/lib/mysql και εγκατέστησε από την αρχή το πακέτο mysql.

Φαίνεται ότι είναι κλασικό θέμα και η λύση βρίσκεται εδώ:
http://bbs.archlinux.org/viewtopic.php?id=42309

--Stat rosa pristina nomine, nomina nuda tenemus

Σωστος ο dimitris, ομως στο Arch που είχα δεν ειχα αυτο το πρόβλημα με την εγκατασταση της mysql.
Τωρα ψαχνοντας στο google βρήκα http://www.linuxquestions.org/questions/linux-software-2/error-1045-28000-access-denied-for-user-rootlocalhost-using-password-no-459578/
στο τελευταιο reply αναφερει οτι πειραξε το connection method in config.default.php του phpmyadmin.
Ρίξε του μια ματιά

Τωρα απο την αλλη μερια ενδεχομενος να του ζητηθηκε κωδικος προσβασης για την DB (MySQL) οποτε θα πρεπει να δώσει mysql -p και τον κωδικό πρόσβασης για να γίνει το connection.

[oprime@dexter]$uname -r|awk '{print $1}'

http://s2.battleknight.gr/index.php?loc=hire&ref=Mzc2MTE=

ααααααααααα επιτέλους έγινε !!!! ΤΗΧ slack και dimitris για την βοήθεια ακόμη μια φορά...Μπορεί να μην λειτουργεί πάλι το phpmyadmin (μάλλον θα γίνει με το τελευταίο λινκ που έδωσες slack) αλλά τουλάχιστον λειτουργεί μέσα από την κονσόλα η mysql.

happy end :)

Κατεβάστε το Happy Linux

Για πες και σε μας πως το ελισες?

[oprime@dexter]$uname -r|awk '{print $1}'

http://s2.battleknight.gr/index.php?loc=hire&ref=Mzc2MTE=

soz ναι το πρόβλημα λύθηκε με αυτό που έγραψε ο dimitris παραπάνω,έσβησα το /var/lib/mysql και μετά το ξαναέκανα εγκατάσταση.Από εκεί και πέρα λειτούργησε κανονικά από την κονσόλα.Από phpmyadmin δεν λειτουργεί αλλά υποπτεύομαι ότι φταίει ο χρήστης και τα δικαιώματα του.

Κατεβάστε το Happy Linux

slackware1980]J@gU@r_J@cK
$get_duties="select pos_en,fac_en,dept_en from pos where person_id=".$_POST["sel_id"];

Τα bold ειναι το πρόβλημα σου μια που δεν χρειάζονται στη $_POST

Μπορεις να την γράψεις και ως $_POST[""sel_id""];

Ποτέ μην γράφετε ένα query με την μορφή αυτή:

"select pos_en,fac_en,dept_en from pos where person_id=".$_POST["sel_id"];

μπορείς εύκολα να κανεις injection.

Πάντα να κάνετε check οτιδίποτε στέλνει ο user από μια φόρμα με την $_POST ή $_GET
και να επιτρέπετε μόνο τις τιμές που θέλετε εσείς.

Πχ: Αν περιμένουμε αριθμό καλό ειναι να γράφουμε:

if(is_numeric($_POST["sid"])) $sql = "select * where id=".$_POST["sid"]; else die("Invalid data");

Αν δεν περιμένουμε κάποιο αριθμό τότε η λύση είναι: addslashes();

Sarakinis]

Στείλτε μας τις Απορίες Σας

Για χαρά παιδιά!!
Η απορία μου έχει να κάνει με ένα πεδίο κώδικα "makedrop"
Είμαι νέος κ δε ξέρω πολλά από php.Προσπαθώ να κάνω debugging σε ένα ήδη έτοιμο script για να συνδέσω 2 σελίδες.Όταν φτάνω στο σημείο makedrop το σύστημα μου χτυπάει.Αν το αφήσω σχόλιο τότε λειτουργεί κ ο παρακάτω κώδικας.Αν το αφήσω ως έχει, η λειτουργία σταματάει εκεί.κ στις 2 περιπτώσεις δεν μ συνδέεται με τη σελίδα που θέλω.Μπορεί να βοηθήσει κανένας ή να μου αναφέρει κάποιο forum για απορίες για php?

makedrop???
Πως κανεις debug αφου δεν το ιποστιριζει η ιδια η php...
δωσε τον κωδικα στο http://pastebin.com/ και δωσε μας τον κωδικα μιπως και μπορεσει να σε βοθησει καποιος.

[oprime@dexter]$uname -r|awk '{print $1}'

Συγμώμη παιδιά.Νομίζω πως πρέπει να διευκρινίσω κάτι.debug προσπαθώ να κάνω από ένα έτοιμο scipt ενός προγράμματος ανοικτού λογισμικού.επίσης αν και πατάνε php και mysql σε server με open suse 9, δουλεύω πάνω σε windows xp pro με notepad++.Δεν γνωρίζω πως κ αν γινόταν σε linux.Πάντως το πρόβλημα με καίει άμεσα.Τι προτείνετε να κάνω;;;

Ευχαριστώ εκ των προτέρων

Παιδιά συγγνώμη αν είμαι ασχετος με το Θεμα.Θελω να ρωτήσω αν υπάρχει κάποιο tutorial που να λεει πως να φτιάξω προσωπικο site στο linux(πχ ubuntu) από το μηδεν με server τον υπολογιστή στο σπίτι μου?Να λεει δηλ τι ρυθμισεις θέλει ο router,o apache,h mysql,php.Πως κάνουμε την
αντιστοίχιση του localhost με πραγματικό domain name ktl?

Εσύ δεν θες tutorial, τη συμπυκνωμένη γνώση του σύμπαντος θες. Ξεκίνα με τα απλά:

Εγκατάσταση MySQL/Apache/κλπ

και μετά ρώτα καθώς προχωράς. Κάποιος θα βρεθεί να σε βοηθήσει ;)

--
Where is the ripcord, the trap door, the key?
Where is the cartoon escape-hatch for me?