Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Mufa microusb a telefonului mobil...

"Ciudatenii" control pasa...

Impamantare

Apple maps pe Windows 10
 Sfarsitul woke-ismului si al core...

Renovare completa + pompa de cald...

Libre Office nu vad liniile

Modalitați amuzante și ...
 O disparitie de ani buni, Acces D...

Mancarea e scumpa

Parere achiziționare BMW G20

Schimbarea bateriei moderne la VA...
 Rostschreck Lidl

Si noi suntem Florin Piersic? / J...

Rascumparare euroobligatiuni (pri...

Detartraj partial slatina
 

Sunt chior?

- - - - -
  • Please log in to reply
14 replies to this topic

#1
Mihai Stefan

Mihai Stefan

    Junior Member

  • Grup: Members
  • Posts: 127
  • Înscris: 17.10.2006
Spuneti-mi si mie, unde gresesc? Am urmatorul formular...

$sql="SELECT * FROM judete";
$res=mysql_query($sql);
while ($r=mysql_fetch_array($res)) {
	
	print "<form action=\"jud_modif.php\" method=\"POST\"> 
		   <input type=\"hidden\" name=\"cod\" value=\"{$r['cod']}\">
		   {$r['nume']}
		   <input type=\"submit\" name=\"modif\" value=\"Modifica\">
		   <input type=\"submit\" name=\"sterge\" value=\"Sterge\"><br>";
}


asta trimite datele spre pagina de modificare, jud_modif.php.

<?include 'connect.php';


$sql="SELECT * FROM `judete` WHERE cod={$_POST['cod']}";
$res=mysql_query($sql);
$r=mysql_fetch_array($res) ;

if(isset($_POST['modif'])) {

print"<form action=\"jud_proc.php\" method=\"POST\">
		cod<input type=\"text\" value=\"{$_POST['cod']}\" name=\"cod\"><br>
		nume<input type=\"text\" value=\"{$r['nume']}\" name=\"nume\"><br>
		resedinta<input type=\"text\" value=\"{$r['resed']}\" name=\"resed\"><br>
		populatie<input type=\"text\" value=\"{$r['populatie']}\" name=\"populatie\"><br>
		descriere<br>
		<textarea>
		{$descriere}
		</textarea>
		<input type=\"submit\" name=\"trimite\" value=\"trimite\">
		<a href=\"java script:history.back()\">Inapoi</a>
";
}
?>


iar mie imi da eroarea :

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\Treaba\Xampp\xampp\htdocs\site\admin\jud_modif.php on line 6.

Unde mama naibii gresesc? Nu vad eu vreo greseala de tipar? Poate aveti voi vedere mai buna...Multumesc anticipat

#2
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006
mysql_connect(): http://php.net/manua...sql-connect.php

#3
Mihai Stefan

Mihai Stefan

    Junior Member

  • Grup: Members
  • Posts: 127
  • Înscris: 17.10.2006

 OriginalCopy, on Sep 26 2007, 15:49, said:

conectarea la database se face, deoarece imi afiseaza, dar nu-mi trimite prin POST in a doua pagina codul judetului

Edited by Mihai Stefan, 26 September 2007 - 15:26.


#4
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006
incearca operatorul de concatenare "." ex: echo 'Hello '.$user;

si stringuri simple nu interpretate care sunt mai rapide si in care nu mai ai nevoie de escaping la ghilimelele ", ex:

echo 'Hello "'.$user.'"';

#5
Mihai Stefan

Mihai Stefan

    Junior Member

  • Grup: Members
  • Posts: 127
  • Înscris: 17.10.2006
am adaugat un mysql_error().. acum imi trimite codul la pagina, dar tot are draci pe el
si imi zice
Unknown column AB in 'where clause'

AB e codul judetului Alba

am mai schimbat un pic codul, deci ala de la primul post e irelevant.
Iata-l pe asta de acum

judete.php
<?include 'connect.php' ;

$sql="SELECT * FROM judete";
$res=mysql_query($sql);
while ($r=mysql_fetch_array($res)) {
	
	echo '<form action="jud_modif.php" method="POST">'.$r['cod'].' '.
		   $r['nume'].'
		   <input type="hidden" value="'.$r['cod'].'" name="code">
		   <input type="submit" name="modif" value="Modifica">
		   <input type="submit" name="sterge" value="Sterge"><br>
		   </form>';
}



?>


jud_modif.php
<?include 'connect.php';

echo $_POST['code'];
if(isset($_POST['modif'])) {

$sql="SELECT * FROM judete WHERE cod=".$_POST['code'];
$res=mysql_query($sql);
$r=mysql_fetch_array($res) ;
echo mysql_error();
echo '<form action="jud_proc.php" method="POST">
		cod<input type="text" value="'.$_POST['cod'].'" name="cod"><br>
		nume<input type="text" value="'.$r['nume'].'" name="nume"><br>
		resedinta<input type="text" value="'.$r['resed'].'" name="resed"><br>
		populatie<input type="text" value="'.$r['populatie'].'" name="populatie"><br>
		descriere<br>
		<textarea>'.
		$descriere.'
		</textarea>
		<input type="submit" name="trimite" value="trimite">
		<a href="java script:history.back()">Inapoi</a>
';
}
?>


tabelul mysql are urmatoarele campuri: cod,nume,resed,populatie,descriere

Edited by Mihai Stefan, 26 September 2007 - 16:11.


#6
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006
$sql='SELECT * FROM judete WHERE cod="'.$_POST['code'].'"';

iti poti exlica si de ce e asa? :-) spune-ne si noua ca sa-ti spunem daca ai gasit explicatia corecta ;)

