Jump to content
php.lv forumi

Nelasa manigos


Zoom

Recommended Posts

Es tagad macos PHP no gramatas "PHP soli pa saolim". Aizgaju lidz 3-1, 3-2 cenarijam. Es uzrakstu visu, bet kad es ievadu infu un spiezu pogu "labi" man nenododas manigie uz nodots.php. Man tur radas tuksums. Ja es viena PHP faila uzrakstu manigo tad man izvada mainiga vertibu.

rekur skriptini:

<html>
<head>
<title>Ievadi infu lai tiktu talak</title>
</head>
<body>
<form action="nodots.php" method= "post">
<h3><i><u>Ievadi savu infu:</u></i></h3>
<table>
<tr><td>Vārds:</td><td><input type="text" name="vards"></td></tr>
<tr><td>Uzvārds:</td><td><input type="text" name="uzv"></td></tr>
<tr><td>Niks:</td><td><input type="text" name="niks"></td></tr>
<tr><td>Gadi:</td><td><input type="text" name="gadi"></td></tr>
<tr><td></td><td><input type="submit" name="submit" value="Labi">
<input type="reset" name="reset" value="Notirit" ></td></tr></table></form>
</body>
</html>

 

 

 

 

<html>
<head>
 <title>Skaties savu info</title>
</head>
<body>
<?php
print ("<tr><td>$vards</td></tr>");
print ("<tr><td>$uzv</td></tr>");
print ("<tr><td>$niks</td></tr>");
print ("<tr><td>$gadi</td></tr>");
?>
</body>
</html>

 

Ka saprotams si tema ir smiekliga. Bet kapec man nenosuta manigo vertibas uz nodots.php ??? :huh:

Edited by Zoom
Link to comment
Share on other sites

Mūžīgā tēma: register globals=on vai off

palasi šeit pat forumā, meklējot tieši pēc šiem atslēgas vārdiem un viss taps skaidrs.

<?php
if (isset($_POST['submit'])) {
echo 'Ievadītais vārds: '.$_POST['vards']
}
?>
<form action="" method= "post">
<input type="text" name="vards"/>
<input type="submit" name="submit" value="Labi"/>
</from>

tad tik meklē sakarības starp šo un tavu :)

Link to comment
Share on other sites

nu kluda ir tada ka man nelasa manigos. Apmeram izskatas ta

$vards

&uzv

&niks

&gadi

 

tie ir man manigie. Es ievadu veribas manigajiem un uzspiezu pogu Labi. Man vaidzetu aizsutities tam vertibam uz manigajiem. Bet neizdrukajas man ! Man nodots.php faila parads sadi:

 

 

Vards: (vaidzeja but ievadita mainiga vertibai but seit)

Uzvards: (vaidzeja but ievadita mainiga vertibai but seit)

Niks: (vaidzeja but ievadita mainiga vertibai but seit)

Gadi: (vaidzeja but ievadita mainiga vertibai but seit)

 

Kodus skaties augstak.

Link to comment
Share on other sites

nu cik tev var teikt? tak tev teica skatīties register globals virzienaa:

 

uzraksti skriptu a.php:

echo 'tas ir x ar get:'.$_GET['x'];
echo 'tas ir x bez get:'.$x;

tad linkā ieraksti a.php?x=999

 

skirpts b.php

<?php
if (isset($_POST['submit'])) {
echo 'Ievadītais vārds ar post: '.$_POST['vards'];
echo 'Ievadītais vārds bez post: '.$vards;
}
?>
<form action="" method= "post">
<input type="text" name="vards"/>
<input type="submit" name="submit" value="Labi"/>
</from>

 

ja spēsi saskatīt atšķirību, tad vēl ir cerības, ja nē, tad sorr..

Link to comment
Share on other sites

Ja ir iesniegta forma, tad PHP pēc noklusējuma formas mainīgos neuzskata par skripta mainīgajiem. Tie ir paslēpti skripta mainīgajā $_REQUEST. Tas ir masīvs.

 

Vai zini, kas ir masīvs? Tas ir vairāku lietu saraksts. Piemēram, vienas klases skolēnus var visus kopā uzskatīt par klases skolēnu masīvu. Skaties šo pierakstu:

 

$skoleni = array('Andris Ābele','Bebrs Brālītis','Cūka Cālīte');

 

Katram klases skolēnam ir savs kārtas numurs žurnālā - te tas nav uzrakstīts, bet var redzēt, ka pirmais ir Andris Ābele, otrais ir Bebrs utt.. Programmēšanā masīva elementus numurē sākot ar 0, respektīvi, 0.tais ir Andris, pirmais ir Bebrs un trešā ir Cūka. Ja gribam noskaidrot, kurš ir skolēns ar otro kārtas numuru, tad rakstām PHP kodu:

 

echo $skoleni[2];

 

Ja gribam pievienot skolēnu sarakstam vēl vienu skolēnu, tad rakstām sekojošu kodu:

 

$skoleni[] = 'Dunduks Dirsniņš';

 

Ja gribam noskaidrot elementu skaitu masīva, tas ir klases skolēnu kopējo skaitu, tad rakstām:

 

echo size($skoleni);

 

Ja gribam izdrukāt visus klases skolēnu vārdus ar cikla palīdzību, tad var rakstīt:

 

foreach ( $skoleni as $skolnieks ) {

echo $skolnieks.'<br />';

}

 

Ja gribi ātri uzzināt, kas iekšā masīvā, bet ciklu rakstīt nav spēka, tad var rakstīt:

 

print_r($skoleni);

 

print_r() funkciju atceries. Tā ir noderīgi, kad vajag fiksi zināt, kas ir iekšā masīvos.

 

Vēl ir otra veida masīvi. Tādi, kur elementus atšķir nevis pēc kārtas numura, bet pēc atslēgas vārda. Piemēram, ir saraksts ar maniem draugiem un viņu telefona numuriem, kur kaut kādu telefona numuru var noskaidrot, ja zina drauga vārdu. Tādu masīvu PHP kodā var uztaisīt šādi:

 

$telefoni = array();

$telefoni['Julja'] = 9094545;

$telefoni['Natasha'] = 9006969;

$telefoni['Nastja'] = 118;

 

Varēju arī rakstīt īsāk:

 

$telefoni = array('Julja'=>9094545,'Natasha'=>9006969,'Nastja'=>118);

 

Tagad, lai noskaidrotu manas mīļākās ielasmeitas (Juljas) telefona numuru, es rakstu:

 

echo $telefoni['Julja'];

 

Vēl dažreiz ir tā, ka nezini, vai ir tavā sarakstā kādas vecenes telefons, vai nav. To var noskaidrot tā:

 

if ( isset($telefoni['Masha']) ) {

echo 'Jess. Man ir arī Mašas telefona numurs!';

} else {

echo 'Fak. Kāds nezina Mašas telefonu? Man nav!';

}

 

Un tagad atpakaļ pie formas.

 

Pēc formas iesniegšanas visi formas mainīgie tiek izmitināti sarakstā ar nosaukumu $_REQUEST. Tas ir tā otrā veida saraksts, kur elementus atrod pēc nosaukuma. Piemēram, ja formā ir bijis elements 'username', tad tu ievadīto vērtību vari atrast:

 

echo $_REQUEST['username'];

 

Bet tā rakstīt nav droši, jo tu nezini, vai 'username' patiešām ir ievadīts formā. Tāpēc labāk raksti tā:

 

if ( isset($_REQUEST['username']) ) {

echo 'Tu ievadīji username: '.$_REQUEST['username'];

} else {

echo 'Tu, cūka nolādētā! Tu tak ne velna neesi ievadījis!';

}

 

Lai programmu rakstot redzētu visu, kas formā iesniegts, var izmantot to iepriekš minēto f-ju print_r():

 

print_r($_REQUEST);

 

Tad tu redzēsi ar ko tev ir darīšana.

 

Un pašās beigās vēl viens padoms. Ja tu esi riktīgs duraks un augstāk uzrakstīto nesaproti vai arī ja esi slinks (tāpat duraks), tad, lai izpildītos visi tajā grāmatā rakstītie skripti, katra sava koda sākumā ieraksti rindiņu:

 

extract($_REQUEST);

 

Tad PHP uztaisīs no visiem $_REQUEST elementiem mainīgos un būs tev tas nolādētais $username pieejams.

 

Vēl viena lieta. Visu savu skriptu sākumā liec rindiņu:

 

error_reporting(E_ALL);

 

Tad PHP sapratīs, ka tu vēl tikai mācies un ziņos tev par visām kļūdām, ko tu pielaid. Tas arī ne tikai mācībām, bet reālai izstrādei.

 

Tu jau, protams, vari priecāties, ka ir tā f-ja extract(), bet to funkciju ir jāmāk izmantot... Ja tu taisīsi extract($_REQUEST) un kaut kur kodā, piemēram, rakstīsi, ka vēlies izdzēst failu ar nosaukumu $fails, tad es varētu pārlūkprogrammā adreses lauciņā pierakstīt klāt tekstu '?fails=C:/Documents and Settings/Zoom/MashaPlika.jpg' un Mashas kailfoto uz tava datora izdzēstos. Vai tu to gribi? Nē, tu to negribi. Tāpēc raksti kā īsti džeki, tas ir, izmanto masīvu request.

 

Labsir, priecīgas Lieldienas.

Edited by jb4
Link to comment
Share on other sites

Kāds php sakars ar paskālu?

Tās ir programmēšanas valodas ;)

Ja gribam sākt kasīties, tad php nav programmēšanas valoda, bet gan skriptu valoda :P

Pascal google:define   

a programing language designed to teach programming through a top-down modular approach

    www.cogsci.princeton.edu/cgi-bin/webwn

php google:define

A scripting language. The PHP scripts, or commands, which are embedded in the web page's HTML, are executed on the web server to generate dynamic HTML pages (e.g. search results from a database).

www.freewebsiteproviders.com/glossary.htm

Link to comment
Share on other sites

×
×
  • Create New...