Recupero dati Database tramite form richiesta

mila11

Nuovo Utente
15 Gen 2011
8
0
0
Buongiorno a tutti, vi serei moto grata se aiutaste una neofita di php come me a uscire dal guaio in cui mi sono cacciata. :incazz2:
Scopo: realizzare una pagina web dove gli utenti compilano un form dal quale parte una ricerca in un db sql di barche che soddisfano i criteri selezionati.
Ora, ho scritto il form e anche il file php a cui il form si riferisce, ma non si carica la pagina con i risultati della ricerca, ovvero quando l'utente clicca su Search, on accade nulla.
Vi posto quello che ho fatto:

DATABASE: Sql403662_1

TABELLA: CHARTER

CAMPI: ID, MODEL, TYPE, LENGHTR, LENGHT, BEDSR, BEDS, LOCATION, BROCHURE

TYPE: Motor Yacht, Sailing Yacht

LENGHTR: >40 mt, 30-40 mt, 20-29 mt, <20 mt

BEDSR: >12 guests, 10-12 guests, 8-9 guests, 6-7 guests, <6 guests

LOCATION: Italy North East Coast, Slovenia, Croatia, Montenegro, Greece



Codice php form:
PHP:
<tbody>
<tr>
<td style="vertical-align: top; color: black;"><?php echo date ('l, F dS Y.');
?><br>
<br>
BOOKING: <br>
<br>
<form action="ric.php" method="post"> </form>
<select name="TypeForm">
<option selected="selected">CHOOSE TYPE: </option>
<option>Sailing Yacht </option>
<option>Motor Yacht </option>
</select>
<br>
<select name="LenghtForm">
<option selected="selected">CHOOSE LENGHT: </option>
<option>&gt;40 mt </option>
<option>30-40 mt </option>
<option>20-30 mt </option>
<option>&lt;20 mt </option>
</select>
<br>
<select name="BedsForm">
<option selected="selected">CHOOSE BEDS: </option>
<option>&gt;12 guests </option>
<option>10-12 guests </option>
<option>8-9 guests </option>
<option>6-7 guests </option>
<option>&lt;6 guests </option>
</select>
<br>
<select name="LocationForm">
<option selected="selected">CHOOSE LOCATION: </option>
<option>Italy North East </option>
<option>Slovenia </option>
<option>Croatia </option>
<option>Montenegro </option>
<option>Greece </option>
</select>
<br>
<br>
<input value="SEARCH" type="submit"> <br>
</td>
<td style="vertical-align: top;"><span style="color: black;"><br>
</span></td>
<td style="vertical-align: top;"><span style="color: black;"><br>
</span></td>
</tr>
</tbody>


e file ric.php:

PHP:
<body>
<br>
<?php include 'db.inc.php'; ?><?php $TypeF=$_POST['TypeForm'];
$LenghtF=$_POST['LenghtForm'];
$BedsF=$_POST['BedsForm'];
$LocationF=$_POST['LocationForm'];
$result = @mysql_query('SELECT MODEL, TYPE, LENGHT, BEDS, LOCATION FROM CHARTER WHERE TYPE=$TypeF and LENGHTR=$LenghtF and BEDSR=$BedsF and LOCATION=$LocationF);
if (!$result){
exit('<p>Error performing query: ' . mysql_error() . '</p>');
}
while ($row = mysql_fetch_array($result)) {
$model = $row['MODEL'];
$type = $row['TYPE'];
$lenght = $row['LENGHT'];
$beds = $row['BEDS'];
$location = $row['LOCATION'];
echo '<p>' . $model, $type, $lenght, $beds, $location . '</p>';
}
?>
<br>
<br>
</body>
 

minatore

Utente Attivo
25 Set 2007
410
0
0

Ciao ti consiglio di non scivere questi dati (DATABASE: Sql403662_1)

hai detto che no accade nulla, ma non ti da un errore?
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
L'errore non è nella pagina PHP che riceve i dati ma in quella che ospita il form. Modificala così:
PHP:
<form action="ric.php" method="post">
	<tbody>
		<tr>
			<td style="vertical-align: top; color: black;"><?php echo date ('l, F dS Y.');  ?>
				<br />
				<br />
				
				BOOKING:
				<br />
				<br />
				
				<select name="TypeForm">
					<option selected="selected">CHOOSE TYPE: </option>
					<option>Sailing Yacht </option>
					<option>Motor Yacht </option>
				</select>
				
				<br />
				
				<select name="LengthForm">
					<option selected="selected">CHOOSE LENGTH: </option>
					<option>&gt;40 mt </option>
					<option>30-40 mt </option>
					<option>20-30 mt </option>
					<option>&lt;20 mt </option>
				</select>
				
				<br />
				
				<select name="BedsForm">
					<option selected="selected">CHOOSE BEDS: </option>
					<option>&gt;12 guests </option>
					<option>10-12 guests </option>
					<option>8-9 guests </option>
					<option>6-7 guests </option>
					<option>&lt;6 guests </option>
				</select>
				
				<br />
				
				<select name="LocationForm">
					<option selected="selected">CHOOSE LOCATION: </option>
					<option>Italy North East </option>
					<option>Slovenia </option>
					<option>Croatia </option>
					<option>Montenegro </option>
					<option>Greece </option>
				</select>
				
				<br />
				<br />
				
				<input value="SEARCH" type="submit">
				<br />
			</td>
			<td style="vertical-align: top;">
				<span style="color: black;">
					<br />
				</span>
			</td>
			<td style="vertical-align: top;">
				<span style="color: black;">
					<br />
				</span>
			</td>
		</tr>
	</tbody>
</form>
E modifica la pagina di ricerca così:
PHP:
<body>
	<br />
	
	<?php
	require 'db.inc.php';
	
	$TypeF = $_POST['TypeForm'];
	$LengthF = $_POST['LengthForm'];
	$BedsF = $_POST['BedsForm'];
	$LocationF = $_POST['LocationForm'];
	
	$sql = "SELECT model, type, length, beds, location FROM charter WHERE ";
	$sql .= "type = '{$TypeF}' AND length = '{$LengthF}' AND beds = '{$BedsF}' AND location = '{$LocationF}'";
	
	$result = mysql_query($sql) or die('<p>Cannot perform the query: ' . mysql_error() . '</p>');
	
	while($row = mysql_fetch_array($result))
	{
		echo "<p>{$row['model']}, {$row['type']}, {$row['length']}, {$row['beds']}, {$row['location']}</p>";
	}
	?>
	
	<br />
	<br />
</body>
Ti informo inoltre che si scrive length e non lenght. Ho modificato lo script PHP di conseguenza, quindi dovrai anche cambiare il nome del campo della tabella.

Inoltre è molto pericoloso accettare i parametri di input e inserirli direttamente nella query SQL, perché ti espone al pericolo delle SQL injection! Ti consiglio di applicare la funzione mysql_real_escape_string a tutte le variabili che contengono l'input dell'utente.
 

mila11

Nuovo Utente
15 Gen 2011
8
0
0
Grazie ragazzi...vi avevo preannunciata che sono impedita... ora prova a mettere a posto e se proprio non ci riesco vi rompo di nuovo!...GGGRRAAAZZZIIIEEE!
:)
 

