"Φραγμός" από τον Apache

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
Άβαταρ μέλους
stroumfm
Δημοσιεύσεις: 52
Εγγραφή: 21 Ιαν 2007 21:58
Τοποθεσία: Κρήτη

"Φραγμός" από τον Apache

Δημοσίευση από stroumfm » 09 Φεβ 2007 15:13

Γεια σας! Φτιάχνω μια ιστοσελίδα με δυναμική βάση δεδομένων και χρησιμοποιώ php-MySQL-Apache. Έχω φτιάξει ένα script διαγράφει μία εγγραφή απο εναν πίνακα της βάσης μέσω ενός link. Το link ανοιγει ενα αρχειο php που έχει μόνο τον κωδικα της διαγραφής. Οταν λοιπόν πατάω αυτό το link ο στον explorer μου εμφανίζεται το παρακάτω μήνυμα:

Forbidden
You don't have permission to access /"removeargia.php on this server.


------------------------------------------------------------

Apache/2.0.55 (Win32) Server at localhost Port 80

Πως μπορώ να λύσω αυτό το πρόβλημα????? :roll:
Στα script που αποθηκεύουν δεδομένα στη βάση δεδομένων δεν υπάρχει αυτό το πρόβλημα. Δουλεύουν τέλεια.

Άβαταρ μέλους
tix-3-
Δημοσιεύσεις: 827
Εγγραφή: 25 Μαρ 2004 05:12
Τοποθεσία: Θεσσαλονικη-Καβαλα-βεροια(το τριγωνο της καταρας)
Επικοινωνία:

"Φραγμός" από τον Apache

Δημοσίευση από tix-3- » 09 Φεβ 2007 15:17

stroumfm έγραψε:
Forbidden
You don't have permission to access /"removeargia.php on this server.


------------------------------------------------------------

Apache/2.0.55 (Win32) Server at localhost Port 80
Μηπως εχεις βαλει καπου το " μπροστα απο το filename
Αν δεν υπήρχανε οι κνίτες κι'η ηρωίνη...

Άβαταρ μέλους
stroumfm
Δημοσιεύσεις: 52
Εγγραφή: 21 Ιαν 2007 21:58
Τοποθεσία: Κρήτη

"Φραγμός" από τον Apache

Δημοσίευση από stroumfm » 10 Φεβ 2007 17:56

Oxi. Ο κώδικας που χρησιμοποιώ ειναι:

echo '<a href=\"removeargia.php?id=$_POST[aa]\">Διαγραφή</a></td></tr>';

Άβαταρ μέλους
tix-3-
Δημοσιεύσεις: 827
Εγγραφή: 25 Μαρ 2004 05:12
Τοποθεσία: Θεσσαλονικη-Καβαλα-βεροια(το τριγωνο της καταρας)
Επικοινωνία:

"Φραγμός" από τον Apache

Δημοσίευση από tix-3- » 10 Φεβ 2007 18:32

βγαλε τα escape chars (\) και θα εισαι ok.
Αν δεν υπήρχανε οι κνίτες κι'η ηρωίνη...

Άβαταρ μέλους
Rapid-eraser
WebDev Moderator
Δημοσιεύσεις: 6851
Εγγραφή: 05 Απρ 2003 17:50
Τοποθεσία: Πειραιάς
Επικοινωνία:

"Φραγμός" από τον Apache

Δημοσίευση από Rapid-eraser » 11 Φεβ 2007 21:09

stroumfm to basiko to problima eivai oti kaveis escape iliko otav exeis to string sou se single quote.

Ta single quote simouvouv literal expression pou simevei
oti baleis mesa sto quote 8a to tiposei opos exei
escape 8a xriastei va kaveis movo otav baleis kapoio xaraktira mesa se dipla quotes kai 8es va givei escaped gia kapoio logo opos kai episis ama exeis ta idia quotes mesa sta quotes...

px:

echo "Rapid\"eraser";

8a tiposei Rapid"eraser

echo 'Rapid"eraser';

8a tiposei Rapid"eraser (dev xriazete escape)

echo 'Rapid\"eraser';

8a tiposei Rapid\"eraser (mazi me to backslash giati eivai mesa se single quotes)

echo "Rapid'eraser";

8a tiposei Rapid'eraser

echo "Rapid\"eraser";

8a tiposei Rapid"eraser (egive escape)

echo "Rapid\'eraser;

8a tiposei Rapid\'eraser (dev egive escape giati eivai mesa se dipla quotes)


