Stránka 1 z 1

Pomoc s php scriptem  Vyřešeno

Napsal: 20 srp 2009 11:53
od Apl
Zdravím, prosím vás potřeboval bych script, ve kterém bych měl toto: formulář, do kterého bych zadal www adresu a název té adresy, to by se mi uložilo do DB nebo nejlépe do souboru, pak bych měl další stránku a tam by se zobrazovala ta adresa jako funkční link, abych takto mohl mít třeba 100 odkazů. Doufám, že jsem to napsal srozumitelně :-)

Předem moc díky za pomoc

Re: Pomoc s php scriptem

Napsal: 20 srp 2009 12:42
od kyklop
fom.php:

Kód: Vybrat vše

<form method="post" style="width:500px" action="modify.php">
  <fieldset>
<legend>Vložení www</legend>
    WWW:<br>
    <input name="www" style="width:200px" value="<?php echo $_POST["www"]?>" /><br>
    Název WWW:<br>
   <input name="nazevwww" style="width:200px" value="<?php echo $_POST["nazevwww"]?>" /><br>
    <input type="Submit" name="odeslat" value=">Odeslat">
   </fieldset>
  </form>


--------------
modify.php:

Kód: Vybrat vše

<?php
  $vysledek=mysql_query("insert into tabulka (www, nazevwww) values (".$_POST["www"]."','".$_POST["nazevwww"]."')", $link); //$link - do této proměnné si nadefinuj svoje připojení k databázi
?>
<a href="seznam.php">Seznam vložených adres</a>


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

seznam.php:

Kód: Vybrat vše

<?php
$dotaz=mysql_query("select * from tabulka order by www asc", $link);  //taháme data z databáze...
?>
<table align="center" width="auto" border="0" cellpadding="1" cellspacing="3">
  <tr>
    <th width="40%">www</th>
    <th>Název</th>
  </tr>
<?php
while ($zaznam=MySQL_Fetch_Array($dotaz)) : //cyklus pro vypsání dat z db dle předešlého dotazu...
?>
<TR>
<TD style="text-transform:uppercase"><?php echo $zaznam["www"]; ?></TD>
<TD align="center"><?php echo $zaznam["nazevwww"] ?></TD>
</TR>
 <?php   
  endwhile;
?>
</TABLE>



Samozřejmě je to bez hlaviček atd. a v prvé řadě je předpoklad, že máš v databázi již vytvořenou tabulku (ve scriptech označenopu jako "tabulka", můžeš jí dát jakékoliv jméno, ale to samo musíš změnit i ve scriptech) o třech sloupcích:
1) sloupec id, typ INT, délka 5, primární, auto_increment (tento sloupec by tam ani být nemusel, ale je vždy lepší pro další práci mít každý řádek označen jedinečným ID)
2) sloupec "www", typ VARCHAR, délka 200
3) sloupec "nazevwww", typ VARCHAR, délka 300

Re: Pomoc s php scriptem

Napsal: 20 srp 2009 13:48
od Apl
Díky za rychlou odpověd, mám problém, připojení jsem nastavil takto $link = 'mysql://user:heslo@server/DB'.
Pořád mi to háže toto Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in C:\Program Files\XAMPP\htdocs\modify.php on line 2

Re: Pomoc s php scriptem

Napsal: 20 srp 2009 13:57
od kyklop
To je špatně, správně to musíš nastavit takto:

Kód: Vybrat vše

<?php
$link=mysql_connect('hostitel', 'uzivatel', 'heslo_do_databaze'); // v případě, že jedeš na localhostu, tak hostitel=localhost
mysql_select_db('jmeno_db');
?>

Re: Pomoc s php scriptem

Napsal: 20 srp 2009 17:39
od Apl
Super, chyby to už nehází, ale problém, ten form mi do db nepřidává to co vyplnim :/ Zkoušel jsem jak na webu tak u mě a vždycky dám odeslat, kliknu na seznam a je prázdný. Ještě jednou díky za pomoc

Re: Pomoc s php scriptem

Napsal: 20 srp 2009 19:06
od kyklop
Takže teď jsem na to koukal na PC a našel několik úprav, takže začneme...
form.php > vše v pořádku, netřeba nic upravovat

modify.php >
je potřeba deklarovat proměnnou $link, jak jsem psal:

Kód: Vybrat vše

$link=mysql_connect('hostitel', 'uživatel', 'heslo'); // v případě, že jedeš na localhostu, tak hostitel=localhost
mysql_select_db('jmenodb');

a následně opravit:
$vysledek=mysql_query("insert into tabulka (www, nazevwww) values ('".$_POST["www"]."','".$_POST["nazevwww"]."')", $link); //$link - do této proměnné si nadefinuj svoje připojení k databázi

důležité tady je ta oprava values ('".$_POST["www"]."', (uvozovky před $_POST["www"]...)
seznam.php >
zde jsem to nepsal, ale i zde je samo potřeba deklarovat proměnnou $link, je to takhle nepohodlné, dá se to zjednosušit, ale pro tento případ to asi stačí, takže:

Kód: Vybrat vše

$link=mysql_connect('hostitel', 'uživatel', 'heslo'); // v případě, že jedeš na localhostu, tak hostitel=localhost
mysql_select_db('jmenodb');


a pod tím již zbytek scriptu beze změn.. teď jsem to zkoušel a vše funguje.

Re: Pomoc s php scriptem

Napsal: 23 srp 2009 16:20
od Apl
Výborně, děkuju moc. Strašně jsi mi tím pomohl :-)

Re: Pomoc s php scriptem

Napsal: 23 srp 2009 17:24
od kyklop
Rad jsem pomohl, ted jeste prosim oznac tema za vyresene a muzes uzamknout ;-)