mila11

Nuovo Utente
15 Gen 2011
8
0
0
...

non ci siamo, ho corretto come hai detto e ho visto dove erano gli errori, ma comunque quando clicco su search sulla pagina, non accade nulla, non da errore ne altro, semplicemente rimane visualizzata quella pagina. Che puo' essere?
Guarda puoi provare, e' la pagina prova:
http://www.intermares-megayacht.com/charter copia.php

...ora ho fatto progressi: mi da una pagina nuova ( il problema stava nel nome della tabella scritta in maiuscolo...), pero' la pagina risultato e' totalmente bianca, senza errori...
...non so piu' cosa provare a modificare...avete qualche idea...ve ne sarei infinitamente grata!
 
Ultima modifica:

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Veramente io riesco ad inviare correttamente il modulo, però restituisce pagina bianca (probabilmente perché non trova nessun record che corrisponde ai criteri di ricerca). Prova a premere CTRL-F5 per aggiornare la pagina svuotando la cache.
 

mila11

Nuovo Utente
15 Gen 2011
8
0
0
Veramente io riesco ad inviare correttamente il modulo, però restituisce pagina bianca (probabilmente perché non trova nessun record che corrisponde ai criteri di ricerca). Prova a premere CTRL-F5 per aggiornare la pagina svuotando la cache.

Allora, sono arrivata anch'io al punto che mi da pagina bianca. I record nel db sono 4 e in realta se metto motor yacht, length 30-40, beds 8, croatia, dovrebbero soddisfare 2.

...scusa la domanda ignorante...non e' che dovrei formattare in qualche modo la pagina...tipo dicendo di scrivere nero su sfondo bianco o altro...?...:confused:...domanda idiota, ma non mi viene in mente altro!
 

mila11

Nuovo Utente
15 Gen 2011
8
0
0
ragazzi anche grazie al vostro aiuto ho risolto! :) GRAZIE! :love:

ora ho un altro problema ma lo posto in una nuova discussione.
 

mila11

Nuovo Utente
15 Gen 2011
8
0
0
Soluzione problema

Certo Ale, ci mancherebbe:

FILE PRINCIPALE:
PHP:
<?php echo date ('l, F dS Y.'); ?><br>
<span style="color: black;">
<select name="TypeForm">
<option selected="selected">CHOOSE TYPE: </option>
<option>Motor Yacht </option>
<option>Sailing Yacht </option>
</select>
<br>
<select name="LengthForm">
<option selected="selected">CHOOSE LENGTH: </option>
<option>&gt;40 mt </option>
<option>30-39 mt </option>
<option>20-29 mt </option>
<option>&lt;20 mt </option>
</select>
<br>
<select name="BedsForm">
<option selected="selected">CHOOSE BEDS: </option>
<option>&gt;12 guests </option>
<option>10-12 guests </option>
<option>8-9 guests </option>
<option>6-7 guests </option>
<option>&lt;6 guests </option>
</select>
<br>
<select name="LocationForm">
<option selected="selected">CHOOSE LOCATION: </option>
<option>Italy North East </option>
<option>Slovenia </option>
<option>Croatia </option>
<option>Montenegro </option>
<option>Greece </option>
</select>
<br>
<br>
<input value="SEARCH" type="submit"> <br>
<span style="color: black;"> <br>
<form action="ric.php" method="post"></form>

FILE RIC.PHP:

PHP:
<?php require 'db.inc.php';

$TypeF = $_POST['TypeForm'];
$LengthF = $_POST['LengthForm'];
$BedsF = $_POST['BedsForm'];
$LocationF = $_POST['LocationForm'];


$sql = "SELECT MODEL, PHOTO, TYPE, YEAR, LENGTH, BEDS, LOCATION, PRICES FROM CHARTER WHERE ";
$sql .= "TYPE = '{$TypeF}' AND LENGTHR = '{$LengthF}' AND BEDSR = '{$BedsF}' AND LOCATION = '{$LocationF}'";

$result = mysql_query($sql) or die('<p>Cannot perform the query: ' . mysql_error() . '</p>');

echo "<table border='1'>
<tr>
<th>MODEL</th>
<th>PHOTO</th>
<th>TYPE</th>
<th>YEAR</th>
<th>LENGTH</th>
<th>BEDS</th>
<th>LOCATION</th>
<th>PRICE</th>
<th>BROCHURE</th>
</tr>";

while($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['MODEL'] . "</td>";
echo "<td>" . $row['PHOTO'] . "</td>";
echo "<td>" . $row['TYPE'] . "</td>";
echo "<td>" . $row['YEAR'] . "</td>";
echo "<td>" . $row['LENGTH'] . "</td>";
echo "<td>" . $row['BEDS'] . "</td>";
echo "<td>" . $row['LOCATION'] . "</td>";
echo "<td>" . $row['PRICES'] . "</td>";
echo "<td>" . $row['BROCHURE'] . "</td>";
echo "</tr>";
}
echo "</table>";
?>
 
Ultima modifica di un moderatore:
Discussioni simili
Autore Titolo Forum Risposte Data
E Recupero dati da database PHP 8
T recupero dati da database ASP.NET 6
W Problema recupero dati database Javascript 2
S problema con recupero dati tabella mysql PHP 2
D Recupero dati da HDD esterno Hardware 0
L Recupero dati da SSD Windows 10 prof Windows e Software 3
Sergio Unia Recupero dati da una vecchia versione MySql [Risolto] MySQL 4
L Problema con recupero dati in PHP cURL e JAVA con server PHP 1
S [PHP] Recupero più dati da form realizzata ciclo FOR PHP 5
P [PHP] Recupero dati da un array PHP 5
F Recupero dati json Ajax 2
I tabella con ciclo, recupero dati PHP 3
Emix Problema recupero Dati da MYSQL PHP 20
L Recupero dati da tutte le tabelle nel db MySQL 4
Alessio Gebbia [PHP] Recupero dati da un WHILE ! PHP 3
M recupero dati... PHP 1
P Recupero dati per select form PHP 9
L Recupero dati form in tabella e invio con ajax. Problemino jQuery 1
felino HDD 2.5'' caduto a terra: possibile recupero dei dati al suo interno Hardware 8
Emix Recupero dati da una tabella e spostarli in un altra PHP 11
C Recupero dati da pagina esterna PHP 5
M recupero dati da db PHP 6
T Problema con form e recupero dati da mysql PHP 17
F errori sul recupero dati mysql e php PHP 3
minatore Recupero dati PHP 47
minatore Recupero dati MySQL 10
T Problema recupero dati da file [era: help script php] PHP 9
Vale2 Recove my files ™ Recupero dati Windows e Software 1
Vale2 Software per Recupero dati Windows e Software 0
D relazioni 1:n e recupero dati da form PHP 2
R Recupero dati hd esterno Windows e Software 3
O recupero dati da pagina web PHP 1
B aiuto con ajax (recupero dati da un db) Javascript 2
M Recupero dati da pagina php PHP 2
I Recupero particolari dati PHP 32
T recupero dati ASP.NET 0
C recupero dati dal form Javascript 1
C Anomalia Cartteri & recupero dati!!!!! Supporto Mr.Webmaster 0
R Recupero di permalink di un sito che è stato eliminato per errore WordPress 5
T Recupero valori tramite $_GET PHP 4
O Recupero valori da listato Javascript 0
T foreach e fetchAll dove recupero solo l'ultimo record PHP 5
T recupero valori select multipla da android Javascript 3
W Recupero password Classic ASP 16
S [PHP] Recupero nome immagine da Form con input file PHP 3
bubino8 [PHP] Recupero id autoincrement PHP 8
I Recupero accesso pannello di controllo dominio Leggi, Normative e Fisco 2
S [PHP] form con metodo get e recupero id PHP 4
Emix [PHP] Check - Select e recupero variabili PHP 40
bubino8 [PHP] Recupero input senza invio PHP 1

Discussioni simili