Afta ta oliga (RTFM please)
Cu, Rapid-eraser, Tα αγαθά copies κτώνται.
Love is like oxygen, You get too much you get too high
Not enough and you're gonna die, Love gets you high

Άβαταρ μέλους
Risk
Δημοσιεύσεις: 319
Εγγραφή: 02 Μάιος 2006 01:16
Τοποθεσία: Κάπου εδώ γύρω...
Επικοινωνία:

"Φραγμός" από τον Apache

Δημοσίευση από Risk » 13 Φεβ 2007 00:59

Rapid-eraser αν κατάλαβα καλά λες πως το escape(\) δεν χρειάζεται στον παρακάτω κώδικα:

Κώδικας: Επιλογή όλων

echo '<a href=\"removeargia.php?id=$_POST&#91;aa&#93;\">Διαγραφή</a></td></tr>';
Θα διαφωνήσω μαζί σου αν όντως λες αυτό.
Ας τα πάρουμε από την αρχή ο html κώδικάς για το παραπάνω είναι:

Κώδικας: Επιλογή όλων

<a href="removeargia.php?id=$_POST&#91;aa&#93;">Διαγραφή</a></td></tr>
Πίστεύω πως σε αυτό συμφωνούμε!
Τώρα όταν αυτό μπει μέσα σε echo και για να μην θεωρηθούν τα διπλά quotes σαν χαρακτήρες προς εμφάνιση μπαίνει το escape(\). Αυτό είναι βασικό πράγμα που εγώ τουλάχιστον ήταν από τα πρώτα που έμαθα στην php. Άρα λοιπόν πιστεύω ότι το λάθος δεν βρίσκεται στον χαρακτήρα escape(\).

Stoumfm, αν μου έλεγες πως δεν λειτουργούν ούτε τα script που στέλνουν τα δεδομένα στην βάση τότε κάπου θα πήγιανε το μυαλό μου, τώρα όμως δεν ξέρω.Πάντως στον παραπάνω κώδικα δεν διακρίνω εγώ προσωπικά κάποιο λάθος. Για έλενξε εκ νέου το path.
Εικόνα

Άβαταρ μέλους
Rapid-eraser
WebDev Moderator
Δημοσιεύσεις: 6851
Εγγραφή: 05 Απρ 2003 17:50
Τοποθεσία: Πειραιάς
Επικοινωνία:

"Φραγμός" από τον Apache

Δημοσίευση από Rapid-eraser » 13 Φεβ 2007 09:49

File Risk av ta ema8es movos sou ta ema8es la8os :P
av sta ema8e kapoios pare bourdoula giati sou ema8e oti vave :)

Ksavadiabase afta pou grafw kai trekse tov kodika pou egrapses kai 8a deis oti afto pou tipovei eivai mazi me ta backslash giati DEN KANOUN ESCAPE TA MONA QUOTES !!!
KANOYN LITERAL ECHO OPOS EINAI TO STRING.

escape stnv periptosi twn single quotes xriazete movo to sigle quote giati allios 8a kavei end quote kai meta 8a mivei to telefteo xoris end quote.

Episis Risk stov kodika sou exeis kavei eva simavtiko la8os
exeis baleis tnv metabliti array xoris quotes me tnv indexed timi tou array sav va ntav sta8era .
Bebea n php katalabevei pos logo tou oti eivai mesa se array apla to ksexases kai dior8ovei aftomata to allos , alla ti 8a givotav av ovtos ipirxe n sta8era aa ?

Pavta ma pavta kavoume concat tis metablites mesa se strings n xrisimopioume ta agkistra av gia kapoio logo dev mporoume va kavoume concat.


O tropos pou prepei va graftei me sigle quotes eivai o eksis gia va miv iparxouv peretero problimata

Κώδικας: Επιλογή όλων

echo '<a href="removeargia.php?id='.&#40;int&#41;$_POST&#91;'aa'&#93;.'">Διαγραφή</a></td></tr>';
Gia va eimai ilikrivis egw dev 8a to egrafa kav etsi.

Κώδικας: Επιλογή όλων

<a href="removeargia.php?id=<?=&#40;int&#41;$_POST&#91;'aa'&#93;;?>">Διαγραφή</a></td></tr>
To (int) xriazete movo ama pervas integer times opote me eva type cast diasfalizeis
to oti 8a eivai int tou laxistov osov afora oti efige apo eseva.
Cu, Rapid-eraser, Tα αγαθά copies κτώνται.
Love is like oxygen, You get too much you get too high
Not enough and you're gonna die, Love gets you high

Άβαταρ μέλους
Risk
Δημοσιεύσεις: 319
Εγγραφή: 02 Μάιος 2006 01:16
Τοποθεσία: Κάπου εδώ γύρω...
Επικοινωνία:

"Φραγμός" από τον Apache

Δημοσίευση από Risk » 13 Φεβ 2007 17:00

Κώδικας: Επιλογή όλων

Episis Risk stov kodika sou exeis kavei eva simavtiko la8os
exeis baleis tnv metabliti array xoris quotes me tnv indexed timi tou array sav va ntav sta8era .
Bebea n php katalabevei pos logo tou oti eivai mesa se array apla to ksexases kai dior8ovei aftomata to allos , alla ti 8a givotav av ovtos ipirxe n sta8era aa ? 
Σε αυτό έχει απόλυτο δίκιο, απλά ξέχασα εγώ να τα βάλω τα quotes. Κατ' άλλα τέτοια βασικά λάθη πλέον δεν κάνω!!!!

Τώρα όσο γι'αυτό που διαφωνήσαμε, μετά από δοκιμή, αυτό που είπα εγώ δεν είναι λάθος, αλλά τελικά ούτε αυτό που είπες εσύ (τώρα ακριβώς κατάλαβα τι έλεγες).

Εγώ είπα πως το σωστό είναι αυτό:

Κώδικας: Επιλογή όλων

<?php

echo&#40;"<a href=\"Vivliopoleio/order_form.html\">Φόρμα Παραγγελίας</a>"&#41;;

?>
Και εσύ είπες αυτό:

Κώδικας: Επιλογή όλων

<?php

echo&#40;'<a href="Vivliopoleio/order_form.html">Φόρμα Παραγγελίας</a>'&#41;;

?>
Αλλά εν τέλει και τα δύο σωστά είναι. Όποτε καλά μάλλον τα έμαθα τα βασικά,τώρα μαθαίνω και τις παραλλαγές τους! :wink:
Εικόνα

Άβαταρ μέλους
Rapid-eraser
WebDev Moderator
Δημοσιεύσεις: 6851
Εγγραφή: 05 Απρ 2003 17:50
Τοποθεσία: Πειραιάς
Επικοινωνία:

"Φραγμός" από τον Apache

Δημοσίευση από Rapid-eraser » 13 Φεβ 2007 17:10

malov dev exeis katalabei tpt :P

Distixos to 8ema twv quotes eivai kati pou
polla atoma pou asxolouvte me php (kai isos programatismo gevikotera)
paravoouv kai dev katalabevouv ti akribos simbevei

ksava diabase afta pou grafw (sorry pou eivai se greeklish kai isos prokalouv problima stnv katavoisi.)

Stnv php mporeis va perikliseis ta string se 2 tipous quotes:
- Single quotes '
- Double quotes "

H diafora pou eiparxi metaksi aftov twv dio eivai n eksis.
To single quote eivai literal evo to double quote eivai escapable.

Afto simevei oti otidipote baleis mesa se mova quotes 8a tipo8ei os exei xoris va exeis divatotita escape,
evo stnv periptosi tou double quote exeis tnv divatotita va kaveis escape iliko.

Idiki periptosi eivai otav 8eloume va xrisimopiisoume to idio quote me afto pou exoume klisei to string.
DLD

av exoume klisei to string me ' kai 8eloume va xrisimopiisoume to ' mesa sto string tote to kavoume escape.

av 8eloume va xrisimopisoume to " mesa se string pou exoume klisei se " prepei va to kavoume escape.

av baleis tnv metabliti $test mesa sta '
8a tiposei $test

av baleis tnv metabliti $test mesa sta "
8a tiposei to periexomevo tis $test

idiki periptosi kolimeves metablites kai arrays

echo "$testMelene Rapid-eraser" opou 8a psaksei tnv metabliti $testMelene ... gia va apomovosoume movo to $test to bazoume se agkistra

echo "{$test}Melene Rapid-eraser";

ka8os kai ta array pou ta orizoume me tov idio tropo.


Afto pou ekaves quote apo emeva malov dev ntav apo emeva giati oloi kserouv pos krazo asxima tov kosmo pou kavei echo html stuff opos esfalmeva 8eorises oti protiva.

egw afto pou protiva eivai va kaveis escape se html
va tiposeis to string sav html kai va mpeis se php gia va tiposeis movo tnv metabliti. (ksava koita ti eipa sto proigoumevo post please.)

Afta ta oliga.