Edited by OriginalCopy, 26 September 2007 - 16:16.


#7
Mihai Stefan

Mihai Stefan

    Junior Member

  • Grup: Members
  • Posts: 127
  • Înscris: 17.10.2006

 OriginalCopy, on Sep 26 2007, 17:15, said:

$sql='SELECT * FROM judete WHERE cod="'.$_POST['code'].'"';

iti poti exlica si de ce e asa? :-) spune-ne si noua ca sa-ti spunem daca ai gasit explicatia corecta ;)
Da, domle. asa e ... Neatentie. Am inteles. Acel $_POST['code'] e o valoare... am omis acest mic mare detaliu... Sarumana mult. :worthy:

Edited by Mihai Stefan, 26 September 2007 - 16:38.


#8
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006
corect: campul "cod" din baza de date are ca valori variabile string (si strigurile sunt mereu inconjurate de " sau ')

#9
Mihai Stefan

Mihai Stefan

    Junior Member

  • Grup: Members
  • Posts: 127
  • Înscris: 17.10.2006
<? 
$sql="SELECT * FROM localitati WHERE parent='".$_GET['cod']."'";
while ($r=mysql_fetch_array(mysql_query($sql))){
echo '<h3>'.$r['nume'].'</h3><br>';
$sql2="SELECT * FROM obiective WHERE parent='".$r['id_loc']."'";
while ($r2=mysql_fetch_array(mysql_query($sql2))) {
echo '<li><a href="ob_view.php?id='.$r2['id'].'">'.$r2['nume'].'</a></li>';
				}}
			?>


de ce imi afiseaza la infinit aceeasi chestie? ce cauzeaza acest loop?

#10
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006
faptul ca retrimiti acelasi query dupa fiecare ciclu a lui while, deci iti va afisa doar primul rezultat


1. fa-ti o favoare si foloseste <?php si nu versiunea scurta <?, asa cum e corect
2. foloseste mereu stringuri simple nu interpretate (chiar si query-ul sql ar trebui sa fie neinterpretat pentru ca nu ai un argument robust pentru care acel string ar trebui sa fie interpretat, sau ai? ... iti spun eu ca nu ai ;) )

#11
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006
uite asa trebuie sa arate codul tau:

<?php
  //nu mai folosim variabila intermediara pt query, caci nu avem nevoie de variabila. Variabile se folosesc atunci cand ai nevoie de flexibilitate,
  //cand vrei sa reutilizezi o valoare sau sa modifici valori in mod dinamic la runtime. Ori query-ul nostru nu se modifica, ci doar clauza WHERE
$sql_res = mysql_query('SELECT * FROM localitati WHERE parent="'.mysql_real_escape_string($_GET['cod']).'"');
while($row=mysql_fetch_array($sql_res)) {
  echo '<h3>'.$row['nume'].'</h3><br>';
  $subsql_res = mysql_query('SELECT * FROM obiective WHERE parent="'.$row['id_loc']).'"';
  while($subrow = mysql_fetch_array($subsql_res)) {
	echo '<li><a href="ob_view.php?id='.$subrow['id'].'">'.$subrow['nume'].'</a></li>';
  }
}
?>

dupa cum observi programarea nu se face dupa ureche, ci fiecare apel la functii, existenta fiecarei variabile sau tipul acesteia (de ex string interpretat vs. string simplu) s.a.m.d. trebuie argumentata in mod solid. Ti-am rescris codul pentru ca trebuie sa vezi CUM trebuie sa arate in mod corect, altfel nu ai de unde sa inveti

LE:

bineinteles ca am plecat de la premiza ca textul din baza de date este validat si sigur (a se citi "safe"), dar gandeste-te ce s-ar intampla daca cineva s-ar inregistra(intr-un sistem cu useri si parole, cum este un guestbook sau forum, nu in cazul tau particular) cu numele: "Mai jos nu exista nimic <!--" ? <-- Raspunde si argumenteaza

Edited by OriginalCopy, 27 September 2007 - 20:23.


#12
Mihai Stefan

Mihai Stefan

    Junior Member

  • Grup: Members
  • Posts: 127
  • Înscris: 17.10.2006

 OriginalCopy, on Sep 27 2007, 21:07, said:

faptul ca retrimiti acelasi query dupa fiecare ciclu a lui while, deci iti va afisa doar primul rezultat
1. fa-ti o favoare si foloseste <?php si nu versiunea scurta <?, asa cum e corect
2. foloseste mereu stringuri simple nu interpretate (chiar si query-ul sql ar trebui sa fie neinterpretat pentru ca nu ai un argument robust pentru care acel string ar trebui sa fie interpretat, sau ai? ... iti spun eu ca nu ai ;) )

ce inseamna string interpretat? am gugaluit, si n-am gasit.
si inca ceva: cum sa fac sa imi apara ceva de genul:

ORAS1
ob1_1, ob1_2, ob1_3, ob1_4...

ORAS2
ob2_1, ob2_2, ob2_3....
.....

cam asta am incercat azi toata ziua sa fac, si nu am gasit nici o solutie... deh, n-am o experienta prea vasta in programare....

LE: Acum am vazut postul tau finalizat :D . ideea e ca tre sa stau sa iau fiecare functie pe care n-o cunosc din codul pe care l-ai postat si sa vad ce face...pana la urma o sa ma prind eu. Multumesc mult.

Edited by Mihai Stefan, 27 September 2007 - 20:37.


#13
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006
http://www.php.net/m...ypes.string.php

iti recomand http://www.php.net/g...m/from/a/mirror pentru o accesare rapida a manualului oficial

Edited by OriginalCopy, 27 September 2007 - 20:47.


#14
Mihai Stefan

Mihai Stefan

    Junior Member

  • Grup: Members
  • Posts: 127
  • Înscris: 17.10.2006

 OriginalCopy, on Sep 27 2007, 21:45, said:

http://www.php.net/m...ypes.string.php

iti recomand http://www.php.net/g...m/from/a/mirror pentru o accesare rapida a manualului oficial
ok. o sa citesc.merci inca o data

#15
MadMax

MadMax

    Pike hunter

  • Grup: Senior Members
  • Posts: 2,361
  • Înscris: 14.05.2003

 OriginalCopy, on Sep 27 2007, 21:18, said:

sa vezi CUM trebuie sa arate in mod corect, altfel nu ai de unde sa inveti
:nonobad:
Iti dau cel putin 5 argumente ca nu e "corect" codul tau...renuntati la absolutizarile astea, ca nimeni nu e perfect.

Anunturi

Chirurgia endoscopică a hipofizei Chirurgia endoscopică a hipofizei

"Standardul de aur" în chirurgia hipofizară îl reprezintă endoscopia transnazală transsfenoidală.

Echipa NeuroHope este antrenată în unul din cele mai mari centre de chirurgie a hipofizei din Europa, Spitalul Foch din Paris, centrul în care a fost introdus pentru prima dată endoscopul în chirurgia transnazală a hipofizei, de către neurochirurgul francez Guiot. Pe lângă tumorile cu origine hipofizară, prin tehnicile endoscopice transnazale pot fi abordate numeroase alte patologii neurochirurgicale.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate