Http ಪೋಸ್ಟ್ ವಿಧಾನಗಳನ್ನು ಪಡೆಯಿರಿ. GET ಮತ್ತು POST ವಿನಂತಿಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಲು ಕಲಿಯುವುದು. ಸರಳ ಪದಗಳಲ್ಲಿ ವಿನಂತಿಗಳನ್ನು ಪೋಸ್ಟ್ ಮಾಡಿ ಮತ್ತು ಪಡೆಯಿರಿ
ಇಂದು ನಾನು ಪ್ರಾಚೀನ ವಿಷಯಗಳನ್ನು ಸ್ವಲ್ಪಮಟ್ಟಿಗೆ ಪರಿಶೀಲಿಸಲು ಬಯಸುತ್ತೇನೆ ಮತ್ತು ವರ್ಲ್ಡ್ ವೈಡ್ ವೆಬ್ನಲ್ಲಿ ದೊಡ್ಡ ಪ್ರಮಾಣದಲ್ಲಿ ಮತ್ತು ಹೆಚ್ಚು ಕಷ್ಟವಿಲ್ಲದೆ ಏನನ್ನು ಕಾಣಬಹುದು ಎಂಬುದನ್ನು ವಿವರಿಸಲು ಬಯಸುತ್ತೇನೆ. ನಾವು HTTP ಪ್ರೋಟೋಕಾಲ್ನ ಹೋಲಿ ಆಫ್ ಹೋಲಿಗಳ ಬಗ್ಗೆ ಪ್ರಾಯೋಗಿಕವಾಗಿ ಮಾತನಾಡುತ್ತೇವೆ: POST ಮತ್ತು GET ವಿನಂತಿಗಳು.
ಏಕೆ ಎಂದು ಹಲವರು ಕೇಳುತ್ತಾರೆ. ನಾನು ಸಂಕ್ಷಿಪ್ತವಾಗಿ ಮತ್ತು ಸ್ಪಷ್ಟವಾಗಿ ಉತ್ತರಿಸುತ್ತೇನೆ: ಅದು ಏನು ಮತ್ತು ಅದು ಏಕೆ ಬೇಕು ಎಂದು ಎಲ್ಲರಿಗೂ ತಿಳಿದಿಲ್ಲ, ಮತ್ತು ಅದರ ಬಗ್ಗೆ ಕಲಿಯಲು ಬಯಸುವವರು (ಐಟಿ ಕ್ಷೇತ್ರದಲ್ಲಿ ಸ್ವಲ್ಪ ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವಾಗ) ಅನೇಕ, ಅನೇಕ ಲೇಖನಗಳಲ್ಲಿ ಏನು ಬರೆಯಲಾಗಿದೆ ಎಂಬುದನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಸಾಧ್ಯವಿಲ್ಲ. ವಿಷಯ. POST ಮತ್ತು GET ವಿನಂತಿಗಳು ಯಾವುವು ಮತ್ತು ಅವುಗಳನ್ನು ಯಾವುದಕ್ಕಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ನನ್ನ ಬೆರಳುಗಳಿಂದ ವಿವರಿಸಲು ನಾನು ಪ್ರಯತ್ನಿಸುತ್ತೇನೆ.
ಆದ್ದರಿಂದ, ಒಂದು ಕಾಲ್ಪನಿಕ ಕಥೆಯಲ್ಲಿ ನಮ್ಮ ಪ್ರಯಾಣವನ್ನು ಪ್ರಾರಂಭಿಸೋಣ ...
ನೀವು ಈ ಸಂದೇಶವನ್ನು ಓದುತ್ತಿದ್ದರೆ, ಇಂಟರ್ನೆಟ್ ಹೇಗಿರುತ್ತದೆ ಮತ್ತು ಇಂಟರ್ನೆಟ್ ಸೈಟ್ ಎಂದರೇನು ಎಂದು ನಿಮಗೆ ತಿಳಿದಿರುತ್ತದೆ. ವರ್ಲ್ಡ್ ವೈಡ್ ವೆಬ್ನ ಕೆಲಸದ ಎಲ್ಲಾ ಜಟಿಲತೆಗಳನ್ನು ಬಿಟ್ಟುಬಿಟ್ಟ ನಂತರ, ನಾವು ಬಳಕೆದಾರ ಮತ್ತು ಸೈಟ್ನಂತಹ ಪರಿಕಲ್ಪನೆಗಳೊಂದಿಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತೇವೆ. ಒಬ್ಬರು ಏನೇ ಹೇಳಲಿ, ಈ ಎರಡು ಘಟಕಗಳು ಹೇಗಾದರೂ ಪರಸ್ಪರ ಸಂವಹನ ನಡೆಸಬೇಕು. ಉದಾಹರಣೆಗೆ, ಜನರು ಸನ್ನೆಗಳು, ಭಾವನೆಗಳು ಮತ್ತು ಮಾತಿನ ಮೂಲಕ ಪರಸ್ಪರ ಸಂವಹನ ನಡೆಸುತ್ತಾರೆ, ಪ್ರಾಣಿಗಳು ಕೆಲವು ಶಬ್ದಗಳನ್ನು ಮಾಡುತ್ತವೆ, ಆದರೆ ಒಬ್ಬ ವ್ಯಕ್ತಿ ಮತ್ತು ಇಂಟರ್ನೆಟ್ ಸಂಪನ್ಮೂಲವು "ಸಂವಹನ" ಮಾಡಿದಾಗ ಏನಾಗುತ್ತದೆ? ಇಲ್ಲಿ ನಾವು ಮಾಹಿತಿ ವಿನಿಮಯದ ಪ್ರಕರಣವನ್ನು ಹೊಂದಿದ್ದೇವೆ, ಅದನ್ನು ಮಾನವ "ಪ್ರಶ್ನೆ-ಉತ್ತರ" ಸಂಭಾಷಣೆಗೆ ವರ್ಗಾಯಿಸಬಹುದು. ಇದಲ್ಲದೆ, ಬಳಕೆದಾರರು ಮತ್ತು ಸೈಟ್ ಎರಡೂ ಪ್ರಶ್ನೆಗಳನ್ನು ಮತ್ತು ಉತ್ತರಗಳನ್ನು ಕೇಳಬಹುದು. ನಾವು ವೆಬ್ಸೈಟ್ ಕುರಿತು ಮಾತನಾಡುವಾಗ, ಅದರ ಪ್ರಶ್ನೆಗಳು ಮತ್ತು ಉತ್ತರಗಳು, ನಿಯಮದಂತೆ, ಯಾವಾಗಲೂ ಒಂದು ಪಠ್ಯ ಅಥವಾ ಇನ್ನೊಂದರೊಂದಿಗೆ ಇಂಟರ್ನೆಟ್ ಪುಟದ ರೂಪದಲ್ಲಿ ವ್ಯಕ್ತಪಡಿಸಲಾಗುತ್ತದೆ. ಇದು ಬಳಕೆದಾರರಿಗೆ ಬಂದಾಗ, ಎಲ್ಲವೂ GET ಮತ್ತು POST ವಿನಂತಿಗಳಿಗೆ ಧನ್ಯವಾದಗಳು (ಸಹಜವಾಗಿ ಮಾತ್ರವಲ್ಲ, ಆದರೆ ನಾವು ಅವರ ಬಗ್ಗೆ ಮಾತನಾಡುತ್ತಿದ್ದೇವೆ).
ಹೀಗಾಗಿ, ಸೈಟ್ಗಳೊಂದಿಗೆ "ಸಂವಹನ" ಮಾಡಲು ನಮ್ಮ ಥೀಮ್ ಆಬ್ಜೆಕ್ಟ್ಗಳು ಅಗತ್ಯವೆಂದು ನಾವು ಕಂಡುಕೊಂಡಿದ್ದೇವೆ. ಇದಲ್ಲದೆ, GET ಮತ್ತು POST ವಿನಂತಿಗಳನ್ನು ಸೈಟ್ಗೆ "ಪ್ರಶ್ನೆಗಳನ್ನು ಕೇಳಲು" ಮತ್ತು ಅವುಗಳನ್ನು "ಉತ್ತರಿಸಲು" ಬಳಸಬಹುದು. ಅವರು ಹೇಗೆ ಭಿನ್ನರಾಗಿದ್ದಾರೆ? ಎಲ್ಲವೂ ತುಂಬಾ ಸರಳವಾಗಿದೆ. ಆದಾಗ್ಯೂ, ವ್ಯತ್ಯಾಸಗಳನ್ನು ವಿವರಿಸಲು, ನಾವು ಒಂದು ಉದಾಹರಣೆಯನ್ನು ಪರಿಗಣಿಸಬೇಕಾಗಿದೆ, ಇದಕ್ಕಾಗಿ ನಾವು ಆನ್ಲೈನ್ ಸ್ಟೋರ್ ಯೋಜನೆಯ ವೆಬ್ಸೈಟ್ ಅನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತೇವೆ.
ನೀವು ಆನ್ಲೈನ್ ಸ್ಟೋರ್ಗಳಲ್ಲಿ ಏನನ್ನಾದರೂ ಹುಡುಕುತ್ತಿರುವಾಗ ನೀವು ಫಿಲ್ಟರ್ಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಹುಡುಕಿದಾಗ, ಸೈಟ್ ವಿಳಾಸವು ಸುಂದರವಾದ “http://magaazin.ru” ನಿಂದ ಭಯಾನಕ “http://magaazin.ru/?category” ಗೆ ತಿರುಗುತ್ತದೆ ಎಂದು ನೀವು ಆಗಾಗ್ಗೆ ಗಮನಿಸಿರಬಹುದು = ಶೂಗಳು&ಗಾತ್ರ=38". ಆದ್ದರಿಂದ, '?' ಚಿಹ್ನೆಯ ನಂತರ ಬರುವ ಎಲ್ಲವೂ ಸೈಟ್ಗೆ ನಿಮ್ಮ GET ವಿನಂತಿಯಾಗಿದೆ ಮತ್ತು ಸಂಪೂರ್ಣವಾಗಿ ನಿಖರವಾಗಿ ಹೇಳುವುದಾದರೆ, ಈ ಸಂದರ್ಭದಲ್ಲಿ ನೀವು "38" ಗಾತ್ರದಿಂದ "ಶೂಸ್" ವರ್ಗದಲ್ಲಿ ಸೈಟ್ ಅನ್ನು ಕೇಳುತ್ತಿದ್ದೀರಿ (ಈ ಉದಾಹರಣೆ ನನ್ನ ತಲೆಯಿಂದ ತೆಗೆದುಕೊಳ್ಳಲಾಗಿದೆ; ವಾಸ್ತವದಲ್ಲಿ, ಎಲ್ಲವೂ ಅಷ್ಟು ಸ್ಪಷ್ಟವಾಗಿ ಕಾಣಿಸದಿರಬಹುದು). ಪರಿಣಾಮವಾಗಿ, ಸೈಟ್ನ ವಿಳಾಸ ಪಟ್ಟಿಯಲ್ಲಿ ಅವುಗಳನ್ನು ಸೂಚಿಸುವ ಮೂಲಕ ನಾವು ಪ್ರಶ್ನೆಗಳನ್ನು ಕೇಳಬಹುದು. ನಿಸ್ಸಂಶಯವಾಗಿ, ಈ ವಿಧಾನವು ಹಲವಾರು ಅನಾನುಕೂಲಗಳನ್ನು ಹೊಂದಿದೆ. ಮೊದಲನೆಯದಾಗಿ, ಕಂಪ್ಯೂಟರ್ನಲ್ಲಿ ಬಳಕೆದಾರರ ಪಕ್ಕದಲ್ಲಿರುವ ಯಾರಾದರೂ ಎಲ್ಲಾ ಡೇಟಾವನ್ನು ಸುಲಭವಾಗಿ ಕಣ್ಣಿಡಬಹುದು, ಆದ್ದರಿಂದ ಪಾಸ್ವರ್ಡ್ಗಳನ್ನು ವರ್ಗಾಯಿಸಲು ಈ ರೀತಿಯ ವಿನಂತಿಯನ್ನು ಬಳಸುವುದು ಹೆಚ್ಚು ಅನಪೇಕ್ಷಿತವಾಗಿದೆ. ಎರಡನೆಯದಾಗಿ, ಸೈಟ್ ವಿಳಾಸ ಕ್ಷೇತ್ರದಿಂದ ವರ್ಗಾಯಿಸಬಹುದಾದ ಸ್ಟ್ರಿಂಗ್ನ ಉದ್ದದ ಮೇಲೆ ಮಿತಿ ಇದೆ, ಅಂದರೆ ಹೆಚ್ಚಿನ ಡೇಟಾವನ್ನು ವರ್ಗಾಯಿಸಲು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ. ಆದಾಗ್ಯೂ, GET ವಿನಂತಿಗಳನ್ನು ಬಳಸುವ ನಿಸ್ಸಂದೇಹವಾದ ಪ್ರಯೋಜನವೆಂದರೆ ಅದರ ಬಳಕೆಯ ಸುಲಭತೆ ಮತ್ತು ಸೈಟ್ ಅನ್ನು ತ್ವರಿತವಾಗಿ ಪ್ರಶ್ನಿಸುವ ಸಾಮರ್ಥ್ಯ, ಇದು ಅಭಿವೃದ್ಧಿಯ ಸಮಯದಲ್ಲಿ ವಿಶೇಷವಾಗಿ ಉಪಯುಕ್ತವಾಗಿದೆ, ಆದರೆ ಇದು ಮತ್ತೊಂದು ಕಥೆ ...
ಈಗ POST ವಿನಂತಿಗಳ ಬಗ್ಗೆ ಮಾತನಾಡೋಣ. ಈ ವಿನಂತಿ ಮತ್ತು ಅದರ ಪ್ರತಿರೂಪದ ನಡುವಿನ ಪ್ರಮುಖ ವ್ಯತ್ಯಾಸವೆಂದರೆ ರವಾನೆಯಾದ ಡೇಟಾದ ಗೌಪ್ಯತೆ ಎಂದು ಸ್ಮಾರ್ಟ್ ಓದುಗರು ಅರಿತುಕೊಂಡಿರಬಹುದು. ನಾವು ಆನ್ಲೈನ್ ಸ್ಟೋರ್ ಅನ್ನು ಪರಿಗಣಿಸಿದರೆ, POST ವಿನಂತಿಯನ್ನು ಬಳಸಿದ ಗಮನಾರ್ಹ ಉದಾಹರಣೆಯೆಂದರೆ ಸೈಟ್ನಲ್ಲಿ ನೋಂದಣಿ. ಸೈಟ್ ನಿಮ್ಮ ಡೇಟಾವನ್ನು ಕೇಳುತ್ತದೆ, ನೀವು ಈ ಡೇಟಾವನ್ನು ಭರ್ತಿ ಮಾಡಿ ಮತ್ತು ನೀವು "ನೋಂದಣಿ" ಬಟನ್ ಅನ್ನು ಕ್ಲಿಕ್ ಮಾಡಿದಾಗ ನಿಮ್ಮ ಉತ್ತರವನ್ನು ನೀವು ಕಳುಹಿಸುತ್ತೀರಿ. ಇದಲ್ಲದೆ, ಈ ಡೇಟಾವನ್ನು ಯಾವುದೇ ರೀತಿಯಲ್ಲಿ ಬಾಹ್ಯವಾಗಿ ಪ್ರದರ್ಶಿಸಲಾಗುವುದಿಲ್ಲ. ಸಾಕಷ್ಟು ದೊಡ್ಡ ಪ್ರಮಾಣದ ಮಾಹಿತಿಯನ್ನು ವಿನಂತಿಸಬಹುದು ಎಂದು ಸಹ ಗಮನಿಸಬೇಕಾದ ಅಂಶವಾಗಿದೆ - ಮತ್ತು POST ವಿನಂತಿಯು ಯಾವುದೇ ನಿರ್ಬಂಧಗಳನ್ನು ಹೊಂದಿಲ್ಲ. ಸರಿ, ನೀವು ಮೈನಸ್ ಅನ್ನು ಸ್ಪರ್ಶಿಸಿದರೆ, ಅಂತಹ ವಿನಂತಿಯನ್ನು ತ್ವರಿತವಾಗಿ ರಚಿಸಲಾಗುವುದಿಲ್ಲ. ವಿಶೇಷ ಕೌಶಲ್ಯವಿಲ್ಲದೆ ನೀವು ಇದನ್ನು ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ. ವಾಸ್ತವದಲ್ಲಿ ಎಲ್ಲವೂ ತುಂಬಾ ಕಷ್ಟಕರವಲ್ಲದಿದ್ದರೂ, ಮತ್ತೊಮ್ಮೆ, ಅದು ಇನ್ನೊಂದು ಕಥೆ.
ಸಾರಾಂಶ ಮಾಡೋಣ. ಬಳಕೆದಾರರು ಮತ್ತು ಸೈಟ್ ನಡುವಿನ "ಸಂವಹನ" ಕ್ಕಾಗಿ POST ಮತ್ತು GET ವಿನಂತಿಗಳು ಅಗತ್ಯವಿದೆ. ಅವು ಮೂಲಭೂತವಾಗಿ ಪರಸ್ಪರ ವಿರುದ್ಧವಾಗಿರುತ್ತವೆ. ನಿರ್ದಿಷ್ಟ ರೀತಿಯ ಪ್ರಶ್ನೆಗಳ ಬಳಕೆಯು ನಿರ್ದಿಷ್ಟ ಸನ್ನಿವೇಶವನ್ನು ಅವಲಂಬಿಸಿರುತ್ತದೆ ಮತ್ತು ಕೇವಲ ಒಂದು ರೀತಿಯ ಪ್ರಶ್ನೆಯನ್ನು ಬಳಸುವುದು ಅತ್ಯಂತ ಅನಾನುಕೂಲವಾಗಿದೆ.
ಆಧುನಿಕ ವೆಬ್ ಸಂಪನ್ಮೂಲಗಳು ಸಂದರ್ಶಕರಿಗೆ ಮಾಹಿತಿಯನ್ನು ಒದಗಿಸುವುದಲ್ಲದೆ, ಅವರೊಂದಿಗೆ ಸಂವಹನ ನಡೆಸುತ್ತವೆ. ಬಳಕೆದಾರರೊಂದಿಗೆ ಸಂವಹನ ನಡೆಸಲು, ನೀವು ಅವನಿಂದ ಕೆಲವು ಮಾಹಿತಿಯನ್ನು ಪಡೆಯಬೇಕು. ಡೇಟಾವನ್ನು ಪಡೆಯಲು ಹಲವಾರು ವಿಧಾನಗಳಿವೆ, ಸಾಮಾನ್ಯ ವಿಧಾನಗಳು ಪಡೆಯಿರಿಮತ್ತು ಪೋಸ್ಟ್. ಮತ್ತು ಅದಕ್ಕೆ ಅನುಗುಣವಾಗಿ PHPಈ ಡೇಟಾ ವರ್ಗಾವಣೆ ವಿಧಾನಗಳಿಗೆ ಬೆಂಬಲವಿದೆ ಪಡೆಯಿರಿಮತ್ತು ಪೋಸ್ಟ್. ಈ ವಿಧಾನಗಳು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ ಎಂಬುದನ್ನು ನೋಡೋಣ.
GET ವಿಧಾನಡೇಟಾ GET ವಿಧಾನಸ್ವೀಕರಿಸಿದ ಮಾಹಿತಿಯನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲು ಸ್ಕ್ರಿಪ್ಟ್ನ URL ಗೆ ಸೇರಿಸುವ ಮೂಲಕ ರವಾನಿಸಲಾಗುತ್ತದೆ. ಈ ವಿಧಾನವನ್ನು ವಿವರಿಸಲು, ಬ್ರೌಸರ್ನ ವಿಳಾಸ ಪಟ್ಟಿಯಲ್ಲಿ ಸಂಪನ್ಮೂಲದ URL ಅನ್ನು ಟೈಪ್ ಮಾಡಿ ಮತ್ತು ಮೊದಲು ಪ್ರಶ್ನಾರ್ಥಕ ಚಿಹ್ನೆಯನ್ನು ಸೇರಿಸಿ (?) ಮತ್ತು ನಂತರ ಸಾಲು ಸಂಖ್ಯೆ=10. ಉದಾಹರಣೆಗೆ
http://domain.ru/script.php?num=10
ನೀವು ಸ್ಥಳೀಯ ಸರ್ವರ್ ಹೊಂದಿದ್ದರೆ, ಸಾಮಾನ್ಯವಾಗಿ ಡೊಮೇನ್ ಲೋಕಲ್ ಹೋಸ್ಟ್ ಆಗಿರುತ್ತದೆ ಮತ್ತು ನಂತರ ಹಿಂದಿನ ನಮೂದು ಹೀಗಿರುತ್ತದೆ
http://localhost/script.php?num=10
ಈ ಸಂದರ್ಭದಲ್ಲಿ, ನಾವು 10 ಕ್ಕೆ ಸಮಾನವಾದ ಪ್ಯಾರಾಮೀಟರ್ ಸಂಖ್ಯೆಯನ್ನು ರವಾನಿಸುತ್ತೇವೆ. ಕೆಳಗಿನ ನಿಯತಾಂಕಗಳನ್ನು ಸೇರಿಸಲು, ಸ್ಕ್ರಿಪ್ಟ್ ಆಂಪರ್ಸಂಡ್ (&) ವಿಭಜಕವನ್ನು ಬಳಸಬೇಕಾಗುತ್ತದೆ, ಉದಾಹರಣೆಗೆ
http://domain.ru/script.php?num=10&type=new&v=text
ಈ ಸಂದರ್ಭದಲ್ಲಿ, ನಾವು ಸ್ಕ್ರಿಪ್ಟ್ಗೆ ಮೂರು ನಿಯತಾಂಕಗಳನ್ನು ರವಾನಿಸಿದ್ದೇವೆ: num ಮೌಲ್ಯ 10, ಮೌಲ್ಯದೊಂದಿಗೆ "ಹೊಸ" ಮತ್ತು v "ಪಠ್ಯ" ಮೌಲ್ಯದೊಂದಿಗೆ ಟೈಪ್ ಮಾಡಿ.
ಸ್ಕ್ರಿಪ್ಟ್ನಲ್ಲಿ ಈ ನಿಯತಾಂಕಗಳನ್ನು ಪಡೆಯಲು ನೀವು ಅಂತರ್ನಿರ್ಮಿತ ರಚನೆಯನ್ನು ಬಳಸಬೇಕಾಗುತ್ತದೆ $_GET $_GET["num"], $_GET["ಪ್ರಕಾರ"],$_GET["v"]. ಈ ರಚನೆಯ ಅಂಶಗಳು ಪಾಸ್ ಮಾಡಿದ ನಿಯತಾಂಕಗಳ ಮೌಲ್ಯಗಳನ್ನು ಒಳಗೊಂಡಿರುತ್ತವೆ. ಈ ಉದಾಹರಣೆಯನ್ನು ಪ್ರದರ್ಶಿಸಲು, ಈ ಕೆಳಗಿನ ವಿಷಯಗಳೊಂದಿಗೆ script.php ಫೈಲ್ ಅನ್ನು ರಚಿಸಿ
ಪ್ರತಿಧ್ವನಿ ($_GET["ಸಂಖ್ಯೆ"]."
");
ಪ್ರತಿಧ್ವನಿ ($_GET["ಪ್ರಕಾರ"]."
");
ಪ್ರತಿಧ್ವನಿ ($_GET["v"]);
?>
ಮತ್ತು ಈಗ ಈ ಫೈಲ್ ಅನ್ನು ಬ್ರೌಸರ್ನಲ್ಲಿ ಕರೆ ಮಾಡಿ
http://path/script.php?num=10&type=new&v=text
ಮತ್ತು ನೀವು ಬ್ರೌಸರ್ ವಿಂಡೋದಲ್ಲಿ ಪಾಸ್ ಪ್ಯಾರಾಮೀಟರ್ಗಳನ್ನು ನೋಡುತ್ತೀರಿ. ಆದರೆ ಹೆಚ್ಚುವರಿ ನಿಯತಾಂಕಗಳಿಲ್ಲದೆ ನೀವು ಈ ಫೈಲ್ ಅನ್ನು http://path/script.php ಎಂದು ಕರೆದರೆ, ಇಂಟರ್ಪ್ರಿಟರ್ ಉತ್ಪಾದಿಸುವ ದೋಷಗಳನ್ನು ನೀವು ನೋಡುತ್ತೀರಿ PHP, $_GET ರಚನೆಯ ಅಂತಹ ಯಾವುದೇ ಅಂಶಗಳಿಲ್ಲ. ಬಳಕೆದಾರರಿಂದ ಸ್ವೀಕರಿಸಿದ ಡೇಟಾವನ್ನು ಪರಿಶೀಲಿಸಲು ಒಂದಕ್ಕಿಂತ ಹೆಚ್ಚು ಲೇಖನಗಳನ್ನು ಮೀಸಲಿಡಬಹುದು, ಆದ್ದರಿಂದ ಈ ಲೇಖನದಲ್ಲಿ ನಾನು ಈ ಅಂಶವನ್ನು ಸ್ಪರ್ಶಿಸುವುದಿಲ್ಲ.
ನೀವು ಬಹುಶಃ ಅರ್ಥಮಾಡಿಕೊಂಡಂತೆ, ಬ್ರೌಸರ್ನ ವಿಳಾಸ ಪಟ್ಟಿಯಲ್ಲಿ ಡೇಟಾವನ್ನು ಟೈಪ್ ಮಾಡಲು ಬಳಕೆದಾರರನ್ನು ಒತ್ತಾಯಿಸುವುದು ತುಂಬಾ ಉತ್ತಮವಲ್ಲ ಮತ್ತು ಸಂಪೂರ್ಣವಾಗಿ ಅನಾನುಕೂಲವಾಗಿದೆ. ಆದ್ದರಿಂದ, ಬಳಕೆದಾರರಿಂದ ಡೇಟಾವನ್ನು ಸ್ವೀಕರಿಸಲು ನೀವು html ಫಾರ್ಮ್ಗಳನ್ನು ಬಳಸಬೇಕಾಗುತ್ತದೆ. ಸರಳ html ಫಾರ್ಮ್ ಅನ್ನು ಬರೆಯೋಣ.
ರಚಿಸಿದ ಫಾರ್ಮ್ ಬಗ್ಗೆ ಸ್ವಲ್ಪ ಕಾಮೆಂಟ್ ಮಾಡೋಣ. ಫಾರ್ಮ್ ಟ್ಯಾಗ್ನೊಂದಿಗೆ ಫಾರ್ಮ್ಗಳನ್ನು ರಚಿಸಲಾಗಿದೆ. ಇನ್ಪುಟ್, ಸೆಲೆಕ್ಟ್, ಟೆಕ್ಸ್ಟೇರಿಯಾ ಟ್ಯಾಗ್ಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಫಾರ್ಮ್ ಕ್ಷೇತ್ರಗಳನ್ನು ರಚಿಸಲಾಗಿದೆ (ನೀವು ಇನ್ನಷ್ಟು ಓದಬಹುದು). ಫಾರ್ಮ್ ಟ್ಯಾಗ್ನಲ್ಲಿ, ಕ್ರಿಯೆಯ ಗುಣಲಕ್ಷಣವು ಫಾರ್ಮ್ ಡೇಟಾವನ್ನು ಸ್ವೀಕರಿಸುವ ಸ್ಕ್ರಿಪ್ಟ್ನ URL ಅನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತದೆ. ನಮ್ಮ ಸಂದರ್ಭದಲ್ಲಿ, ನಾವು ನಮ್ಮ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ script.php ಫೈಲ್ ಅನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ್ದೇವೆ. ವಿಧಾನದ ಗುಣಲಕ್ಷಣವು ಡೇಟಾವನ್ನು ಕಳುಹಿಸುವ ವಿಧಾನವನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತದೆ. ನಾವು ವಿಧಾನವನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ್ದೇವೆ ಪಡೆಯಿರಿ. ಫಾರ್ಮ್ ಡೇಟಾವನ್ನು ಯಾವ ಫೈಲ್ಗೆ ವರ್ಗಾಯಿಸಲಾಗುತ್ತದೆ ಎಂದು ಈಗ ನಮಗೆ ತಿಳಿದಿದೆ ಮತ್ತು ಯಾವ ರೀತಿಯಲ್ಲಿ, ಅದನ್ನು ಎಲ್ಲಿ ನೋಡಬೇಕೆಂದು ಲೆಕ್ಕಾಚಾರ ಮಾಡುವುದು ಮಾತ್ರ ಉಳಿದಿದೆ?!
ಈ ಫಾರ್ಮ್ ಡೇಟಾವನ್ನು URL ಗೆ ಸೇರಿಸುವ ಮೂಲಕ ಬ್ರೌಸರ್ ಮೂಲಕ ವೆಬ್ ಸಂಪನ್ಮೂಲಕ್ಕೆ ರವಾನಿಸಲಾಗುತ್ತದೆ: ಮೊದಲು ಪ್ರಶ್ನಾರ್ಥಕ ಚಿಹ್ನೆ (?) ಇರುತ್ತದೆ, ನಂತರ ನಿಯತಾಂಕಗಳನ್ನು ಆಂಪರ್ಸೆಂಡ್ (&) ಮೂಲಕ ಪ್ರತ್ಯೇಕಿಸಲಾಗುತ್ತದೆ. ಪ್ಯಾರಾಮೀಟರ್ನ ಹೆಸರನ್ನು ಹೆಸರಿನ ಗುಣಲಕ್ಷಣದಿಂದ ತೆಗೆದುಕೊಳ್ಳಲಾಗುತ್ತದೆ, ಅದನ್ನು ಯಾವುದೇ ಫಾರ್ಮ್ ಕ್ಷೇತ್ರಕ್ಕೆ ನಿರ್ದಿಷ್ಟಪಡಿಸಬೇಕು. ನಿಯತಾಂಕದ ಮೌಲ್ಯವು ಕ್ಷೇತ್ರದ ಪ್ರಕಾರವನ್ನು ಅವಲಂಬಿಸಿರುತ್ತದೆ. ಕ್ಷೇತ್ರವು ಪಠ್ಯ ಕ್ಷೇತ್ರವಾಗಿದ್ದರೆ, ಮೌಲ್ಯವು ಬಳಕೆದಾರರು ನಮೂದಿಸಿದ ಪಠ್ಯವಾಗಿರುತ್ತದೆ. ಕ್ಷೇತ್ರವು ಪಟ್ಟಿಯಾಗಿದ್ದರೆ, ರೇಡಿಯೊ ಬಟನ್ಗಳು ಅಥವಾ ಚೆಕ್ ಬಾಕ್ಸ್ಗಳ ಗುಂಪು, ನಂತರ ನಿಯತಾಂಕದ ಮೌಲ್ಯವು ಆಯ್ಕೆಮಾಡಿದ ಅಂಶದ ಮೌಲ್ಯ ಗುಣಲಕ್ಷಣದ ಮೌಲ್ಯವಾಗಿರುತ್ತದೆ. ನಮ್ಮ ಫಾರ್ಮ್ ಅನ್ನು ಉದಾಹರಣೆಯಾಗಿ ಬಳಸಿಕೊಂಡು ನಾನು ವಿವರಿಸುತ್ತೇನೆ. ಬಳಕೆದಾರರು ಇನ್ಪುಟ್ ಕ್ಷೇತ್ರದಲ್ಲಿ 10 ಸಂಖ್ಯೆಯನ್ನು ನಮೂದಿಸಿದರೆ, ನಂತರ ಪ್ಯಾರಾಮೀಟರ್ನ ಹೆಸರು num ಆಗಿರುತ್ತದೆ (ಇನ್ಪುಟ್ ಟ್ಯಾಗ್ನ ಹೆಸರಿನ ಗುಣಲಕ್ಷಣದ ಮೌಲ್ಯ) ಮತ್ತು ಮೌಲ್ಯವು 10 ಆಗಿರುತ್ತದೆ (ಬಳಕೆದಾರರು ನಮೂದಿಸಿದ ಸಂಖ್ಯೆ). ಅದರಂತೆ, ಬ್ರೌಸರ್ "num=10" ಜೋಡಿಯನ್ನು ರಚಿಸುತ್ತದೆ. ಬಳಕೆದಾರರು ಪಟ್ಟಿಯಿಂದ "ಹೌದು" ಆಯ್ಕೆಯನ್ನು ಆರಿಸಿದರೆ, ಪ್ಯಾರಾಮೀಟರ್ನ ಹೆಸರು ಪ್ರಕಾರವಾಗಿರುತ್ತದೆ (ಆಯ್ದ ಟ್ಯಾಗ್ನ ಹೆಸರಿನ ಗುಣಲಕ್ಷಣದ ಮೌಲ್ಯ) ಮತ್ತು ಮೌಲ್ಯವು ಹೌದು (ಆಯ್ಕೆಯ ಮೌಲ್ಯ ಗುಣಲಕ್ಷಣದ ಮೌಲ್ಯವಾಗಿದೆ ಟ್ಯಾಗ್). ಅಂತೆಯೇ, ಬ್ರೌಸರ್ "ಟೈಪ್ = ಹೌದು" ಜೋಡಿಯನ್ನು ರಚಿಸುತ್ತದೆ.
ಈಗ ನಾವು ಈ ಫಾರ್ಮ್ ಅನ್ನು forma.php ಪುಟದಲ್ಲಿ ಇರಿಸುತ್ತೇವೆ.
ಫಾರ್ಮ್ ಕ್ಷೇತ್ರಗಳಲ್ಲಿ ಯಾವುದೇ ಮೌಲ್ಯಗಳನ್ನು ನಮೂದಿಸಿ ಮತ್ತು "ಸಲ್ಲಿಸು" ಬಟನ್ ಕ್ಲಿಕ್ ಮಾಡಿ. ಬಟನ್ ಅನ್ನು ಕ್ಲಿಕ್ ಮಾಡಿದ ನಂತರ, ಬ್ರೌಸರ್ ಮತ್ತೊಂದು ಪುಟವನ್ನು ತೆರೆಯುತ್ತದೆ (script.php) ಮತ್ತು ನೀವು ನಮೂದಿಸಿದ ಡೇಟಾವನ್ನು ಬ್ರೌಸರ್ ವಿಂಡೋದಲ್ಲಿ ಪ್ರದರ್ಶಿಸಲಾಗುತ್ತದೆ. ಏಕೆ ಎಂಬುದು ಸ್ಪಷ್ಟವಾಗಿದೆ ಎಂದು ನಾನು ಭಾವಿಸುತ್ತೇನೆ: ಬ್ರೌಸರ್ ಡೇಟಾವನ್ನು script.php ಸ್ಕ್ರಿಪ್ಟ್ಗೆ ರವಾನಿಸುತ್ತದೆ ಮತ್ತು ಸ್ಕ್ರಿಪ್ಟ್ನಲ್ಲಿ ಈ ಡೇಟಾವನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಪರದೆಯ ಮೇಲೆ ಪ್ರದರ್ಶಿಸಲಾಗುತ್ತದೆ.
ಪೋಸ್ಟ್ ವಿಧಾನಈಗ ವಿಧಾನವು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ನೋಡೋಣ ಪೋಸ್ಟ್.
ಬಳಸಿಕೊಂಡು ಡೇಟಾವನ್ನು ಕಳುಹಿಸಲು ಪೋಸ್ಟ್ನೀವು HTML ಫಾರ್ಮ್ಗಳನ್ನು ಬಳಸಬೇಕಾಗುತ್ತದೆ. ನಮಗೆ ನೆನಪಿರುವಂತೆ, ಫಾರ್ಮ್ ಟ್ಯಾಗ್ನ ವಿಧಾನ ಗುಣಲಕ್ಷಣವು ಫಾರ್ಮ್ ಡೇಟಾವನ್ನು ಕಳುಹಿಸುವ ವಿಧಾನಕ್ಕೆ ಕಾರಣವಾಗಿದೆ. ಆದ್ದರಿಂದ, ನೀವು ಫಾರ್ಮ್ ಟ್ಯಾಗ್ನ ವಿಧಾನ ಗುಣಲಕ್ಷಣದಲ್ಲಿ POST ಮೌಲ್ಯವನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಬೇಕಾಗಿದೆ. ಇಲ್ಲದಿದ್ದರೆ, ಫಾರ್ಮ್ GET ವಿಧಾನದಂತೆಯೇ ಇರಬಹುದು. GET ವಿಧಾನವನ್ನು ಬಳಸಿಕೊಂಡು ಡೇಟಾವನ್ನು ರವಾನಿಸಲು ನಾವು ಈಗಾಗಲೇ ಬಳಸಿರುವ ನಮ್ಮ ಫಾರ್ಮ್ ಅನ್ನು POST ವಿಧಾನವನ್ನು ಬಳಸಿಕೊಂಡು ರವಾನಿಸಲು ಬದಲಾಯಿಸೋಣ.
ನೀವು ನೋಡುವಂತೆ, ವಿಧಾನ ಮತ್ತು ಕ್ರಿಯೆಯ ಗುಣಲಕ್ಷಣಗಳನ್ನು ಹೊರತುಪಡಿಸಿ ರೂಪವು ಒಂದೇ ಆಗಿರುತ್ತದೆ. ಡೇಟಾವನ್ನು ಈಗ script_post.php ಸ್ಕ್ರಿಪ್ಟ್ಗೆ ರವಾನಿಸಲಾಗುತ್ತದೆ. ನಮ್ಮ ಫಾರ್ಮ್ ಅನ್ನು forma_post.php ಪುಟದಲ್ಲಿ ಇರಿಸೋಣ.
ಈಗ ನಾವು ನಮ್ಮ ಫಾರ್ಮ್ ಡೇಟಾವನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುವ ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಬರೆಯಬೇಕಾಗಿದೆ.
ಪಾಸ್ ಮಾಡಿದ ವಿಧಾನವನ್ನು ಬಳಸಿಕೊಂಡು ಸ್ಕ್ರಿಪ್ಟ್ನಲ್ಲಿ ಡೇಟಾವನ್ನು ಸ್ವೀಕರಿಸಲು ಪೋಸ್ಟ್ಅಂತರ್ನಿರ್ಮಿತ ರಚನೆಯನ್ನು ಬಳಸಬೇಕಾಗುತ್ತದೆ $_POST. ಈ ರಚನೆಯ ಕೀಲಿಗಳು ನಿಯತಾಂಕಗಳ ಹೆಸರುಗಳಾಗಿವೆ. ನಮ್ಮ ಸಂದರ್ಭದಲ್ಲಿ ನಾವು ಬಳಸಬೇಕಾಗಿದೆ $_POST["num"], $_POST["ಪ್ರಕಾರ"],$_POST["v"]. ಈ ರಚನೆಯ ಅಂಶಗಳು ವರ್ಗಾವಣೆಗೊಂಡ ಡೇಟಾದ ಮೌಲ್ಯಗಳನ್ನು ಒಳಗೊಂಡಿರುತ್ತವೆ. ನೀವು ನೋಡುವಂತೆ, GET ವಿಧಾನವನ್ನು ಬಳಸುವುದರಿಂದ ವ್ಯತ್ಯಾಸವನ್ನು $_POST ರಚನೆಯ ಬಳಕೆಯಲ್ಲಿ ಮಾತ್ರ ವ್ಯಕ್ತಪಡಿಸಲಾಗುತ್ತದೆ. ಆದ್ದರಿಂದ, script_post.php ಫೈಲ್ ಅನ್ನು ಬರೆಯಲು ನಮಗೆ ಕಷ್ಟವಾಗುವುದಿಲ್ಲ:
ಪ್ರತಿಧ್ವನಿ ($_POST["ಸಂಖ್ಯೆ"]."
");
ಪ್ರತಿಧ್ವನಿ ($_POST["ಪ್ರಕಾರ"]."
");
ಪ್ರತಿಧ್ವನಿ ($_POST["v"]);
?>
ಈಗ ನಿಮ್ಮ ಬ್ರೌಸರ್ನಲ್ಲಿ forma_post.php ಫೈಲ್ ತೆರೆಯಿರಿ. ಫಾರ್ಮ್ ಕ್ಷೇತ್ರಗಳಲ್ಲಿ ಕೆಲವು ಡೇಟಾವನ್ನು ನಮೂದಿಸಿ ಮತ್ತು "ಸಲ್ಲಿಸು" ಬಟನ್ ಕ್ಲಿಕ್ ಮಾಡಿ. ಈಗ, POST ವಿಧಾನ ಮತ್ತು GET ವಿಧಾನದ ನಡುವಿನ ವ್ಯತ್ಯಾಸವನ್ನು ನೀವು ಬಹುಶಃ ಗಮನಿಸಿದ್ದೀರಿ - ಬ್ರೌಸರ್ನ ವಿಳಾಸ ಪಟ್ಟಿಯಲ್ಲಿ ಫಾರ್ಮ್ ಡೇಟಾ ಕಾಣಿಸಲಿಲ್ಲ. ವಿಧಾನದಿಂದ ಡೇಟಾ ಪೋಸ್ಟ್ಬ್ರೌಸರ್ ವಿಳಾಸ ಪಟ್ಟಿಯ ಮೂಲಕ ರವಾನಿಸಲಾಗುವುದಿಲ್ಲ. ಇದು ನೆನಪಿಡುವ ಗಮನಾರ್ಹ ವ್ಯತ್ಯಾಸವಾಗಿದೆ.
IN PHPಡೇಟಾವನ್ನು ಹೇಗೆ ಕಳುಹಿಸಲಾಗಿದೆ ಎಂಬುದರ ಹೊರತಾಗಿಯೂ - POST ವಿಧಾನ ಅಥವಾ GET ವಿಧಾನ - ನೀವು $_REQUEST ರಚನೆಯನ್ನು ಬಳಸಿಕೊಂಡು ಡೇಟಾವನ್ನು ಸ್ವೀಕರಿಸಬಹುದು. GET ಮತ್ತು POST ವಿಧಾನಗಳ ಹೋಲಿಕೆ GET ವಿಧಾನವನ್ನು ಬಳಸುವಾಗ, URL ಗೆ ಸೇರಿಸುವ ಮೂಲಕ ಡೇಟಾವನ್ನು ವರ್ಗಾಯಿಸಲಾಗುತ್ತದೆ. ಹೀಗಾಗಿ, ಅವರು ಬಳಕೆದಾರರಿಗೆ ಗೋಚರಿಸುತ್ತಾರೆ, ಇದು ಭದ್ರತಾ ದೃಷ್ಟಿಕೋನದಿಂದ ಯಾವಾಗಲೂ ಉತ್ತಮವಾಗಿಲ್ಲ. ಅಲ್ಲದೆ, ವರ್ಗಾಯಿಸಲಾದ ಗರಿಷ್ಠ ಪ್ರಮಾಣದ ಡೇಟಾವು ಬ್ರೌಸರ್ನ ಮೇಲೆ ಅವಲಂಬಿತವಾಗಿರುತ್ತದೆ - ಬ್ರೌಸರ್ನ ವಿಳಾಸ ಪಟ್ಟಿಯಲ್ಲಿರುವ ಗರಿಷ್ಠ ಅನುಮತಿಸುವ ಸಂಖ್ಯೆಯ ಅಕ್ಷರಗಳ ಮೇಲೆ.
POST ವಿಧಾನವನ್ನು ಬಳಸುವಾಗ, ಡೇಟಾವು ಬಳಕೆದಾರರಿಗೆ ಗೋಚರಿಸುವುದಿಲ್ಲ (ಬ್ರೌಸರ್ ವಿಳಾಸ ಪಟ್ಟಿಯಲ್ಲಿ ಪ್ರದರ್ಶಿಸಲಾಗುವುದಿಲ್ಲ). ಮತ್ತು ಆದ್ದರಿಂದ ಅವು ಹೆಚ್ಚು ಸುರಕ್ಷಿತವಾಗಿರುತ್ತವೆ ಮತ್ತು ಪರಿಣಾಮವಾಗಿ, ಈ ಡೇಟಾವನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುವ ಪ್ರೋಗ್ರಾಂ ಸುರಕ್ಷತೆಯ ದೃಷ್ಟಿಯಿಂದ ಹೆಚ್ಚು ರಕ್ಷಿಸಲ್ಪಟ್ಟಿದೆ. ಅಲ್ಲದೆ, ರವಾನೆಯಾದ ಡೇಟಾದ ಪ್ರಮಾಣವು ಪ್ರಾಯೋಗಿಕವಾಗಿ ಅನಿಯಮಿತವಾಗಿದೆ.
ಡೇಟಾ ವರ್ಗಾವಣೆ ವಿಧಾನವನ್ನು ಆಯ್ಕೆಮಾಡುವಾಗ, ನೀವು ಮೇಲಿನ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಗಣನೆಗೆ ತೆಗೆದುಕೊಂಡು ಹೆಚ್ಚು ಸೂಕ್ತವಾದ ವಿಧಾನವನ್ನು ಆರಿಸಬೇಕಾಗುತ್ತದೆ.
ಅವರು ಒಂದೇ ರೀತಿಯಲ್ಲಿ ಕೆಲಸ ಮಾಡುತ್ತಾರೆ ಎಂಬುದು ಅವರಿಗೆ ಸಾಮಾನ್ಯವಾಗಿದೆ. ಅವುಗಳ ನಡುವೆ ತಾಂತ್ರಿಕವಾಗಿ ಯಾವುದೇ ವ್ಯತ್ಯಾಸವಿಲ್ಲ. ಆದರೆ ಸೈದ್ಧಾಂತಿಕ ವ್ಯತ್ಯಾಸಗಳಿವೆ.
PHP ಯ ಸಂದರ್ಭದಲ್ಲಿ ನಾನು ಅವರ ಬಗ್ಗೆ ಮಾತನಾಡುತ್ತೇನೆ. HTTP ಪ್ರೋಟೋಕಾಲ್ PHP ಗೆ ಪರೋಕ್ಷವಾಗಿ ಸಂಬಂಧಿಸಿದೆ ಎಂಬುದನ್ನು ದಯವಿಟ್ಟು ಗಮನಿಸಿ ಏಕೆಂದರೆ ಇದನ್ನು html ಪುಟಗಳನ್ನು ವಿನಿಮಯ ಮಾಡಿಕೊಳ್ಳಲು ರಚಿಸಲಾಗಿದೆ ಮತ್ತು PHP ಎರಡರ ಸಾಮರ್ಥ್ಯಗಳನ್ನು ಸರಳವಾಗಿ ವಿಸ್ತರಿಸುತ್ತದೆ.
ಡೇಟಾವನ್ನು ಸ್ವೀಕರಿಸಲು GET ವಿನಂತಿಯನ್ನು ಬಳಸಲಾಗುತ್ತದೆ ಮತ್ತು ಕಳುಹಿಸಲು POST ಅನ್ನು ಬಳಸಲಾಗುತ್ತದೆ. (ತಾಂತ್ರಿಕವಾಗಿ ಅವರು ಒಂದೇ ರೀತಿ ಕೆಲಸ ಮಾಡುತ್ತಾರೆ ಎಂಬುದನ್ನು ನೆನಪಿಡಿ).
ಆದ್ದರಿಂದ, PHP ಯ ಸಂದರ್ಭದಲ್ಲಿ, ಈ ಸಿದ್ಧಾಂತದ ಆಧಾರದ ಮೇಲೆ, ನಾವು ಈ ಕೆಳಗಿನವುಗಳನ್ನು ಮಾಡಿದ್ದೇವೆ:
1. ಪ್ರತಿ ಬಾರಿ ನೀವು PHP ಅನ್ನು ಪ್ರಾರಂಭಿಸಿದಾಗ, ಸೂಪರ್ ಗ್ಲೋಬಲ್ ಅರೇಗಳನ್ನು ($_GET, $_POST) ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ ರಚಿಸಲಾಗುತ್ತದೆ.
2. ಪ್ರಶ್ನೆ ಸ್ಟ್ರಿಂಗ್ನಲ್ಲಿ ಪ್ರಶ್ನಾರ್ಥಕ ಚಿಹ್ನೆ(?) ಇದ್ದರೆ. ಎಲ್ಲವನ್ನೂ ಪರಿಗಣಿಸಿದ ನಂತರ ನಿಯತಾಂಕಗಳುವಿನಂತಿಯನ್ನು ಪಡೆಯಿರಿ, ಅವುಗಳನ್ನು "ಕೀ" = "ಮೌಲ್ಯ" ಸ್ವರೂಪದಲ್ಲಿ ಪ್ರಸ್ತುತಪಡಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಆಂಪರ್ಸಂಡ್ ಅಕ್ಷರ (&) ಅನ್ನು ಡಿಲಿಮಿಟರ್ ಆಗಿ ಬಳಸಲಾಗುತ್ತದೆ.
ಉದಾಹರಣೆ:
GET /index.php?name=Andrey&surname=Galkin
ಇದು ಕ್ವೆರಿ ಸ್ಟ್ರಿಂಗ್ ಆಗಿದೆ, 2 ಪ್ಯಾರಾಮೀಟರ್ಗಳಿವೆ. ಈ ನಿಯತಾಂಕಗಳು $_GET ಅರೇಗೆ ಹೋಗುತ್ತವೆ.
3. $_POST ಅನ್ನು ಬೇರೆ ರೀತಿಯಲ್ಲಿ ತುಂಬಲಾಗಿದೆ. ಈ ರಚನೆಯ ವಿಷಯಗಳನ್ನು "ವಿನಂತಿ ಹೆಡರ್" ನಿಂದ ತುಂಬಿಸಲಾಗಿದೆ. ಅಂದರೆ, ನೋಟದಿಂದ ಸ್ಪಷ್ಟವಾಗಿ ಮರೆಮಾಡಲಾಗಿರುವ ಸ್ಥಳದಿಂದ. ಅಂತಹ ಹೆಡರ್ಗಳನ್ನು ರಚಿಸುವ ಎಲ್ಲಾ ಕೆಲಸಗಳನ್ನು ಬ್ರೌಸರ್ ನೋಡಿಕೊಳ್ಳುತ್ತದೆ. ಕೆಲವೊಮ್ಮೆ ಏನನ್ನಾದರೂ ಹಸ್ತಚಾಲಿತವಾಗಿ ಶೀರ್ಷಿಕೆಗಳಲ್ಲಿ ಸಂಪಾದಿಸಲಾಗಿದ್ದರೂ ಸಹ.
ಹೆಚ್ಚಾಗಿ, ಪೋಸ್ಟ್ ವಿನಂತಿಯನ್ನು ರೂಪಗಳಲ್ಲಿ ಬಳಸಲಾಗುತ್ತದೆ (ಡೇಟಾವನ್ನು ಕಳುಹಿಸಲು).
ಉದಾಹರಣೆಗೆ, ನಾವು 2 ಕ್ಷೇತ್ರಗಳೊಂದಿಗೆ ಲಾಗಿನ್ ಫಾರ್ಮ್ ಅನ್ನು ಹೊಂದಿದ್ದೇವೆ: ಲಾಗಿನ್ ಮತ್ತು ಪಾಸ್ವರ್ಡ್.
ನಾವು GET ವಿಧಾನವನ್ನು ಬಳಸುತ್ತಿದ್ದೇವೆ ಎಂದು ಊಹಿಸೋಣ. ನಂತರ, ಫಾರ್ಮ್ ಅನ್ನು ಸಲ್ಲಿಸುವಾಗ, ನಾವು ಈ ಕೆಳಗಿನ ವಿಳಾಸಕ್ಕೆ ಹೋಗುತ್ತೇವೆ /login.php?login=Andrey&password=123 ಅಂತಹ ಮಾಹಿತಿಯನ್ನು ಈ ರೀತಿಯಲ್ಲಿ ರವಾನಿಸುವುದು ಸುರಕ್ಷಿತವಲ್ಲ ಎಂದು ನೀವು ಒಪ್ಪುತ್ತೀರಿ. ಯಾರಾದರೂ ನಿಮ್ಮ ಬ್ರೌಸರ್ ಅನ್ನು ತೆರೆಯಬಹುದು ಮತ್ತು ಸೈಟ್ ವಿಳಾಸವನ್ನು ನಮೂದಿಸಲು ಪ್ರಾರಂಭಿಸಿ, ಅವರು ಇತಿಹಾಸದಿಂದ ನಿಮ್ಮ ಪಾಸ್ವರ್ಡ್ಗಳು ಮತ್ತು ಲಾಗಿನ್ಗಳನ್ನು ನೋಡಬಹುದು.
ಆದರೆ ನಾವು POST ವಿಧಾನವನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಿದರೆ, ನಾವು ಈ ಕೆಳಗಿನ ವಿನಂತಿಯನ್ನು ಸ್ವೀಕರಿಸುತ್ತೇವೆ:
POST /login.php (login=Andrey&password=123) ಬ್ರಾಕೆಟ್ಗಳಲ್ಲಿ ಏನಿದೆಯೋ ಅದನ್ನು ಮರೆಮಾಡಲಾಗುತ್ತದೆ ಮತ್ತು ಬ್ರೌಸರ್ನಲ್ಲಿ ಯಾವುದೇ ರೀತಿಯಲ್ಲಿ ಉಳಿಸಲಾಗುವುದಿಲ್ಲ.
ಅದನ್ನು ಸಂಕ್ಷಿಪ್ತಗೊಳಿಸಲು:
GET ಎಂದರೆ ನಿರ್ದಿಷ್ಟ ಪುಟವನ್ನು ನಿರ್ದಿಷ್ಟ ರೂಪದಲ್ಲಿ ಪಡೆಯುವುದು (ವಿಂಗಡಣೆ, ಪ್ರಸ್ತುತ ಬ್ಲಾಗ್ ಪುಟ, ಹುಡುಕಾಟ ಪಟ್ಟಿ, ಇತ್ಯಾದಿ).
ಪೋಸ್ಟ್ - ಪುಟದ ಪ್ರದರ್ಶನದ ಮೇಲೆ ಪರಿಣಾಮ ಬೀರದ ಡೇಟಾವನ್ನು ಕಳುಹಿಸಲು, ಈ ಡೇಟಾವು ಸ್ಕ್ರಿಪ್ಟ್ ಫಲಿತಾಂಶದ ಮೇಲೆ ಮಾತ್ರ ಪರಿಣಾಮ ಬೀರುತ್ತದೆ (ಲಾಗಿನ್ಗಳು, ಪಾಸ್ವರ್ಡ್ಗಳು, ಕ್ರೆಡಿಟ್ ಕಾರ್ಡ್ ಸಂಖ್ಯೆಗಳು, ಸಂದೇಶಗಳು, ಇತ್ಯಾದಿ.).
ಮತ್ತು ಇನ್ನೊಂದು ಒಳ್ಳೆಯ ಸುದ್ದಿ ಎಂದರೆ ಅವುಗಳನ್ನು ಸಂಯೋಜಿಸಬಹುದು, ಉದಾಹರಣೆಗೆ
POST /index.php?page=login (login=Andrey&password=123) ಇದರಿಂದ ಏನಾಗುತ್ತದೆ ಮತ್ತು ಯಾವ ನಿಯತಾಂಕಗಳು ಯಾವ ಶ್ರೇಣಿಗೆ ಹೋಗುತ್ತವೆ ಎಂಬುದನ್ನು ನಾನು ಈಗಾಗಲೇ ಸಾಕಷ್ಟು ವಿವರಿಸಿದ್ದೇನೆ ಎಂದು ನಾನು ಭಾವಿಸುತ್ತೇನೆ.
ವಿವರಣೆ
ವಿಧಾನ ಗುಣಲಕ್ಷಣವು ವಿನಂತಿಯ ವಿಧಾನದ ಬಗ್ಗೆ ಸರ್ವರ್ಗೆ ಹೇಳುತ್ತದೆ.
ಸಿಂಟ್ಯಾಕ್ಸ್
ಮೌಲ್ಯಗಳನ್ನು
ವಿಧಾನದ ಗುಣಲಕ್ಷಣದ ಮೌಲ್ಯವು ಕೇಸ್-ಸೆನ್ಸಿಟಿವ್ ಆಗಿದೆ. ಎರಡು ವಿಧಾನಗಳಿವೆ - ಪಡೆಯಿರಿ ಮತ್ತು ಪೋಸ್ಟ್ ಮಾಡಿ.
ಪಡೆಯಿರಿ ಈ ವಿಧಾನವು ಅತ್ಯಂತ ಸಾಮಾನ್ಯವಾಗಿದೆ ಮತ್ತು ವಿಳಾಸ ಪಟ್ಟಿಯಲ್ಲಿ ಅಗತ್ಯವಿರುವ ಮಾಹಿತಿಯನ್ನು ಪಡೆಯಲು ಮತ್ತು ಡೇಟಾವನ್ನು ವರ್ಗಾಯಿಸಲು ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿದೆ. ಈ ಸಂದರ್ಭದಲ್ಲಿ, ಹೆಸರು=ಮೌಲ್ಯ ಜೋಡಿಗಳನ್ನು ಪ್ರಶ್ನಾರ್ಥಕ ಚಿಹ್ನೆಯ ನಂತರ ವಿಳಾಸಕ್ಕೆ ಸೇರಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಆಂಪರ್ಸೆಂಡ್ (& ಚಿಹ್ನೆ) ಮೂಲಕ ಬೇರ್ಪಡಿಸಲಾಗುತ್ತದೆ. ಗೆಟ್ ವಿಧಾನವನ್ನು ಬಳಸುವ ಅನುಕೂಲವೆಂದರೆ ಎಲ್ಲಾ ನಿಯತಾಂಕಗಳನ್ನು ಹೊಂದಿರುವ ವಿಳಾಸವನ್ನು ಪದೇ ಪದೇ ಬಳಸಬಹುದು, ಅದನ್ನು ಉಳಿಸಬಹುದು, ಉದಾಹರಣೆಗೆ, ನಿಮ್ಮ ಬ್ರೌಸರ್ ಬುಕ್ಮಾರ್ಕ್ಗಳಲ್ಲಿ, ಮತ್ತು ನೀವು ಪ್ಯಾರಾಮೀಟರ್ ಮೌಲ್ಯಗಳನ್ನು ನೇರವಾಗಿ ವಿಳಾಸ ಪಟ್ಟಿಯಲ್ಲಿ ಬದಲಾಯಿಸಬಹುದು. ಪೋಸ್ಟ್ ವಿಧಾನವು ಬ್ರೌಸರ್ ವಿನಂತಿಯಲ್ಲಿ ಸರ್ವರ್ಗೆ ಡೇಟಾವನ್ನು ಕಳುಹಿಸುತ್ತದೆ. ಇದು 4KB ಮಿತಿಯನ್ನು ಹೊಂದಿರುವುದರಿಂದ ಗೆಟ್ ವಿಧಾನಕ್ಕೆ ಲಭ್ಯವಿರುವುದಕ್ಕಿಂತ ಹೆಚ್ಚಿನ ಡೇಟಾವನ್ನು ಕಳುಹಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. ಫೋರಮ್ಗಳು, ಇಮೇಲ್ ಸೇವೆಗಳು, ಡೇಟಾಬೇಸ್ಗಳನ್ನು ಭರ್ತಿ ಮಾಡುವುದು, ಫೈಲ್ಗಳನ್ನು ಕಳುಹಿಸುವುದು ಇತ್ಯಾದಿಗಳಲ್ಲಿ ಹೆಚ್ಚಿನ ಪ್ರಮಾಣದ ಡೇಟಾವನ್ನು ಬಳಸಲಾಗುತ್ತದೆ.
ಅಗತ್ಯವಿರುವ ಗುಣಲಕ್ಷಣ
ಡೀಫಾಲ್ಟ್ ಮೌಲ್ಯ
HTML5 IE Cr Op Sa Fx
HTML ರೂಪಗಳು. $_POST ಮತ್ತು $_GET ಅರೇಗಳು
HTML ರೂಪಗಳು. ಸರ್ವರ್ಗೆ ಡೇಟಾವನ್ನು ಕಳುಹಿಸುವ ವಿಧಾನಗಳು
ನೀವು ಬಹುಶಃ ಈಗಾಗಲೇ HTML ಫಾರ್ಮ್ಗಳನ್ನು ಎದುರಿಸಿದ್ದೀರಿ:
ಈ ಕೋಡ್ ಅನ್ನು HTML ಫೈಲ್ನಲ್ಲಿ ಉಳಿಸುವ ಮೂಲಕ ಮತ್ತು ನಿಮ್ಮ ಮೆಚ್ಚಿನ ಬ್ರೌಸರ್ ಬಳಸಿ ಅದನ್ನು ವೀಕ್ಷಿಸುವ ಮೂಲಕ, ನೀವು ಪರಿಚಿತ HTML ಫಾರ್ಮ್ ಅನ್ನು ನೋಡುತ್ತೀರಿ:
ಟ್ಯಾಗ್ ಮಾಡಿ
, ವಾಸ್ತವವಾಗಿ ಫಾರ್ಮ್ ಅನ್ನು ಹೊಂದಿಸುತ್ತದೆ. ಇದರ ಗುಣಲಕ್ಷಣಗಳು ಎರಡೂ ಐಚ್ಛಿಕವಾಗಿವೆ:- ಕ್ರಿಯೆ - ಫಾರ್ಮ್ ಅನ್ನು ಕಳುಹಿಸುವ URL ಅನ್ನು (ಪೂರ್ಣ ಅಥವಾ ಸಂಬಂಧಿತ) ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತದೆ. ಈ ಗುಣಲಕ್ಷಣವನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸದಿದ್ದರೆ, ಹೆಚ್ಚಿನ ಬ್ರೌಸರ್ಗಳು (ಹೆಚ್ಚು ನಿಖರವಾಗಿ, ನನಗೆ ತಿಳಿದಿರುವ ಎಲ್ಲಾ ಬ್ರೌಸರ್ಗಳು) ಪ್ರಸ್ತುತ ಡಾಕ್ಯುಮೆಂಟ್ಗೆ ಫಾರ್ಮ್ ಅನ್ನು ಕಳುಹಿಸುತ್ತವೆ, ಅಂದರೆ, "ಸ್ವತಃ." ಇದು ಅನುಕೂಲಕರ ಸಂಕ್ಷಿಪ್ತ ರೂಪವಾಗಿದೆ, ಆದರೆ HTML ಮಾನದಂಡದ ಪ್ರಕಾರ, ಕ್ರಿಯೆಯ ಗುಣಲಕ್ಷಣದ ಅಗತ್ಯವಿದೆ.
- ವಿಧಾನ - ಫಾರ್ಮ್ ಅನ್ನು ಸಲ್ಲಿಸುವ ವಿಧಾನ. ಅವುಗಳಲ್ಲಿ ಎರಡು ಇವೆ.
- GET - ವಿಳಾಸ ಪಟ್ಟಿಯಲ್ಲಿ ಫಾರ್ಮ್ ಡೇಟಾವನ್ನು ಕಳುಹಿಸುವುದು.
URL ನ ಕೊನೆಯಲ್ಲಿ "?" ಇರುವುದನ್ನು ನೀವು ವಿವಿಧ ವೆಬ್ಸೈಟ್ಗಳಲ್ಲಿ ಗಮನಿಸಿರಬಹುದು. ಮತ್ತು ಕೆಳಗಿನ ಡೇಟಾ ಸ್ವರೂಪ ಪ್ಯಾರಾಮೀಟರ್=ಮೌಲ್ಯ. ಇಲ್ಲಿ "ಪ್ಯಾರಾಮೀಟರ್" ಫಾರ್ಮ್ ಅಂಶಗಳ ಹೆಸರಿನ ಗುಣಲಕ್ಷಣದ ಮೌಲ್ಯಕ್ಕೆ ಅನುರೂಪವಾಗಿದೆ (ಟ್ಯಾಗ್ ಬಗ್ಗೆ ಕೆಳಗೆ ನೋಡಿ ), ಮತ್ತು "ಮೌಲ್ಯ" ಎಂಬುದು ಮೌಲ್ಯ ಗುಣಲಕ್ಷಣದ ವಿಷಯವಾಗಿದೆ (ಉದಾಹರಣೆಗೆ, ಇದು ಅದೇ ಟ್ಯಾಗ್ನ ಪಠ್ಯ ಕ್ಷೇತ್ರಕ್ಕೆ ಬಳಕೆದಾರರ ಇನ್ಪುಟ್ ಅನ್ನು ಒಳಗೊಂಡಿದೆ ).
ಉದಾಹರಣೆಗೆ, Yandex ನಲ್ಲಿ ಏನನ್ನಾದರೂ ಹುಡುಕಲು ಪ್ರಯತ್ನಿಸಿ ಮತ್ತು ಬ್ರೌಸರ್ನ ವಿಳಾಸ ಪಟ್ಟಿಗೆ ಗಮನ ಕೊಡಿ. ಇದು GET ವಿಧಾನವಾಗಿದೆ. - ಪೋಸ್ಟ್ - ಫಾರ್ಮ್ ಡೇಟಾವನ್ನು ವಿನಂತಿಯ ದೇಹದಲ್ಲಿ ಕಳುಹಿಸಲಾಗಿದೆ. ಇದು ಏನು ಎಂದು ಸಂಪೂರ್ಣವಾಗಿ ಸ್ಪಷ್ಟವಾಗಿಲ್ಲದಿದ್ದರೆ (ಅಥವಾ ಸಂಪೂರ್ಣವಾಗಿ ಅಸ್ಪಷ್ಟವಾಗಿದೆ), ಚಿಂತಿಸಬೇಡಿ, ನಾವು ಶೀಘ್ರದಲ್ಲೇ ಈ ಸಮಸ್ಯೆಗೆ ಹಿಂತಿರುಗುತ್ತೇವೆ.
- GET - ವಿಳಾಸ ಪಟ್ಟಿಯಲ್ಲಿ ಫಾರ್ಮ್ ಡೇಟಾವನ್ನು ಕಳುಹಿಸುವುದು.
ಟ್ಯಾಗ್ ಮಾಡಿ - ಪ್ರಕಾರದ ಗುಣಲಕ್ಷಣದಿಂದ ವ್ಯಾಖ್ಯಾನಿಸಲಾದ ಫಾರ್ಮ್ ಅಂಶವನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತದೆ:
- "ಪಠ್ಯ" ಮೌಲ್ಯವು ಏಕ-ಸಾಲಿನ ಪಠ್ಯ ಇನ್ಪುಟ್ ಕ್ಷೇತ್ರವನ್ನು ಸೂಚಿಸುತ್ತದೆ
- "ಸಲ್ಲಿಸು" ಮೌಲ್ಯವು ಬಟನ್ ಅನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತದೆ, ಅದು ಕ್ಲಿಕ್ ಮಾಡಿದಾಗ, ಫಾರ್ಮ್ ಅನ್ನು ಸರ್ವರ್ಗೆ ಕಳುಹಿಸುತ್ತದೆ
ಇತರ ಮೌಲ್ಯಗಳು ಸಾಧ್ಯ (ಮತ್ತು - ಫಾರ್ಮ್ ಅಂಶವನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುವ ಏಕೈಕ ಟ್ಯಾಗ್ ಅಲ್ಲ).
ನಾವು "ಸರಿ" ಕ್ಲಿಕ್ ಮಾಡಿದಾಗ ಏನಾಗುತ್ತದೆ?
- ಬ್ರೌಸರ್ ಫಾರ್ಮ್ನಲ್ಲಿ ಸೇರಿಸಲಾದ ಅಂಶಗಳನ್ನು ನೋಡುತ್ತದೆ ಮತ್ತು ಅವುಗಳ ಹೆಸರು ಮತ್ತು ಮೌಲ್ಯ ಗುಣಲಕ್ಷಣಗಳಿಂದ ಫಾರ್ಮ್ ಡೇಟಾವನ್ನು ನಿರ್ಮಿಸುತ್ತದೆ. ವಾಸ್ಯಾ ಎಂಬ ಹೆಸರನ್ನು ನಮೂದಿಸಲಾಗಿದೆ ಎಂದು ಹೇಳೋಣ. ಈ ಸಂದರ್ಭದಲ್ಲಿ, ಫಾರ್ಮ್ ಡೇಟಾ ಹೆಸರು = Vasya&okbutton = ಸರಿ
- ಬ್ರೌಸರ್ ಸರ್ವರ್ನೊಂದಿಗೆ ಸಂಪರ್ಕವನ್ನು ಸ್ಥಾಪಿಸುತ್ತದೆ, ಟ್ಯಾಗ್ನ ಕ್ರಿಯೆಯ ಗುಣಲಕ್ಷಣದಲ್ಲಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಡಾಕ್ಯುಮೆಂಟ್ಗಾಗಿ ವಿನಂತಿಯನ್ನು ಸರ್ವರ್ಗೆ ಕಳುಹಿಸುತ್ತದೆ
- ಸ್ವೀಕರಿಸಿದ ವಿನಂತಿಯನ್ನು ಸರ್ವರ್ ವಿಶ್ಲೇಷಿಸುತ್ತದೆ, ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ, ಅದನ್ನು ಬ್ರೌಸರ್ಗೆ ಕಳುಹಿಸುತ್ತದೆ ಮತ್ತು ಸಂಪರ್ಕವನ್ನು ಮುಚ್ಚುತ್ತದೆ
- ಬ್ರೌಸರ್ ಸರ್ವರ್ನಿಂದ ಸ್ವೀಕರಿಸಿದ ಡಾಕ್ಯುಮೆಂಟ್ ಅನ್ನು ಪ್ರದರ್ಶಿಸುತ್ತದೆ
ಅದೇ ವಿನಂತಿಯನ್ನು ಹಸ್ತಚಾಲಿತವಾಗಿ ಕಳುಹಿಸುವುದು (ಟೆಲ್ನೆಟ್ ಬಳಸಿ) ಈ ರೀತಿ ಕಾಣುತ್ತದೆ (ಸೈಟ್ನ ಡೊಮೇನ್ ಹೆಸರು www.example.com ಎಂದು ಊಹಿಸಿ):
ಟೆಲ್ನೆಟ್ www.example.com 80 GET /cgi-bin/form_handler.cgi?name=Vasya&okbutton=OK HTTP/1.0\r\n ಹೋಸ್ಟ್: www.example.com\r\n \r\n
ನೀವು ಬಹುಶಃ ಈಗಾಗಲೇ ಊಹಿಸಿದಂತೆ, "GET" ಸಲ್ಲಿಸುವ ವಿಧಾನವನ್ನು ಹೊಂದಿರುವ ಫಾರ್ಮ್ನಲ್ಲಿ ಸಲ್ಲಿಸು ಬಟನ್ ಅನ್ನು ಕ್ಲಿಕ್ ಮಾಡುವುದರಿಂದ ಅನುಗುಣವಾದ URL ಅನ್ನು (ಪ್ರಶ್ನಾರ್ಥಕ ಚಿಹ್ನೆ ಮತ್ತು ಫಾರ್ಮ್ ಡೇಟಾದೊಂದಿಗೆ ಕೊನೆಯಲ್ಲಿ) ಬ್ರೌಸರ್ನ ವಿಳಾಸ ಪಟ್ಟಿಯಲ್ಲಿ ಟೈಪ್ ಮಾಡುವಂತೆಯೇ ಇರುತ್ತದೆ:
Http://www.example.com/cgi-bin/form_handler.cgi?name=Vasya&okbutton=OK
ವಾಸ್ತವವಾಗಿ, ನೀವು ಸರ್ವರ್ನಿಂದ ಡಾಕ್ಯುಮೆಂಟ್ ಅನ್ನು ವಿನಂತಿಸಿದಾಗ ಅದರ URL ಅನ್ನು ನಮೂದಿಸುವ ಮೂಲಕ ಅಥವಾ ಲಿಂಕ್ ಅನ್ನು ಕ್ಲಿಕ್ ಮಾಡುವ ಮೂಲಕ GET ವಿಧಾನವನ್ನು ಬಳಸಲಾಗುತ್ತದೆ. ಬಳಸಿ
8-12 ಸಾಲುಗಳಲ್ಲಿ ತೋರಿಸಿರುವ ರೂಪವು ಎರಡು ಅಂಶಗಳನ್ನು ಒಳಗೊಂಡಿದೆ: ಹೆಸರು ಮತ್ತು ಒಕ್ಬಟನ್. ವಿಧಾನ ಗುಣಲಕ್ಷಣವು POST ಫಾರ್ಮ್ ಸಲ್ಲಿಕೆ ವಿಧಾನವನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತದೆ, ಆದರೆ ಕ್ರಿಯೆಯ ಗುಣಲಕ್ಷಣವು ಫಾರ್ಮ್ ಅನ್ನು ಕಳುಹಿಸಲಾದ URL ಅನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತದೆ ಮತ್ತು PHP_SELF ಸರ್ವರ್ ವೇರಿಯೇಬಲ್ನ ಮೌಲ್ಯದಿಂದ ತುಂಬಿದೆ - ಪ್ರಸ್ತುತ ಚಾಲನೆಯಲ್ಲಿರುವ ಸ್ಕ್ರಿಪ್ಟ್ನ ವಿಳಾಸ.
=$_SERVER["PHP_SELF"]?>- ಫಾರ್ ಸಂಕ್ಷಿಪ್ತ ರೂಪ echo $_SERVER["PHP_SELF"]; ?> .
ನಾವು ಹೆಸರಿನ ಕ್ಷೇತ್ರದಲ್ಲಿ Vasya ಮೌಲ್ಯವನ್ನು ನಮೂದಿಸಿದ್ದೇವೆ ಮತ್ತು ಸರಿ ಬಟನ್ ಅನ್ನು ಕ್ಲಿಕ್ ಮಾಡಿದ್ದೇವೆ ಎಂದು ಭಾವಿಸೋಣ. ಈ ಸಂದರ್ಭದಲ್ಲಿ, ಬ್ರೌಸರ್ ಸರ್ವರ್ಗೆ POST ವಿನಂತಿಯನ್ನು ಕಳುಹಿಸುತ್ತದೆ. ವಿನಂತಿಯ ದೇಹ: ಹೆಸರು=ವಾಸ್ಯ&ಒಕ್ಬಟನ್=ಸರಿ . PHP ಸ್ವಯಂಚಾಲಿತವಾಗಿ $_POST ಅರೇ ಅನ್ನು ಜನಪ್ರಿಯಗೊಳಿಸುತ್ತದೆ:
$_POST ["ಹೆಸರು" ] = "ವಾಸ್ಯ"
$_POST ["okbutton" ] = "ಸರಿ"
ವಾಸ್ತವದಲ್ಲಿ, "Vasya" ಮೌಲ್ಯವನ್ನು urlencode ರೂಪದಲ್ಲಿ ಬ್ರೌಸರ್ ಮೂಲಕ ಕಳುಹಿಸಲಾಗುತ್ತದೆ; windows-1251 ಎನ್ಕೋಡಿಂಗ್ಗಾಗಿ ಈ ಮೌಲ್ಯವು %C2%E0%F1%FF ನಂತೆ ಕಾಣುತ್ತದೆ. ಆದರೆ PHP ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಅಗತ್ಯವಾದ ಡಿಕೋಡಿಂಗ್ ಅನ್ನು ನಿರ್ವಹಿಸುವುದರಿಂದ, ನಾವು ಈ ವೈಶಿಷ್ಟ್ಯದ ಬಗ್ಗೆ "ಮರೆತುಬಿಡಬಹುದು" - ನಾವು HTTP ವಿನಂತಿಗಳನ್ನು ಹಸ್ತಚಾಲಿತವಾಗಿ ನಿಭಾಯಿಸುವವರೆಗೆ.
ವಿನಂತಿಯ ದೇಹವು ಹೆಸರುಗಳು ಮತ್ತು ಮೌಲ್ಯಗಳನ್ನು ಮಾತ್ರ ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತದೆ, ಆದರೆ ಫಾರ್ಮ್ ಅಂಶ ಪ್ರಕಾರವಲ್ಲ, $_POST["ಹೆಸರು"] ಇನ್ಪುಟ್ ಸ್ಟ್ರಿಂಗ್, ಬಟನ್ ಅಥವಾ ಪಟ್ಟಿ ಬಾಕ್ಸ್ಗೆ ಹೊಂದಿಕೆಯಾಗುತ್ತದೆಯೇ ಎಂದು PHP ಗೆ ತಿಳಿದಿಲ್ಲ. ಆದರೆ ನಮಗೆ, ಸಾಮಾನ್ಯವಾಗಿ, ಈ ಮಾಹಿತಿಯ ಅಗತ್ಯವಿಲ್ಲ. :)
ಸಲ್ಲಿಸು ಬಟನ್ ಏನು ಹೇಳುತ್ತದೆ ಎಂದು ನಮಗೆ ತಿಳಿಯಬೇಕಾಗಿಲ್ಲವಾದ್ದರಿಂದ, ನಾವು 11 ನೇ ಸಾಲಿನಲ್ಲಿ ಹೆಸರಿನ ಗುಣಲಕ್ಷಣವನ್ನು ತೆಗೆದುಹಾಕಬಹುದು, ಬಟನ್ ವಿವರಣೆಯನ್ನು ಸಂಕ್ಷಿಪ್ತಗೊಳಿಸಬಹುದು . ಈ ಸಂದರ್ಭದಲ್ಲಿ, ಬ್ರೌಸರ್ POST ವಿನಂತಿಯನ್ನು ಕಳುಹಿಸುತ್ತದೆ ಹೆಸರು = Vasya.
ಮತ್ತು ಈಗ ಅದೇ ವಿಷಯ, ಆದರೆ GET ಫಾರ್ಮ್ಗಾಗಿ:
ವೇಳೆ (ಇಸೆಟ್($_GET [ "ಹೆಸರು" ])) (
ಪ್ರತಿಧ್ವನಿ "
ನಮಸ್ಕಾರ, " . $_GET [ "ಹೆಸರು" ] . "
!" ;}
?>
8 ನೇ ಸಾಲಿನಲ್ಲಿ ಒಬ್ಬರು ಸುಲಭವಾಗಿ ಬರೆಯಬಹುದು
ಇಲ್ಲಿ ಯಾವುದೇ ಹೊಸ ತಂತ್ರಗಳನ್ನು ಬಳಸಲಾಗುವುದಿಲ್ಲ. ಅದನ್ನು ಲೆಕ್ಕಾಚಾರ ಮಾಡಿ, ಕೋಡ್ ಅನ್ನು ರನ್ ಮಾಡಿ, ಮಾರ್ಪಡಿಸಲು ಪ್ರಯತ್ನಿಸಿ...
ಕೊನೆಯ ಉದಾಹರಣೆಯನ್ನು ಬದಲಾಯಿಸೋಣ ಇದರಿಂದ ಬಳಕೆದಾರರು ಮತ್ತೆ ಕ್ಷೇತ್ರಗಳನ್ನು ಭರ್ತಿ ಮಾಡಬೇಕಾಗಿಲ್ಲ. ಇದನ್ನು ಮಾಡಲು, ನಾವು ನಮೂದಿಸಿದ ಮೌಲ್ಯಗಳೊಂದಿಗೆ ಫಾರ್ಮ್ ಅಂಶಗಳ ಮೌಲ್ಯ ಗುಣಲಕ್ಷಣಗಳನ್ನು ಭರ್ತಿ ಮಾಡಿ.
$name = isset($_POST [ "ಹೆಸರು" ]) ? $_POST [ "ಹೆಸರು" ] : "" ;
$year = isset($_POST [ "ವರ್ಷ" ]) ? $_POST [ "ವರ್ಷ" ] : "" ;
ಒಂದು ವೇಳೆ ($_POST [ "ಹೆಸರು" ], $_POST [ "ವರ್ಷ" ])) (
ವೇಳೆ ($_POST [ "ಹೆಸರು" ] == "" ) (
ಪ್ರತಿಧ್ವನಿ "ದಯವಿಟ್ಟು ಹೆಸರನ್ನು ನಮೂದಿಸಿ!
"
;
) ಇಲ್ಲದಿದ್ದರೆ ($_POST [ "ವರ್ಷ" ]<
1900
||
$_POST
[
"year"
] >
2004
) {
ಪ್ರತಿಧ್ವನಿ "ದಯವಿಟ್ಟು ಹುಟ್ಟಿದ ವರ್ಷವನ್ನು ಸೂಚಿಸಿ! ಮೌಲ್ಯಗಳ ಮಾನ್ಯ ಶ್ರೇಣಿ: 1900..2004
"
;
) ಬೇರೆ (
ಪ್ರತಿಧ್ವನಿ "ಹಲೋ," . $_POST [ "ಹೆಸರು" ] . "!
"
;
$ ವಯಸ್ಸು = 2004 - $_POST [ "ವರ್ಷ" ];
ಪ್ರತಿಧ್ವನಿ "ನಿಮಗೆ". $ ವಯಸ್ಸು. "ವರ್ಷಗಳು
"
;
}
ಪ್ರತಿಧ್ವನಿ "
" ;
}
?>
4 ಮತ್ತು 5 ಸಾಲುಗಳು ಸ್ವಲ್ಪ ಗೊಂದಲಮಯವಾಗಿರಬಹುದು: ಎಲ್ಲವೂ ತುಂಬಾ ಸರಳವಾಗಿದೆ: ಸಾಲು 4 ಅನ್ನು ಈ ರೀತಿ ಬರೆಯಬಹುದು:
ವೇಳೆ (ಇಸೆಟ್($_POST [ "ಹೆಸರು" ]))
$ಹೆಸರು = $_POST ["ಹೆಸರು" ];
ಬೇರೆ
$ಹೆಸರು = "" ;
ಪ್ರಶ್ನೆ ಉದ್ಭವಿಸಬಹುದು - ಏಕೆ 4-5 ಸಾಲುಗಳನ್ನು ಎಸೆದು ಬರೆಯಬಾರದು:
ನಿಮ್ಮ ಹೆಸರನ್ನು ನಮೂದಿಸಿ:
">
ನಿಮ್ಮ ಜನ್ಮ ವರ್ಷವನ್ನು ನಮೂದಿಸಿ:
">
ಈ POST ಅಸ್ಥಿರಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸದಿದ್ದರೆ - ಮತ್ತು ಫಾರ್ಮ್ ಅನ್ನು ಇನ್ನೂ ಭರ್ತಿ ಮಾಡದಿದ್ದಲ್ಲಿ ಇದು ಸಂಭವಿಸುತ್ತದೆ - PHP ಯೂನಿನಿಶಿಯಲೈಸ್ಡ್ ವೇರಿಯಬಲ್ಗಳ ಬಳಕೆಯ ಬಗ್ಗೆ ಎಚ್ಚರಿಕೆಗಳನ್ನು ನೀಡುತ್ತದೆ (ಮತ್ತು, ಸಾಕಷ್ಟು ಸಮಂಜಸವಾಗಿ: ಅಂತಹ ಸಂದೇಶವು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ ವೇರಿಯಬಲ್ ಹೆಸರುಗಳಲ್ಲಿ ಟೈಪೋಗಳನ್ನು ಪತ್ತೆಹಚ್ಚಲು ಕಷ್ಟವಾಗುತ್ತದೆ ಮತ್ತು ಸೈಟ್ನಲ್ಲಿ ಸಂಭವನೀಯ "ರಂಧ್ರಗಳ" ಬಗ್ಗೆ ಎಚ್ಚರಿಕೆ ನೀಡುತ್ತದೆ). ನೀವು ಸಹಜವಾಗಿ, ಐಸೆಟ್ ಕೋಡ್ ಅನ್ನು ನೇರವಾಗಿ ಫಾರ್ಮ್ಗೆ ಹಾಕಬಹುದು, ಆದರೆ ಇದು ತುಂಬಾ ತೊಡಕಾಗಿರುತ್ತದೆ.
ಅರ್ಥವಾಯಿತು? ಈಗ ನೀಡಿರುವ ಕೋಡ್ನಲ್ಲಿ ದೋಷವನ್ನು ಕಂಡುಹಿಡಿಯಲು ಪ್ರಯತ್ನಿಸಿ. ಸರಿ, ನಿಖರವಾಗಿ ತಪ್ಪು ಅಲ್ಲ, ಆದರೆ ನ್ಯೂನತೆ.
htmlspecialchars()
ಸಿಗಲಿಲ್ಲವೇ? ನಾನು ನಿಮಗೆ ಒಂದು ಸುಳಿವು ನೀಡುತ್ತೇನೆ. ಉದಾಹರಣೆಗೆ, "ಹೆಸರು" ಕ್ಷೇತ್ರದಲ್ಲಿ ಡಬಲ್ ಕೋಟ್ ಮತ್ತು ಕೆಲವು ಪಠ್ಯವನ್ನು ನಮೂದಿಸಿ, ಉದಾಹರಣೆಗೆ, "Va" ಫಾರ್ಮ್ ಅನ್ನು ಕಳುಹಿಸಿ ಮತ್ತು ಫಲಿತಾಂಶದ ಪುಟದ ಮೂಲ ಕೋಡ್ ಅನ್ನು ನೋಡೋಣ:
ನಿಮ್ಮ ಹೆಸರನ್ನು ನಮೂದಿಸಿ:
ಅಂದರೆ, ಏನೂ ಒಳ್ಳೆಯದಲ್ಲ. ಕುತಂತ್ರದ ಬಳಕೆದಾರರು JavaScript ಕೋಡ್ ಅನ್ನು ನಮೂದಿಸಿದರೆ ಏನು?
ಈ ಸಮಸ್ಯೆಯನ್ನು ಪರಿಹರಿಸಲು, ನೀವು htmlspecialchars() ಕಾರ್ಯವನ್ನು ಬಳಸಬೇಕಾಗುತ್ತದೆ, ಇದು ವಿಶೇಷ ಅಕ್ಷರಗಳನ್ನು ಅವುಗಳ HTML ಪ್ರಾತಿನಿಧ್ಯದೊಂದಿಗೆ ಬದಲಾಯಿಸುತ್ತದೆ (ಉದಾಹರಣೆಗೆ, "ನೊಂದಿಗೆ ಉಲ್ಲೇಖ):
$name = isset($_POST [ "ಹೆಸರು" ]) ? htmlspecialchars ($_POST [ "ಹೆಸರು" ]) : "" ;
$year = isset($_POST [ "ವರ್ಷ" ]) ? htmlspecialchars ($_POST [ "ವರ್ಷ" ]) : "" ;
ಒಂದು ವೇಳೆ ($_POST [ "ಹೆಸರು" ], $_POST [ "ವರ್ಷ" ])) (
ವೇಳೆ ($_POST [ "ಹೆಸರು" ] == "" ) (
ಪ್ರತಿಧ್ವನಿ "ದಯವಿಟ್ಟು ಹೆಸರನ್ನು ನಮೂದಿಸಿ!
"
;
) ಇಲ್ಲದಿದ್ದರೆ ($_POST [ "ವರ್ಷ" ]<
1900
||
$_POST
[
"year"
] >
2004
) {
ಪ್ರತಿಧ್ವನಿ "ದಯವಿಟ್ಟು ಹುಟ್ಟಿದ ವರ್ಷವನ್ನು ಸೂಚಿಸಿ! ಮೌಲ್ಯಗಳ ಮಾನ್ಯ ಶ್ರೇಣಿ: 1900..2004
"
;
) ಬೇರೆ (
ಪ್ರತಿಧ್ವನಿ "ಹಲೋ," . $ಹೆಸರು. "!
"
;
$ ವಯಸ್ಸು = 2004 - $_POST [ "ವರ್ಷ" ];
ಪ್ರತಿಧ್ವನಿ "ನಿಮಗೆ". $ ವಯಸ್ಸು. "ವರ್ಷಗಳು
"
;
}
ಪ್ರತಿಧ್ವನಿ "
" ;
}
?>
ಪ್ರಯೋಗವನ್ನು ಪುನರಾವರ್ತಿಸಿ ಮತ್ತು HTML ಕೋಡ್ ಈಗ ಸರಿಯಾಗಿದೆಯೇ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ.
ನೆನಪಿಡಿ - HTML ವಿಶೇಷ ಅಕ್ಷರಗಳನ್ನು ಒಳಗೊಂಡಿರುವ ವೇರಿಯೇಬಲ್ನ ವಿಷಯಗಳನ್ನು ಪ್ರದರ್ಶಿಸುವಾಗ htmlspecialchars() ಕಾರ್ಯವನ್ನು ಬಳಸಬೇಕು.
phpinfo()
phpinfo() ಕಾರ್ಯವು PHP ಯಲ್ಲಿ ಪ್ರಮುಖವಾದದ್ದು. ಇದು PHP ಸೆಟ್ಟಿಂಗ್ಗಳು, ವಿವಿಧ ಕಾನ್ಫಿಗರೇಶನ್ ವೇರಿಯಬಲ್ಗಳ ಮೌಲ್ಯಗಳ ಬಗ್ಗೆ ಮಾಹಿತಿಯನ್ನು ಪ್ರದರ್ಶಿಸುತ್ತದೆ ...
ಫಾರ್ಮ್ಗಳ ಲೇಖನದಲ್ಲಿ ನಾನು ಅದನ್ನು ಏಕೆ ಉಲ್ಲೇಖಿಸುತ್ತಿದ್ದೇನೆ? phpinfo() ಒಂದು ಅನುಕೂಲಕರ ಡೀಬಗ್ ಮಾಡುವ ಸಾಧನವಾಗಿದೆ. phpinfo(), ಇತರ ವಿಷಯಗಳ ಜೊತೆಗೆ, ಎಲ್ಲಾ $_GET, $_POST ಮತ್ತು $_SERVER ವೇರಿಯೇಬಲ್ಗಳ ಮೌಲ್ಯಗಳನ್ನು ಮುದ್ರಿಸುತ್ತದೆ. ಆದ್ದರಿಂದ ಫಾರ್ಮ್ ವೇರಿಯೇಬಲ್ ಕಳೆದುಹೋದರೆ, ಯಾವುದು ತಪ್ಪಾಗಿದೆ ಎಂಬುದನ್ನು ಕಂಡುಹಿಡಿಯಲು ಸುಲಭವಾದ ಮಾರ್ಗವೆಂದರೆ phpinfo() ಕಾರ್ಯವನ್ನು ಬಳಸುವುದು. ಕಾರ್ಯವು ವೇರಿಯಬಲ್ಗಳ ಮೌಲ್ಯಗಳನ್ನು ಮಾತ್ರ ಪ್ರದರ್ಶಿಸುತ್ತದೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು (ಮತ್ತು ನೀವು ಡಜನ್ಗಟ್ಟಲೆ ಪುಟಗಳ ಮೂಲಕ ಸ್ಕ್ರಾಲ್ ಮಾಡದೆಯೇ), ಇದನ್ನು ಈ ಕೆಳಗಿನಂತೆ ಕರೆಯಬೇಕು: phpinfo(INFO_VARIABLES); , ಅಥವಾ - ಇದು ಸಂಪೂರ್ಣವಾಗಿ ಒಂದೇ ವಿಷಯ - phpinfo(32) ;.
phpinfo (32);
?>
ಅಥವಾ, ಉದಾಹರಣೆಗೆ, ಈ ಪರಿಸ್ಥಿತಿ: ನೀವು ಸಂದರ್ಶಕರ IP ವಿಳಾಸವನ್ನು ಕಂಡುಹಿಡಿಯಲು ಬಯಸುತ್ತೀರಿ. ಅನುಗುಣವಾದ ವೇರಿಯೇಬಲ್ ಅನ್ನು $ _SERVER ಶ್ರೇಣಿಯಲ್ಲಿ ಸಂಗ್ರಹಿಸಲಾಗಿದೆ ಎಂದು ನೀವು ನೆನಪಿಸಿಕೊಳ್ಳುತ್ತೀರಿ, ಆದರೆ - ದುರಾದೃಷ್ಟ - ವೇರಿಯಬಲ್ ಅನ್ನು ನಿಖರವಾಗಿ ಕರೆಯುವುದನ್ನು ನೀವು ಮರೆತಿದ್ದೀರಿ. ಮತ್ತೊಮ್ಮೆ, phpinfo(32) ಗೆ ಕರೆ ಮಾಡಿ; , ಚಿಹ್ನೆಯಲ್ಲಿ ನಿಮ್ಮ IP ವಿಳಾಸವನ್ನು ನೋಡಿ ಮತ್ತು ಅದನ್ನು $_SERVER["REMOTE_ADDR"] ಸಾಲಿನಲ್ಲಿ ಹುಡುಕಿ.