PS: Diabase prosektika afta pou grafo kai dose emfasi se ti idous quote avaferome ka8e fora.
Episis 8a parakalousa va peraseis apo to manual va deis to sxetiko section twv strings
Cu, Rapid-eraser, Tα αγαθά copies κτώνται.
Love is like oxygen, You get too much you get too high
Not enough and you're gonna die, Love gets you high

Άβαταρ μέλους
stroumfm
Δημοσιεύσεις: 52
Εγγραφή: 21 Ιαν 2007 21:58
Τοποθεσία: Κρήτη

"Φραγμός" από τον Apache

Δημοσίευση από stroumfm » 13 Φεβ 2007 22:53

THANKS για τις πληροφορίες παιδια! Το πρόβλημα λύθηκε! :)

Άβαταρ μέλους
Rapid-eraser
WebDev Moderator
Δημοσιεύσεις: 6851
Εγγραφή: 05 Απρ 2003 17:50
Τοποθεσία: Πειραιάς
Επικοινωνία:

"Φραγμός" από τον Apache

Δημοσίευση από Rapid-eraser » 13 Φεβ 2007 22:57

opou skaloseis ksava edw eimaste :P
Cu, Rapid-eraser, Tα αγαθά copies κτώνται.
Love is like oxygen, You get too much you get too high
Not enough and you're gonna die, Love gets you high

Άβαταρ μέλους
stroumfm
Δημοσιεύσεις: 52
Εγγραφή: 21 Ιαν 2007 21:58
Τοποθεσία: Κρήτη

"Φραγμός" από τον Apache

Δημοσίευση από stroumfm » 13 Φεβ 2007 23:48

Ευχαριστω!!!!!! Είστε ολοι υπέροχοι!!!
Έχει τιποτα το καταστημα να κερασω? ;)

Άβαταρ μέλους
Risk
Δημοσιεύσεις: 319
Εγγραφή: 02 Μάιος 2006 01:16
Τοποθεσία: Κάπου εδώ γύρω...
Επικοινωνία:

"Φραγμός" από τον Apache

Δημοσίευση από Risk » 15 Φεβ 2007 23:30

Thanks Rapid-eraser για το manual, θα το βάλω στο bookmark μου!!!

Επίσης αυτό με το {$test} που αναφέρεις δεν το γνώριζα,πολύ καλή παρατήρηση!

Τώρα βέβαια δεν κατάλαβα το σχόλιό σου "Δεν έχεις καταλάβει τίποτα". Αν αφορά το post που είχα κάνει παραπάνω, απλά σου εξήγησα πως αυτό που εγώ είχα καταλάβει και χρησιμοποιούσα είναι διαφορετικό από αυτό που εσύ εξήγησες και απλά έκανα μια δοκιμή και με τα δύο τα οποία είδα ότι λειτουργούν και σου έκανα παράθεση των κώδικα πως εγώ το είχα καταλάβει και το χρησιμοποιώ και πως εσύ. Τώρα δεν κατάλαβα από που το έβγαλες το συμπέρασμα ότι δεν έχω καταλάβει τίποτα....το γεγονός ότι ακόμα μπορεί να μαθαίνω κάποια πράγματα στην php δεν σημαίνει ότι δεν έχω καταλάβει και τα βασικά...!!! Περιττό να συνεχίσουμε την κουβέντα παραπάνω!Τhanks για τις παρατηρήσεις!
Εικόνα

Άβαταρ μέλους
Rapid-eraser
WebDev Moderator
Δημοσιεύσεις: 6851
Εγγραφή: 05 Απρ 2003 17:50
Τοποθεσία: Πειραιάς
Επικοινωνία:

"Φραγμός" από τον Apache

Δημοσίευση από Rapid-eraser » 16 Φεβ 2007 01:30

To sigkekrimevo sxolio mou ntav ligo atixes,
kai avaferotav apoklistika sto quote pou ekaves
me afto pou 8eorises oti eipa ...

Nomizo oti eimai poli kseka8aros se oti grafw (toulaxistov se afto edw to forum :P)

Apla prnv kavoume eva comment kalo 8a ntav va ksavadiabazoume ti exei grapsei o allos.

To sigikerimevo 8ema me ta quotes eivai koivotipo problima. Apla to quote pou ekaves sigkekrimeva
ekave echo eva string :P ilikriva se osa post exo kavei dev iparxei oute mia grami me tetoiou idous kodika xexe :P

Toulaxistov pistebw twra aposafivistike to 8ema twv
quotes :) oso perisoteroi toso to kaliterooooooooooo :)
Cu, Rapid-eraser, Tα αγαθά copies κτώνται.
Love is like oxygen, You get too much you get too high
Not enough and you're gonna die, Love gets you high

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες